「esp_core_dump_flash: No core dump partition found!」というエラーが起動時に表示されてしまう問題の解決方法.

Pocket

 

Freenove ESP32-S3-WROOM CAM ボード
Freenove ESP32-S3-WROOM CAM ボード (Arduino IDE 互換)、オンボード カメラ ワイヤレス、Python C コード、詳細なチュートリアル、サンプル プロジェクト | Freenove | ベアボーンPC 通販 https://www.amazon.co.jp/dp/B0BMQ8F7FN/ref=as_li_ss_shr?&linkCode=shr&tag=amazonoike-22



Freenove の「ESP32-S3-WROOM CAM ボード」を購入した.
「ESP32-WROVER CAMボード」のほうが少しだけ安いのだけど,こっちは microSDカードスロットがないとの噂があるので,実際のところはどうなのかはわからないけれど,ESP32-S3 のほうにした.
ちょっと思うところあって,SDカード読み書きを勉強というか,自分の理解を再確認したい.

 

チュートリアルにあるサンプルコードの「Sketch_17.1_CameraWebServer」が立派な Webアプリになっていて,これを書き込むだけでブラウザ越しに使える UI のあるワイヤレス Webカメラとして使える.
単なるワイヤレスカメラとして使うのだったら,私がやることはほとんどないわー.
とりあえず,Wi-Fi の接続を定期的にチェックして,接続が切れていたら自動的に再接続するコードを足しておしまい.
ほかにもいろいろと勉強(再確認)するんだー.

 

起動時に


E (nnn) esp_core_dump_flash: No core dump partition found!

というエラーが出てしまうのを解決するのに少し手こずったので,未来の自分のためにメモ書きしておきます.
これは,[Tools] -> [Partition Scheme] の設定をどうこうしても消えない.
要は,エラーメッセージのとおりで,core dump するためのパーティションを作れば解決します.

パーティションの設定は簡単で,Sketch_17.1_CameraWebServer に入っている partitions.csv を次のように書き換えればよいです.

 

書き換え前:

# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x3d0000,
fr, data, , 0x3e0000, 0x20000,

 

書き換え後:

# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x3d0000,
# fr, data, , 0x3e0000, 0x20000,
fr, data, , 0x3e0000, 0x1ff00,
coredump, data, coredump, 0x3fff00, 0x100,

coredumpパーティションのサイズに合わせて,直前の frパーティションのサイズを縮めるのが肝です.

partitions.csv を書き換えたら,スケッチのコンパイル & 書き込みをすれば,次回の起動時から「core dump 用のパーティションがない」というエラーは表示されなくなります.

 

この問題の解決には,次の URL の情報が大変役立ちました.ありがとうございました.

「M5stack core3でのカメラ操作 #PlatformIO – Qiita」
https://qiita.com/yutaka_m/items/0ae5cfe342c59db28338

「ESP32-CAM esp_core_dump_flash – Using Arduino / Microcontrollers – Arduino Forum」
https://forum.arduino.cc/t/esp32-cam-esp-core-dump-flash/1074812/54?page=3

 

 

 

 

==

 

Pocket

TP-Link のスマートプラグ「Tapo P105」も,初期設定さえ済ませておけば,外部ネットワークのサービスを使わずにローカルネットワーク用の制御ツールで On/Off 制御できました.

Pocket

 


 

 

TP-Link のスマートプラグ「Tapo P105」を購入しました.
初期設定さえ済ませておけば,これも HS105 と同様に,外部ネットワークのサービスを使わずにローカルネットワーク用の制御ツールで On/Off 制御できました.
ただ,制御ツールが実行時に外部ネットワークサービス用 TP-Link ID のアカウントとパスワードを必要としているので,もしかしたら,外部ネットワーク接続は完全には不要になっていないのかもしれません.このあたりは,私は調べていません.

初期設定を行うときに,HS105用の Kesa アプリと違い,Tapo P105用の Tapo アプリは TP-Link ID でのログインが必須でしたので,購入直後のまっさらな状態から外部ネットワーク接続をまったくせずに On/Off 制御するのは無理のように思いました.
おそらくは,セキュリティ対策の一環なのだろうと想像しています.

 

HS105 のときと違い,Tapo P105 をローカルネットワーク用の制御ツールで On/Off 制御できるようになるまで少し手こずったので,未来の自分のためにメモを書き置いておきます.

肝は,

o TP-Link ID のパスワードの長さを 8文字以内にしないと制御できない

o 本家の制御ツール PyP100 だと動作不安定なので,それを fork して改良された PyP100 を使う

です.これらさえ押さえておけば,ここから下の文章は読む必要はありません.ここから下の文章は,試行錯誤のメモ,事の経緯,です.

 

それと,PyP100 を利用した Tapo P105 の現在の On/Off 状態の取得は,

stat = p105.getDeviceInfo()
on_off = json.loads(stat)['result']['device_on']

とし,on_off が True なら On,False なら Off という方法で行えるようです.
これは PyP100 のドキュメントに書かれていないのですが,たぶん間違っていないでしょう.
実際に実行して確認した範囲では,正しく取得できました.

 

「Error code 1501: Passwords must not exceed 8 characters · Issue #4 · fishbigger/TapoP100」
https://github.com/fishbigger/TapoP100/issues/4

 

本家の制御ツール PyP100:
「fishbigger/TapoP100: A module for controlling the TP-Link Tapo P100 Plugs」
https://github.com/fishbigger/TapoP100

 

fork して改良された PyP100:
「2729-gumi/TapoP100: A module for controlling the TP-Link Tapo P100 Plugs」
https://github.com/2729-gumi/TapoP100

 

 

 

0.
自分のところで動作実績のある HS105 を購入しようと思っていたのですが,この製品はもう「生産完了」状態なので購入できません.なんてこったー.
TP-Link の Webサイトを見ると Tapo P105 しか載っていないので,以前は購入を避けたこれを買うしかありません.なんてこったー.
探せばまだ HS105 を販売しているところはありますが,生産完了品を探し求めて使うよりは,現行製品を試行錯誤して使えるようになったほうがよさそうです.

なお,負荷耐圧は,

HS105 は 14A
https://www.tp-link.com/jp/home-networking/smart-plug/hs105/#specifications

Tapo P105 は 10A
https://www.tp-link.com/jp/home-networking/smart-plug/tapo-p105/#specifications

でした.4A も小さくなっているけれど,大丈夫かなぁ… .まぁ,大丈夫でしょう.

 

1.
TP-Link が提供している HS105 用のアプリ「Kesa」では Tapo P105 は認識されませんでした.
アプリからデバイスを探しに行っても,「何も見つからない」という結果でした.

 

2.
初期設定をしないと何もできないので,TP-Link が提供している Tapo P105 用のアプリ「Tapo」を使って初期設定をします.私は Android 用のアプリを使いました.

Kesa と違って,TP-Link ID によるログイン(または TP-Link ID 作成)はスキップできず,必須でした.

TP-Link ID 作成のとき,パスワードとして 8文字を超える長さのパスワードを設定することもできますが,それをしてしまうと,後述する制御ツールからはなぜか制御できなくなるので,8文字以内に抑える必要があります.
ID 作成時に 8文字を超える長さに設定してしまったときは,あとから 8文字以下に変更しても大丈夫です.パスワードの変更は Tapoアプリ経由でできます.

「Error code 1501: Passwords must not exceed 8 characters · Issue #4 · fishbigger/TapoP100」
https://github.com/fishbigger/TapoP100/issues/4

なお,Tapo アプリから On/Off 制御するときは,8文字を超える長さのパスワードに設定していても問題なく制御できました.

 

3.
HS105 を制御できたツールでは,Tapo P105 は制御できませんでした.
エラーコードが返ってくるだけです.

 

4.
Tapo P105 を制御するツールとしては,PyP100 が有名で定番のようですので,これを使います.

PyP100 を使うときは,TP-Link ID のパスワードの長さを 8文字以内にする必要があります.
8文字を超える長さのパスワードを設定してあると,login() にほぼ間違いなく失敗します.

TP-Link ID 作成時に 8文字を超える長さに設定してしまったときは,あとから 8文字以下に変更しても大丈夫です.パスワードの変更は Tapoアプリ経由でできます.

この制限が何に起因する制限なのかは,私には読み取れませんでした.

 

「fishbigger/TapoP100: A module for controlling the TP-Link Tapo P100 Plugs」
https://github.com/fishbigger/TapoP100

 

「Error code 1501: Passwords must not exceed 8 characters · Issue #4 · fishbigger/TapoP100」
https://github.com/fishbigger/TapoP100/issues/4

 

5.
本家の制御ツール PyP100 だと,制御できるときもあるのですが,大部分は Exception が発生してしまって制御できないまま終了してしまいます.かなり動作不安定です.
Exception を catch してリトライすることも考えましたが,それよりも,本家 PyP100 を fork して Tapo P105 用に改良された PyP100 を使うほうがよさそうです.
実際に試してみると,こちらのほうは安定的に制御できました.

本家と fork との違いは,login() に成功したあとに

p105.getMacAddress() # Get MacAddress and Set terminalUUID

getMacAddress() を実行していることですね.
ソースコードを見ると, PyP100.P100() で作成したオブジェクトの terminalUUID 属性に,取得した MACアドレスを設定しています.コメントに書かれているとおりです.
この情報が,turnOn(), turnOff() を安定的に実行するために必要な情報のようです.

 

余談.

PyP100 を利用した Tapo P105 の現在の On/Off 状態の取得は,

stat = p105.getDeviceInfo()
on_off = json.loads(stat)['result']['device_on']

とし,on_off が True なら On,False なら Off という方法で行えるようです.
これは PyP100 のドキュメントに書かれていないのですが,たぶん間違っていないでしょう.
実際に実行して確認した範囲では,正しく取得できました.

 

 

 

 

ということで,Tapo P105 もローカルネットワーク用の制御ツールで On/Off 制御できました.
動作レスポンスも,割とよいです.HS105 と比べても遜色ありません.
Wi-Fi 電波の受信感度も,ルーター再起動後の自動再接続も良好です.

On/Off 制御できるようになったので,ASUS ROG Zephyrus の ACアダプタ On/Off 制御に使うんだー.
この ACアダプタは 240W も消費電力があるので,普段は消費電力の小さい Thunderbolt 給電にして ACアダプタは切っておきたい.
当面は手動で制御ツールを動かして On/Off するけれど,バッテリーの充電容量を監視して自動的に On/Off できるようにしたいなぁ.

 

 

 

==

 

2021年1月21日
リレーシールドの端子台を焦げ溶かしてしまったので,その代わりに TP-Link HS105 を使うことにしました.いまのところ,焦げ溶けるような気配はありません.問題なく稼働していて,しかも快適です!
https://noike.info/wp/knoike/2021/01/21/83729/

 

2020年12月15日
セラミックヒーターの電源も,ネットワーク越しに On/Off 制御できるようにしました.こたつ,扇風機,セラミックヒーターの電源を数分おきに On/Off し続けていますが,いまのところ,問題なく稼働しています.
https://noike.info/wp/knoike/2020/12/15/83551/

 

2020年4月5日
XPort を利用した「家電の電源のネットワーク越し操作環境」をうっかり壊してしまったので,IoT Express MkII とリレーシールドを使って作り直しました.1週間くらい稼働させていますが,とりあえず,問題なく動いています.
https://noike.info/wp/knoike/2020/04/05/82727/

 

2019年4月24日
「家電の電源のネットワーク越し操作環境」を復活させるときに,ネットワークの有線ポートが足りなかったので 1000BASE-T のスイッチングハブを購入した.いまの時代は,5ポートなら 1500円~2000円くらいで買えてしまうのですね.
https://noike.info/wp/knoike/2019/04/24/81549/

 

2019年4月23日
XPort を利用した「家電の電源のネットワーク越し操作環境」を復活させた.いま操作できるのは,「扇風機」と「こたつ」.
https://noike.info/wp/knoike/2019/04/23/81531/

 

2009年11月10日
ごもっともです.
http://knoike.seesaa.net/article/152841511.html

 

2008年08月11日
家電の電源をネットワーク越しに操作できるようにした(主なソース・コード)
http://knoike.seesaa.net/article/152835041.html

 

2008年08月11日
ColdFire で,これをやるとしたら
http://knoike.seesaa.net/article/152835043.html

 

2008年08月11日
家電の電源をネットワーク越しに操作できるようにした
http://knoike.seesaa.net/article/152835044.html

 

 

 

Pocket

リレーシールドの端子台を焦げ溶かしてしまったので,その代わりに TP-Link HS105 を使うことにしました.いまのところ,焦げ溶けるような気配はありません.問題なく稼働していて,しかも快適です!

Pocket

 

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

TPLINK ミニ スマート Wi-Fi プラグ HS105 HS105 [振込不可]
価格:1600円(税込、送料別) (2021/1/21時点)


 

 

リレーシールドの端子台を焦げ溶かしてしまったので,その代わりに TP-Link HS105 を使うことにしました.
いまのところ,焦げ溶けるような気配はありません.
問題なく稼働していて,しかも快適です!
無線 LAN 親機を再起動させたときに,子機である HS105 は自動的に再接続しにいってくれるなど,よくできています.

使用しているコマンドラインツールは,これ↓です.

「TP-Link WiFi SmartPlug Client and Wireshark Dissector」
https://github.com/softScheck/tplink-smartplug

 

これに至るまでの事の経緯を,未来の自分のために下に書いておきます.

 

セラミックヒーターの電源をネットワーク越しに On/Off 制御できるようにしておいたのですが,それをつないでいるリレーシールドの端子台(ターミナルブロク)を焦げ溶かしてしまいました.
しかも,2回も.
一度目の焦げ溶かしは,私のケーブル端のはんだ処理が雑だったせいかと思い,いくらかまじめにはんだ処理を行って,もう一度別の端子台につないでみました.
しかし,やっぱりセラミックヒーターを 30分くらい連続して On にしていると端子台が焦げ溶けてしまうので,これは,ほぼ間違いなく端子台の耐圧を超えてしまっているのでしょう.
むー,リレーの耐圧は考慮してあったけれど,まさか端子台のほうが耐えられないとは思ってもいませんでした.

 

ということで,

o 基板にケーブルを直付けする

o 耐圧の高い端子台を探す

o 耐圧の高いケーブル端の処理を行う

o 差し込むタイプの端子台ではなく,ネジ留め式の端子台を使う

など,さまざまな対策を検討したのですが,そもそもの発端に立ち戻って「既製品」を探してみたところ,「外部サービスを使わずに,自分で On/Off 制御できるスマートプラグ(コンセント)」がいくつかあることに気づきました.
特に,TP-Link の製品はプロトコルが解析されているだけでなく,制御ツールを作って実運用している例がいくつも見つかります.おぉ… .

「既製品は,何らかの外部サービスを使わないと制御できない.他人に自分の家電の On/Off 制御権を握られたくない.」というのが,自作し始めたそもそもの動機だったのですが,外部サービスを使わずに済む既製品があるのであれば,おそらくは,そちらのほうが耐圧が高く,安全に作られているでしょう.それを使ったほうが自分的に得です.

ということで,TP-Link の製品を使うことを検討します.

プロトコルが解析されていたり,制御ツールが公開されていたりする機種は HS110 や HS100 でしたが,これらは現時点では販売終了機種なのか,入手が難しく,現時点で入手が容易な機種は HS105 のようです.
HS110 との互換性が気になりましたが,HS105 ですでに動作しているブログ記事があるので,互換性については,あまり心配しないことにしました.

https://lab.sasapea.mydns.jp/2018/08/24/tplinksmartplug/

https://lab.sasapea.mydns.jp/2019/12/15/tplinksmartplug-pc/


HS105 よりも少し値段が安い Tapo シリーズは,動作が遅いなど,自分で制御するためには一工夫が要りそうな感じでしたので,私は避けることにしました.

https://lab.sasapea.mydns.jp/2020/11/26/tapo_esp32/

 

 

ということで,HS105 を購入することにしました.

HS105 の負荷耐圧について調べてみると,14A まで大丈夫そうなことが書いてあります.

「HS105 | Wi-Fi スマートプラグ 遠隔操作 直差しコンセント Echo シリーズ Google Home 対応 音声コントロール コンパクト ハブ不要 3年保証 | TP-Link 日本」
https://www.tp-link.com/jp/home-networking/smart-plug/hs105/#specifications

 

私が制御したいセラミックヒーターは,弱で 300W,強で 600W の消費電力のようです.
ということは,負荷耐圧 14A までを謳っている HS105 は,セラミックヒーターの使用に耐えられそうです.

 

ということで,私も TP-Link の HS105 を購入して試してみました.

まず,初期設定と動作確認を公式ツール「Kasa Smart」で行いました.
Kasa アカウントの作成は [スキップ] できました.
接続する無線 LAN の情報などを設定し,Kasa Smart から On/Off 操作してみました.
問題なく動作しました.無線 LAN への接続も安定していて,良好です.

「Kasa Smart – Google Play のアプリ」
https://play.google.com/store/apps/details?id=com.tplink.kasa_android

 

次に,Kasa Smart を使わずに,自分で On/Off 制御してみました.
使用したツールは,これ↓です.

「TP-Link WiFi SmartPlug Client and Wireshark Dissector」
https://github.com/softScheck/tplink-smartplug

これも,何も変更することなく,そのまますんなり動作しました.
うわー,簡単だー.

 

ということで,TP-Link HS105 にセラミックヒーターをつないで,実運用をはじめました.
3 日目ですが,いまのところ HS105 が焦げ溶けるような気配はありません.
試しに 1時間くらい On にし続けて様子見してみましたが,大丈夫そうです.
HS105 に触ってみると,人肌くらいにほんのり温かくはなっていましたが,一般的な家電が持つ熱と同程度だと思います.

もうしばらく様子見してみますが,今度こそ,大丈夫でしょう… .焦げ溶けないといいなぁ… .
これで,Google にも,Amazon にも,IFTTT にも生殺与奪の権を握られない家電 On/Off 制御ができそうです.
それにしても,自作せずに 1500円程度でこれができるとは思わなかったー.
しかも,この機種は形状がスマートで,大きさも小さくてすばらしいー.

 

 

 

 

 

==

 

2020年12月15日
セラミックヒーターの電源も,ネットワーク越しに On/Off 制御できるようにしました.こたつ,扇風機,セラミックヒーターの電源を数分おきに On/Off し続けていますが,いまのところ,問題なく稼働しています.
https://noike.info/wp/knoike/2020/12/15/83551/

 

2020年4月5日
XPort を利用した「家電の電源のネットワーク越し操作環境」をうっかり壊してしまったので,IoT Express MkII とリレーシールドを使って作り直しました.1週間くらい稼働させていますが,とりあえず,問題なく動いています.
https://noike.info/wp/knoike/2020/04/05/82727/

 

2019年4月24日
「家電の電源のネットワーク越し操作環境」を復活させるときに,ネットワークの有線ポートが足りなかったので 1000BASE-T のスイッチングハブを購入した.いまの時代は,5ポートなら 1500円~2000円くらいで買えてしまうのですね.
https://noike.info/wp/knoike/2019/04/24/81549/

 

2019年4月23日
XPort を利用した「家電の電源のネットワーク越し操作環境」を復活させた.いま操作できるのは,「扇風機」と「こたつ」.
https://noike.info/wp/knoike/2019/04/23/81531/

 

2009年11月10日
ごもっともです.
http://knoike.seesaa.net/article/152841511.html

 

2008年08月11日
家電の電源をネットワーク越しに操作できるようにした(主なソース・コード)
http://knoike.seesaa.net/article/152835041.html

 

2008年08月11日
ColdFire で,これをやるとしたら
http://knoike.seesaa.net/article/152835043.html

 

2008年08月11日
家電の電源をネットワーク越しに操作できるようにした
http://knoike.seesaa.net/article/152835044.html

 

 

 

Pocket

セラミックヒーターの電源も,ネットワーク越しに On/Off 制御できるようにしました.こたつ,扇風機,セラミックヒーターの電源を数分おきに On/Off し続けていますが,いまのところ,問題なく稼働しています.

Pocket

 

セラミックヒーターの電源も,ネットワーク越しに On/Off 制御できるようにしました.
以前に,IoT Express Mk II と「Arduino リレーシールド V2」を使って,こたつと扇風機の電源 On/Off 制御をできるようにしたのですが,リレーシールドの調子がよいときとよくないときがあり,不安定だったので,これを機にリレーシールドを別のモノに交換しました.

今回,使用したリレーシールドは,これ↓です.

 

「WINGONEER 4チャンネル 5vリレーシールドモジュール」
https://www.amazon.co.jp/dp/B07F6VFT65

 

 

当初の予定では,このリレーシールドを ESPDuino-32 に載せて,先に稼働させている「IoT Express + リレーシールド」とは別に電源制御機を作るつもりだったのですが,私が購入した ESPDuino-32 は,私の自宅の Wi-Fi アクセスポイントへのつながりがよくなかったもので,今回は ESPDuino-32 を使うことは断念しました.
ESPDuino-32 自体は,また何か,別の機会に使う(リベンジする)ことにします.

 

「waves ESP32 ESPDuino-32 (ESP-WROOM-32) 技適取得品」
https://www.amazon.co.jp/dp/B074PNFJGF

 

 

それと,リレーから AC コンセントまでのケーブルには,いつものように「まごの手スイッチ(手元スイッチ)」を利用しました.
いつも,パナソニックや ELPA の製品を利用していて,使おうと思ったときに安いほうを購入しています.

いま気づいたのですが,ELPA のほうは長さが選べるのですね!
1m, 2m, 3m, 5m の 4種類があるようです.
今回,利用したのは,いま確認したところ,2m の製品でした.
おぉぉー.次からは ELPA のほうをひいきにしよう.
そのときどきで適切な長さを選ぶことにしよう.
なお,パナソニックの製品は 2.5m でした.

 

「ELPA エルパ 手元スイッチコード 2m WTS-200B(W)」
https://www.amazon.co.jp/dp/B003OBVRTU

 

 

IoT Express にリレーシールドを載せて,こたつ,扇風機,セラミックヒーターの電源を数分おきに On/Off し続けていますが,いまのところ,問題なく稼働しています.
IoT Express は,他の Arduino と同様で,長時間稼働させていると動作が止まってしまうので,1時間おきに自動的に再起動させています.

 

「新Wi-Fiアルデュイーノ「IoT Express MkII」 – aitendo」
https://www.aitendo.com/product/16899

 

 

 

 

 

==

 

2020年4月5日
XPort を利用した「家電の電源のネットワーク越し操作環境」をうっかり壊してしまったので,IoT Express MkII とリレーシールドを使って作り直しました.1週間くらい稼働させていますが,とりあえず,問題なく動いています.
https://noike.info/wp/knoike/2020/04/05/82727/

 

2019年4月24日
「家電の電源のネットワーク越し操作環境」を復活させるときに,ネットワークの有線ポートが足りなかったので 1000BASE-T のスイッチングハブを購入した.いまの時代は,5ポートなら 1500円~2000円くらいで買えてしまうのですね.
https://noike.info/wp/knoike/2019/04/24/81549/

 

2019年4月23日
XPort を利用した「家電の電源のネットワーク越し操作環境」を復活させた.いま操作できるのは,「扇風機」と「こたつ」.
https://noike.info/wp/knoike/2019/04/23/81531/

 

2009年11月10日
ごもっともです.
http://knoike.seesaa.net/article/152841511.html

 

2008年08月11日
家電の電源をネットワーク越しに操作できるようにした(主なソース・コード)
http://knoike.seesaa.net/article/152835041.html

 

2008年08月11日
ColdFire で,これをやるとしたら
http://knoike.seesaa.net/article/152835043.html

 

2008年08月11日
家電の電源をネットワーク越しに操作できるようにした
http://knoike.seesaa.net/article/152835044.html

 

Pocket

XPort を利用した「家電の電源のネットワーク越し操作環境」をうっかり壊してしまったので,IoT Express MkII とリレーシールドを使って作り直しました.1週間くらい稼働させていますが,とりあえず,問題なく動いています.

Pocket

 

「新Wi-Fiアルデュイーノ「IoT Express MkII」 – aitendo」
https://www.aitendo.com/product/16899

20180416_8e3da4.png
(画像は aitendo の製品ページから取得しました)


 

 

XPort を利用した「家電の電源のネットワーク越し操作環境」をうっかり壊してしまったので,IoT Express MkII とリレーシールドを使って作り直しました.
1週間くらい稼働させていますが,とりあえず,問題なく動いています.

 

IoT Express には AVRマイコンではなく,ESP32 が載っています.
XPort のときと違って Wi-Fi 接続です.無線です.LAN ケーブルが不要になったので,快適です.

Arduinoボード全般にある Arduino自体の問題として,「Arduinoボードを連続して長時間稼働させているとハングアップする」というのがあるのですが,IoT Express でも同様で,2日くらいでハングアップしてしまいました.
この問題については,IoT Express を定期的にリセットすることで回避しました.
IoT Express のリセットは,esp_restart()(ESP.restart())で行いました.
リセット後もすべてのリレーの On/Off 状態がリセット前と同じである必要があるため,状態の保存ができない IoT Express 自身で定期リセットすることはせずに,外部からのコントロールでリセットを実行するようにしました.
外部から状態を取得 → 外部からリセット → 外部から状態を復元,というリセット手順です.
ウチには IoT Express とは別に常時稼働しているサーバーがあるので,そのサーバーから cron で定期リセットを行うようにしました.

IoT Express には microSDカードスロットがあるので,そこに microSDカードを挿しておいて,そこにリセット前の状態を保存して IoT Express自身で定期的にリセットするようにしてもいいかもしれません.
いつか機会があったら試してみようと思います.

 

こんな感じのシステムで,すでに 1週間くらい稼働させていますが,とりあえず,問題なく動いています.

 

自分のためのメモとして,XPort のときのシステムをどのように壊してしまったのかも書いておきます.

どのように壊したかというと,XPort につないでいたリレーモジュールが,いつのまにか HDD を入れている導電性の袋の上に乗ってしまっていて,リレーモジュールの回路がショートしてリレーとその周辺回路すべてが焼け切れてしまった,という壊し方です.非常に危ない壊し方をしてしまいました.
数時間前からなんとなく煙さは感じていたのだけど,これだとは気づきませんでした.
「バチッ!」という音とともに火花が散るのが見えたので気づきました.
非常に危なかった… .火事を起こしてしまうところでした.
そもそも,むき出しのまま運用していたのがまずかったと思います… .

 

ということで,XPort 用のリレーモジュールはもう使うことができないので,IoT Express とリレーシールドを使って作り直したのでした.
IoT Express を何かに使ってみたいと思っていたので,よい機会だと思った,ということもあります.

リレーシールドから ACコンセントにつなぐケーブルは,XPort 用のリレーモジュールから外して転用しました.

 

今回使った リレーシールドは,aitendo で購入した「Arduino リレーシールド V2」という名前のシールドです.
商品ページへのリンクを貼ろうかと思っていたのですが,生産終了品らしく,もう aitendo にその商品のページはありませんでした.
ちょっと Web を検索して探してみましたが,たぶん,これ↓と同じ製品だと思います.

「Relay Shield V1.0‏‎ – Seeed Wiki」
http://wiki.seeedstudio.com/Relay_Shield_V1/

 

基板や基板に載っているパーツの色などは違うものの,XBee ソケットはあるし,パーツの構成はほぼ一致しているし,回路も同じであるように見えるし,おそらくこのシールドです.
Seeed でもすでに V3.0 があるくらいなので,今回,私が使ったシールドはもう生産終了品なのだろうと思います.

V1.0 は,Arduino に挿しただけでは動かず,9V の外部電源が必要で,少々不便です.
V2.0 からはこの点が改善されているらしく,外部電源が不要になったようです.
私が使っている「Arduino リレーシールド V2」は Seeed のところの V1.0 相当らしくて,外部電源が必要な造りでした.
私は Arduinoボード(IoT Express)から 5V を取ってきて,9V 電源のところにつないでこれをしのぎました.
要求されている電圧よりもだいぶ低いのですが,回路の造りとしては 9V をシールド上のレギュレーターで 5V に落としているようだし,なんといっても「試してみたらこれでも動いた」ので,とりあえず,これでいきたいと思います.
何か問題が起こるようならまた考えます.

 

そうそう,自分のためのメモをもうひとつ.

IoT Express で使っているリレーシールドのほうも少し壊してしまいました.
D2 から D5 を H/L するとリレーの On/Off ができるはずなのですが,D2 と D5 のリレーしか動かず,なぜか D3 と D4 のリレーが動きません.
D3 と D4 のリレーも動かそうと,回路がよくわからないままジャンパーケーブルで 5V をかけながら調べているうちに,間違えてリレー手前にあるフォトカプラに逆電圧をかけてしまって,フォトカプラを焼き切ってしまいました.
なんか,フォトカプラの端子が光ったような気がしたんだ… .

焼き切ってしまったフォトカプラは,TLP521-4.
TLP521-4 を買ってきて付け直そうかとも思ったのですが,「フォトカプラを端折って制御信号線をリレーに直結してしまう」ことにしました.
「制御するAC線と制御信号線はリレーの中で分離されているから,まぁ,大丈夫だろう… .」という判断の下に,そのようにしました.

いまのところ,問題なく動いています.
ただ,結局のところ,D3 と D4 につながっているリレーを D3 と D4 の制御で動かすことはできませんでした.
リレーに直に電圧をかけるとリレーは動いたので,リレー自体は壊れていなさそうです.
また,D2 と D5 の信号線を D3 と D4 につながっているリレーにつなぐと動いたので,D3 と D4 の回路が D2 と D5 の回路とは違うのだろうと思います.

 

 

 

 

 

==

 

2019年4月23日
XPort を利用した「家電の電源のネットワーク越し操作環境」を復活させた.いま操作できるのは,「扇風機」と「こたつ」.
https://noike.info/wp/knoike/2019/04/23/81531/

 

2009年11月10日
ごもっともです.
http://knoike.seesaa.net/article/152841511.html

 

2008年08月11日
家電の電源をネットワーク越しに操作できるようにした(主なソース・コード)
http://knoike.seesaa.net/article/152835041.html

 

2008年08月11日
ColdFire で,これをやるとしたら
http://knoike.seesaa.net/article/152835043.html

 

2008年08月11日
家電の電源をネットワーク越しに操作できるようにした
http://knoike.seesaa.net/article/152835044.html

 

Pocket