株式会社SOCINNOが提供する「IoT電子工作 スマートリモコン製作キット」は基礎からWi-Fi利用、クラウド接続まで順を追って丁寧に解説されている秀逸な教材である。
このキットをArduino IDE 1.8.9 + Ubuntu 18.04環境で使う際にいくつか追加で作業する必要があったので補足する。
以下、同キット向けのIoT電子工作ガイドの章立てに沿って説明する。
2-1 電子部品利用 > LED点滅
スケッチコンパイルエラー
スケッチコンパイル時に以下のようなエラーが発生する場合。
: Pyserial is not installed for /usr/bin/python. Check the README for installation instructions.Traceback (most recent call last): File "/home/neo/.arduino15/packages/esp32/tools/esptool_py/2.6.1/esptool.py", line 37, in <module> import serial ImportError: No module named serial exit status 1 Error compiling for board ESP32 Dev Module.
python-serialパッケージをインストールすればエラーが発生しなくなる。
$ sudo apt install python-serial
2-3 電子部品利用 > 温湿度センサ
スケッチコンパイルエラー
スケッチコンパイル時に以下のようなエラーが発生する場合。
: In file included from /home/ard/Arduino/libraries/DHT_sensor_library/DHT_U.cpp:22:0: /home/ard/Arduino/libraries/DHT_sensor_library/DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory #include <Adafruit_Sensor.h> ^ compilation terminated. Using library DHT_sensor_library at version 1.3.4 in folder: /home/ard/Arduino/libraries/DHT_sensor_library exit status 1 Error compiling for board ESP32 Dev Module.
ライブラリマネージャから「Adafruit Unified Sensor」をインストールすればエラーが発生しなくなる。
3-2 Wi-Fi利用 > Webサーバ機能
スケッチコンパイルエラー
スケッチコンパイル時に以下のようなエラーが発生する場合。
: Multiple libraries were found for "WiFi.h" Blink:2:31: error: ESPAsyncWebServer.h: No such file or directory compilation terminated. Used: /home/ard/.arduino15/packages/esp32/hardware/esp32/1.0.2/libraries/WiFi Not used: /home/ard/opt/arduino-1.8.9/libraries/WiFi exit status 1 ESPAsyncWebServer.h: No such file or directory This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.
以下の2つをダウンロードして[Sketch] > [Include Library] > [Add .ZIP Library…]でそれぞれインストールすればエラーが発生しなくなる。
- https://github.com/me-no-dev/ESPAsyncTCP/archive/master.zip
- https://github.com/me-no-dev/AsyncTCP/archive/master.zip
DHCPサーバ利用
IPアドレス情報をDHCPサーバから動的に受け取る場合は以下のIPアドレス設定は不要。(以降の章も同様)
IPAddress ip(192, 168, 1, 123); // IPアドレス(本機が利用するIP) IPAddress gateway(192, 168, 1, 1); // デフォルトゲートウェイ IPAddress subnet(255, 255, 255, 0); // サブネットマスク : void setup() { : WiFi.config( ip, gateway, subnet ); :
4-2 データ利用 > SPIFFSによるファイル操作
SPIFFSマウントエラー
プログラム実行時に以下のようなエラーが発生する場合。
E (36) SPIFFS: mount failed, -10025
SPIFFS.hだけでなくFS.hもincludeすればエラーが発生しなくなる。
#include <FS.h> <--- 追加 #include <SPIFFS.h>
それ以降
上記の対応を経て、無事リモコンが動作した。
⦿リモコン設定(ON/OFF信号記録)
⦿リモコン操作(ON/OFF信号発信)
関連記事
- IoT時代に対応すべく、電子工作を基礎から応用まで学習! 「IoT電子工作 スマートリモコン製作キット」発売 (@Press)
- SOCINNO、電子工作を基礎から応用まで学習できる「IoT電子工作 スマートリモコン製作キット」発売 (IoTNEWS)