DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

ムームーメールがpythonから送信できなくなった? ポートの仕様変更があったようです。

昨日、いつものようにWebサーバーからメールを送信しようとしたところ、プログラムがエラーを吐いて送信できませんでした。

 

調べてみるとムームーメールのメンテナンス情報に

muumuu-domain.com

この一文が!!

メールシステムの設定から送信メール(SMTP)のポートをご確認ください。
25番ポートが設定されている場合は、以下の設定内容へご変更ください。

・ポート:465(SMTP over SSL/TLS)

 

Oh!!

25番ポートが2021年11月から順次使えなくなりますとのことです。

Djangoの設定ではSSLポートを設定していたので問題無かったのですが、pythonから送信していたメールが送れなくなっていました...orz

dreamerdream.hateblo.jp

 

ということで備忘録です。

smtplibライブラリを使って

今まで

smtp = smtplib.SMTP('smtp.muumuu-mail.com') 

としていたところを、

smtp = smtplib.SMTP_SSL( 'smtp.muumuu-mail.com' ,port=465 ) 

のように書き換えます。これだけです。

 

SSL通信をするのでSMTP_SSLを読み出すのですね。

これで安全にメール送信をすることが出来ます。

f:id:DreamerDream:20211129233805p:plain

逆に今までなんでしなかったんだろう・・・

GIMPでペンタブレットを使おうとしたらハマった件について。「インクで描画」を選択しましょう

PhotoshopからGIMPに乗り換えてペンタブレットを使おうとしたら使えなかったので色々と調べてみました。

 

環境

・ペンタブレットCTH-490

・MacOS BigSur

 

まずはこちらのブログ記事を参考にGIMPの設定をしました。

<GIMPでのペンタブレットの設定>

GIMPでペンタブ(Intuos)って使えるの?実際に試してみた

 

 

f:id:DreamerDream:20210926170742p:plain

入力デバイスの設定でブラシを「スクリーン」にする。

ということです。

 

f:id:DreamerDream:20210926170825p:plain

これだけでスムーズに描けると思っていたのですが・・・

全く線の太さが反映されず、ドライバの再インストールやら再起動やら色々試したのですが、結局はGIMPで使うツールの問題だということが判明しました(なんじゃそりゃ)

 

Photoshopであればブラシツールでペンタブの筆圧に応じた線の太さが反映されるところですが、GIMPの場合、「インクで描画」を選択しないと反映されないようです。

f:id:DreamerDream:20210926170849p:plain

こんなことに数時間も悩んでいました・・・

 

あとは「手ブレ補正」にチェックを入れるとスムーズな線を描くことが可能になるようです。

f:id:DreamerDream:20210926171114p:plain

 

色々なパラメーターがあり、Photoshopとは色々と使い勝手が違うもののパッと触った感触ではなかなか使えそうです。

これがフリーソフトだというのですから驚きです。

 

 

MacBook 12インチ(MF855J/A)のバッテリーを自分で交換してみた 想像以上に面倒臭かった備忘録

超コンパクトタイプのMacBook 12インチ(2015年モデル)のバッテリー交換をしました。

 

交換前に手順を予習しました。

自分でMacBook 12″のバッテリーを新品に交換した全手順を大公開します。A1534。 | スラニュー

分解するには実に面倒くさそうな構造です。

 

とはいえ、MacBookのバッテリーは過去に何度も交換しているので「まあ大丈夫でしょう」と思っていましたが、このMacBookはなかなかの曲者で今までの中では一番苦労しました。

 

<過去の交換>

2007年式のMacBook

dreamerdream.hateblo.jp

こちらはそもそも交換することを前提になった作りですからバッテリー交換にネジを外す必要が全くありません。レバーを持ち上げて外すだけです。

 

2014年式のMacBook Air

dreamerdream.hateblo.jp

こちらは少し面倒で、特殊ネジを外して交換する必要がありました。

だけど裏蓋とバッテリーのネジだけですので特に困ることはありませんでした。

 

 

ということで、意気揚々とAmazonでバッテリーの注文をしました。

今回注文したものがこちら↓

 

特殊ネジ回し付きの商品です。

 

MacBookの型番「MF855J/A」に付いているバッテリーは「A1534」というバッテリーで、互換品として

A1527、A1705、661-02267

という型番があるようです。

今回のものはA1527です。

 

このような段ボール箱で届きました。

f:id:DreamerDream:20210921085136p:plain

 

きちんとパッケージされています。

バッテリーセル同士は固い金属の配線で繋がっているようです。

f:id:DreamerDream:20210921085244p:plain

 

リチウムイオンバッテリーを長持ちさせる方法というガイドライン付き。

f:id:DreamerDream:20210921085226p:plain

 

しかし、MacBookがこんなに薄いのにこの中に入るバッテリーって・・・

f:id:DreamerDream:20210921085310p:plain

 

交換する際に必要な工具は付属している特殊ネジ回しの他に、プラスチックへら、マスキングテープ、あと竹串が何かと重宝しました。(バッテリー端子やICなどに触ると大変なので金属厳禁です)

両面テープを剥がすのにヒートガンや無水エタノールなどもあると良さそうです。

f:id:DreamerDream:20210921085329p:plain

 

裏蓋の8箇所のネジを外すのですが、小さなネジはこんなにも小さいので紛失注意です。

f:id:DreamerDream:20210921090404p:plain

 

僕は外したネジをネジ穴近くにテープで止めていましたが、結論から言うと今回の場合この方法はあまり良くありませんでした。他のネジ置き場所を確保しておきましょう。

ネジを外してヘラを入れていくと、下写真あたりで引っ掛かり感が出ます。そのままゆっくり力を入れていくとパキッと止めが外れます。

f:id:DreamerDream:20210921085346p:plain

 

開いた状態がこちら、前側から開かないと後ろはケーブルが沢山通っています。

この状態で上側にバッテリーは張り付いています。

f:id:DreamerDream:20210921085411p:plain

 

バッテリーが下になるようひっくり返してトラックパッド辺りに付いているフラットケーブルを外します。

端子はシールを剥がすと見えてきます。

写真矢印の部分を上に持ち上げるとフラットケーブルが抜けるようになります。但し、保護テープの影響なのか、少し粘着力があるようで千切らないように慎重に。

f:id:DreamerDream:20210921094548p:plain

フラットケーブルの生えている方向に慎重に抜けばすんなりと抜けてくれます。

f:id:DreamerDream:20210921085527p:plain

 

上記で記した参考にしたブログではこの後も色々なケーブルを外して底とキーボードの面を完全に分離していましたが、後ろから何かしらで支えてやればケーブルを外さずとも作業は出来そうでしたので僕はこの状態のままバッテリー交換をすることにしました。

f:id:DreamerDream:20210921085549p:plain

 

メインボードをネジ3箇所(矢印の部分)外します。

基板を持ち上げ、バッテリーからの給電を経ちます。

f:id:DreamerDream:20210921085924p:plain

 

バッテリー側にマスキングテープを貼りました。

これで万が一何かが接触しても大丈夫なはずです。

f:id:DreamerDream:20210921090220p:plain

 

バッテリーの下にヘラを挿してグリグリねじ込みます。

バッテリーが薄いのでどうしても曲がってしまうのが怖いです。

f:id:DreamerDream:20210921090231p:plain

リチウムイオンバッテリーは損傷すると爆発、発火する可能性もあるので出来るだけ曲げないように慎重にしないといけません。

万が一発火しても大丈夫な場所で交換作業をするべきだったとリビングで分解したことを少し後悔しました。

dreamerdream.hateblo.jp

 

全部剥がしてバッテリーを抜くと一安心です。

f:id:DreamerDream:20210921090254p:plain

 

さて、ここからが正念場です。

残ったテープを頑張って剥がします。

f:id:DreamerDream:20210921090308p:plain

 

無水エタノール、爪、竹串、色々なんやかんや頑張って剥がし続けること1時間・・・もうヤだ、正直しんどい。次の日親指と爪が痛くなりました。

次、人に頼まれてやるとしたらこの作業だけは自分でやってくれ!と言います。

f:id:DreamerDream:20210921090317p:plain

 

新しいバッテリーを仮置きしてみました。(竹串で端子を浮かせています。)

f:id:DreamerDream:20210921090327p:plain

このまま両面テープでペタっと止めたいところですが、この状態だと両面テープが剥がせません。

f:id:DreamerDream:20210921090343p:plain

 

ですので一度剥がして、少しシールをずらして貼っておきます。

位置が決まれば隙間からシールを剥がして貼り付けます。

f:id:DreamerDream:20210921090353p:plain

 

換装完了です。

f:id:DreamerDream:20210921090431p:plain

 

あとは元通り組み立てて完了です。
1時間もあれば出来るだろうと始めたのですが、完了まで2時間弱ぐらいかかりました。今回の作業ではテープを剥がすのが一番しんどかったです。

 

やはり充放電回数1回は気持ちいいですね。苦労が報われた瞬間です。

これからもバリバリ現役で働いてもらいます。

f:id:DreamerDream:20210921131232p:plain

 

 

 

 

Conohaの512MBプランで保存したイメージを1GBプランで復元して実質のプランアップ 復元出来るのは今だけ???

僕が契約しているVPSはCentOS7とCentOS8があります。

 

共にConohaの最安512MBプラン。

dreamerdream.hateblo.jp

 

元々目的が別でしたので使い分けていましたが、1つは目的を達して現在は単に2つVPSがあるという状態になっていました。これではアップデートの度にややこしい!

と思いながらも面倒なので放置すること約1年。。 

 

<過去のアップデート備忘録>

dreamerdream.hateblo.jp

dreamerdream.hateblo.jp

 

今回は重い腰を上げ、旧CentOS7のVPSを削除、サービスは新CentOS8に引き継いで統合することにしました。そのついでに、サーバーも1GBプランに変更することにしました。

(512MBプランは自動バックアップが出来ないことやプランアップが出来ないなどいろいろと制限が多いですが、1GBプラン以上はサービスをフルで使えます。)

 

しかし問題は、512MBプランはそのままではプランアップは出来ない仕様です。

support.conoha.jp

 

一度ディスクイメージとして保存しておいて、イメージからディスクを復元すると実質のプランアップとなるわけですが・・・↓

support.conoha.jp

ここに

「メモリ512MBプランで取得したイメージでメモリ1GB以上のプランを構築することもできません。」

と明記されています。

 

えーと・・・いつからだろ、僕が512MBを契約した時には確かに512MBのイメージをそのまま1GBで使えるというブログ記事を見てこのプランを決めた記憶があるのですが・・・、いつの間にか仕様変更になったのか、或いは元々出来ないはずなのに出来てしまっていたのか。。。

 

これは新規でOSインストールしてシステム再構築するというとても面倒な作業になりそうだぞと気合いを入れてプランアップ作業に挑んだわけですが・・・↓

f:id:DreamerDream:20210807101716p:plain

ん?????

 

ダメモトで512MBプランのイメージで再構築してみたら、そのまま1GBプランに引き継げました。

 

ということで、2021/8/7現時点では512MBプランのイメージを1GBプランに復元することは可能でした。

 

しかし今後、明記されている通りに引き継げなく可能性もありますので「512MBプランでいっか」と安易に構築してしまうと将来的に困ることになるかもしれません。

 

あと、こちらの記事にいろいろとConohaの仕様が書かれていまが、

qiita.com

 

中でも衝撃的なのが

バックアップ復元すると、rootログインが許可されてしまう。

というものです。

これは知らなかったです。そういえば過去にセキュリティーを見直した時にrootログイン可能になっていて「あれ?rootログイン禁止にするの忘れてたかな?」ということがありましたがおそらくコレが原因です。

 

これは、もしOSを過去のイメージで復元してユーザーのパスワードをど忘れしてしまってもrootでなんとかログインは出来ますよー!という親切設計なのでしょうか?謎

 

ともあれ今回はスケールアップには成功しましたので512MBプランイメージから1GBプランへ復元出来ました!と備忘録を残しておきます。

 

↓詳細ページ(申し込んでいた爆安プラン)

【512MBプラン】なんと月額630円/1時間1円【ConoHa VPS】

 

 

炎天下の車内で実際にゆで卵は出来るのか? 夏休みの自由研究にいかがでしょうか?

あまりにも暑い近年の夏、炎天下に放置している車内の暑さに「車の中でゆで卵ができるんちゃうか?」こんな会話をしている方も少なからずありますね。

 

ということで、実際にゆで卵が出来るのか?

実験することにしました。

 

ダッシュボードが一番熱くなると思うので卵を並べて放置します。

f:id:DreamerDream:20210804132127p:plain

割れて汚れたら嫌なので念のためラップでくるっと巻いています。

 

本日2021年8月4日は熱中症の危険レベルはこんな感じです。

f:id:DreamerDream:20210804132425p:plain

 

今回の実験は車内放置開始が8時半ごろ〜回収が11時半ごろですので、約3時間での検証です。

※エアコン効かせて走った直後ですので実験開始時はダッシュボードはそれほど熱くありません。

 

では実験結果です↓

 

じゃじゃーんっ!

f:id:DreamerDream:20210804132141p:plain

黄身がしっかり目のイイ感じのオレンジ色

白身はどろっと半生

 

完全に温泉卵やー!!

f:id:DreamerDream:20210804132152p:plain

 

この状態であと数時間放置していたら完全なゆで卵になるのかしら?

f:id:DreamerDream:20210804132202p:plain

炎天下の車内、おそろしや・・・

 

ダッシュボードだから特に熱いわけですが、それでもこんな車内にもし生き物を置き忘れてしまったとしたら・・・と考えると恐ろしいです。

車から離れる際には持ち物チェックを怠らないようにしましょう!

 

天気とゆで卵の仕上がりを比較して夏休みの自由研究とするのも面白いかもしれません。

注意:ほぼ生な仕上がりのものは食中毒に注意して食べないようにしましょう。

 

※今回実験した卵はスタッフが責任をもってお昼ご飯にいただきました。

 

電子工作で基板の配線をうっかり断線させてしまわないためにする3つの工夫 この一手間で工作がしやすくなります

電子工作をしていると基板に付けた配線を弄ったり本体に組み込んでいるうちに配線を切断してしまうことって必ず経験しますよね。

 

何度も仮組みやテストをしているといつのまにか配線が金属疲労を起こして切れてしまいます。特に基板の根元から切れてしまうという事が多いです。

 

そこで、今回僕が電子工作で工夫をしている断線対策を一部ご紹介します。

 

例として、現在工作中のラズベリーパイのGPIOから配線を引っ張り出す基板を上げます。

f:id:DreamerDream:20210725155837p:plain

 

その① 纏める

線の種類を分けて抵抗等の余ったメッキ線を使って基板の端に纏めています。

f:id:DreamerDream:20210725162152p:plain

こうすることで配線を弄ってもハンダ付けした部分に直接付加がかからなくなり、少し引っ張ったぐらいでは線が切れにくくなります。

 

その② 貫通させる

細い線は、特に切れやすいのであえて一度穴を被膜ごと貫通させています。

f:id:DreamerDream:20210725162216p:plain

これだけで半田部分に直接負荷がかかりにくいので切れにくくなります。さらに裏側から色が解るので多色ある場合は上の説明のように配線を一カ所に纏めてしまっても後から簡単にどの線か判別することが出来ます。

 

その③ 間を空ける

基板に余裕がある場合は少しずつ分けて数えやすくしています。

f:id:DreamerDream:20210725162128p:plain

写真では20列ある線を5列ずつ分けています。

沢山ピンが並ぶと配線ミスも起こりやすくなります。

断線と直接関係ありませんが、余裕を持たせることで断線した場合にウッカリ間違った場所に取り付けてしまうことを防ぎます。

 

 

以上3選でした。

基板に余裕がある場合はこのように一工夫をすることで面倒な断線を未然に防いだり再接続しやすくする事ができます。

 

 

 

pigpiodがsystemdサービスで自動起動しない /etc/rc.localに登録して自動起動させる

サーボモーターを使う為に、少し精度の高いPWM波を出力すべく「pigpio」というライブラリを用いたプログラムを書いているのですが、プログラムを実行する前に

sudo pigpiod

と一度だけターミナルでコマンドを叩いてやる必要があるらしく、常駐させるべくsystemdを弄っていましたが、うまく起動してくれません。

 

systemctl enable pigpiod

までは受け付けるものの、再起動してプログラムを実行するとエラーが出てしまいます。

エラー

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Can't connect to pigpio at localhost(8888)

Did you start the pigpio daemon? E.g. sudo pigpiod

Did you specify the correct Pi host/port in the environment
variables PIGPIO_ADDR/PIGPIO_PORT?
E.g. export PIGPIO_ADDR=soft, export PIGPIO_PORT=8888

Did you specify the correct Pi host/port in the
pigpio.pi() function? E.g. pigpio.pi('soft', 8888)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

なぜだーorz

 

とりあえず 

sudo pigpiod

と叩いてくれということだそうです。

 

原因は・・・RPi.GPIOと競合なのか、あるいは個体差なのか・・・、

結局調べてもよくわかりませんでしたので起動時にpigpiodコマンドを実行することにしました。

方法は簡単

/etc/rc.local

pigpiodと記述するだけです。

 

rc.localの最終に「exit 0」とあるので、その前にでも書きましょう。

pigpiod

 

exit 0

ここで実行されるコマンドはroot権限で実行されるのでsudoは不要です。 

f:id:DreamerDream:20210713142357p:plain

 

これで狙い通りプログラムが実行されるようになりました。

 

pigpioは、RPi.GPIOとWringPiの良いとこ取りをしたようなライブラリです。

僕は昔ながらのRPi.GPIOで慣れているのでPWMの精度の必要な部分だけこれを利用するという使い方をしています。(だからエラーが出たのかもしれません)

<参考>

Raspberry PiのGPIO制御の決定版 pigpio を試す - karaage. [からあげ]

 

※WringPiは昔に赤外線リモコンを作った時に使ったことがあります。

dreamerdream.hateblo.jp

 

 

<参考 プログラムを自動起動させる方法>

Raspberry Piでプログラムを自動起動する5種類の方法を比較・解説 - Qiita

こちらの記事とても参考になります。

 

kampa.me