6-4.カメラ付スマートリモコン【屋外対応】
カメラ付スマートリモコンの屋外対応版となります。回路図及び配線図は6-2.カメラ付スマートリモコンと同じになりますので省略させて頂きます。
【Scratch3、sLab-AI連携は未対応となりますのでScratch3、sLab-AI連携を利用する場合は6-2を利用して下さい。】
1.実現システムについて
本内容は6-3.環境センサ付スマートリモコン【屋外対応】と同様となりますので省略させて頂きます。
2.システム構築(機能追加)手順
本内容は6-3.環境センサ付スマートリモコン【屋外対応】と同様となりますので省略させて頂きます。
ただし、2-1.宅内ルータのポート開放はWebサーバ(ポート番号:777)とWebSocketサーバ(ポート番号:81)の2つの設定が必要となりますので、WebSocketサーバ(ポート番号:81)もWebサーバ(ポート番号:777)と同様に設定をお願いします。
3.スケッチ(制御ソフトウェア)
スケッチはこちらからダウンロードして下さい。
3-1.環境設定
環境設定はConfig.hに以下のようにまとめていますので、利用する環境に応じた内容に設定して利用してください。緑色####で区切られた箇所は利用する場合に必ず設定が必要になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
// ############################# 環境設定 ############################# // Wi-Fi,Network設定 const char *ssid = "##### SSID #####"; const char *password = "### PASSWORD ###"; IPAddress ip(192, 168, 1, 125); // IPアドレス(本機が利用するIP) IPAddress gateway(192, 168, 1, 1); // デフォルトゲートウェイ IPAddress subnet(255, 255, 255, 0); // サブネットマスク IPAddress DNS(192, 168, 1, 1); // DNSサーバ // Serverポート設定 const int webport = 777; // Webサーバ const int wsport = 81; // WebSocketサーバ // MQTT接続及びDDNS接続(OFF時はfalse) bool DDNS_CONNECT = true; // DDNS用 bool MQTT_CONNECT = true; // MQTT用 // DDNS設定 const char *dnslogin = "##### DDNS-ID #####"; const char *dnspass = "##### DDNS-PASS #####"; const char *dnshost = "dip.jp"; // Beebotteパラメータ const char *clientID = "esp32_001"; const char *channelToken = "##### BEEBOTTE-TOKEN #####"; const char *topic = "TestChannel/resource1"; // 本体ログイン String cnflogid = "eeprom"; // パスワード忘れなどの対応は本設定を変更してログインする String cnflogps = "eeprom"; // パスワード忘れなどの対応は本設定を変更してログインする // ################################################################### |
DDNS設定は6-3.環境センサ付スマートリモコン【屋外対応】の「2-2.DDNS設定」を参照下さい。
Beebotte設定は「5-2.屋外からの通信(プッシュ通知)」を参照下さい。
また、最後の本体ログイン設定(cnflogid,cnflogps)ですが「eeprom」という設定は装置設定(ログイン)(下図参照)で設定した値が有効にする設定となります。
装置設定(ログイン)(下図参照)で設定した値はEEPROMに書き込まれ、ログイン時はその値が利用されます。ただし、EEPROMに有効な値が設定されていない場合などは「eeprom」の文字列自体がID,パスワードとなります。そのため初期ログインのID,パスワードは「eeprom」となります。
パスワード忘れの場合もこの値(cnflogid,cnflogps)を書き換えてEEPROMの値を無効化し本Config(cnflogid,cnflogps)に設定した文字列でログインしてEEPROM情報を書き換えてから「eeprom」値に戻すなどの対応を実施して下さい。
3-2.スケッチ及びDataフォルダ書込方法【注意】
関連するソフトウェアはDataフォルダ(SPIFFS)とスケッチの2つをESP32開発ボードに書き込む必要があります。そのため、ArduinoIDEでは以下の2つの方法で書き込んで下さい。
(1)SPIFFS書込
SPIFFSデータのアップロード(書込)方法の(5)の手順を実施
(2)スケッチ書込方法
本体への書き込み方法の(2)の手順を実施
3-3.動作確認
スケッチ書き込み後にWebブラウザで「http://192.168.1.123:777」(設定したIPアドレス:ポート番号)でアクセスして下さい。
(下図はパソコンやスマホでアクセスしたWebブラウザ画面となります。HTTPは80番ポートが標準で利用されるため異なる場合は「:777」で指定しアクセスします)
また、画面のボタン数やデザインなども自由に変更可能ですので、オリジナルのIoT端末を製作して下さい。
3-4.トラブルシュート
(1)書込が完了しない
コンパイルもしくは書込時にエラー「xxxxxx.h: No such file or directory」が発生する場合はこちらを参照して対処して下さい。
(2)書込完了後にWeb画面が見れない
Webブラウザで画面が確認できない場合は起動時のシリアルモニター表示を確認しながらこちらを参照しトラブルシュートしてください。
(3)DDNSの登録確認【”DDNS_CONNECT=true”でキット起動時】
実際に登録されているかをパソコンより確認します。DNSデータがインターネット内を伝搬する場合に時間を要する場合がありますので最初のIoTキット起動後(シリアルモニタにて起動時に”DDNS-OK”が表示されることを確認)、数十分後に確認して下さい。
Windows端末でコマンドプロンプト(Windowsマーク+rコマンドで「cmd」入力しリターン)で「nslookup xxxxxx.dip.jp」(設定したドメイン)と入力しIPアドレスが取得できることを確認してください。
(Mac端末の場合はターミナルで同様の確認が可能です。nslookupコマンドは同様に利用可能です)
なお、自宅のグローバルIPアドレスはCMANのサイトで表示されるのが現在利用しているグローバルIPアドレスとなりますので、このIPアドレスが登録されていることを確認します。
【iotkit.dip.jpは既に今回利用したため利用できません。設定した情報でコマンド入力及び確認してください。】
上記「DDNS」設定が確認でき「ポート開放」が正常に完了していた場合に屋外スマホ(もしくはパソコンなど)からWebブラウザで、「http://xxxxx.dip.jp」(設定したドメイン)で屋内同様にsLab-Remo2のWeb画面での操作が利用可能となります。