おはようございます!!
先日、こちら↓の記事を書かせていただきました。
スマートリモコンの学習キットの「sLab-Remo2」ですね!!
前回は【クラウド利用①-4編】ということで、動作させるために必要な証明書の取得をやり直したのものの・・・
「Connection failed!」・・・IFTTTが繋がってくれませんでした。
今回はその続きで・・・今度こそ最終回です!!(泣)
目次
スマートリモコン「sLab-Remo2」(エスラボリモ2)【Scratch・Arduino対応】環境センサ・カメラ付《IoT電子工作・AI学習・プログラミング》
こちらです!
4,290円でこれだけ遊べたら安いものです。(・・・と奧さんに言われています)
ちなみに、本キットの心臓部ESP32-DevKitCですが、Amazonさんで1,500円ぐらいで普通に買えますね。
Espressif社純正 ESP-WROOM-32D開発ボード ESP32-DevKitC-32D
壊してしまったら一大事!と思ってましたが・・・昼ごはん1回我慢すれば買えます(泣)
では、スタートします。
sLab-Remo2【クラウド利用編】
公式メニューのクラウド利用に入ります!(こちら)
これまでは自宅内での学習実験でしたが、ここからはネットに出ていくわけですね。
クラウド利用する電子工作について説明します。
クラウドを利用することで「メール通知」や「屋外から家電制御」、「AIスピーカ連携」など多くのことができるようになります。
仕組みについて以下に説明します。5-1.人を検知してリモコン制御とメール送信 (IFTTT)
5-2.屋外からの通信(プッシュ通知)
5-3.AIスピーカ連携/屋外スマホ/GPS連携
あと3回でスマートスピーカー山の山頂まで到達します!!
恐らく・・・
多くの方に助けてもらいながら、何ヶ月もかかるかも・・・頑張ります!!
人を検知してリモコン制御とメール送信 (IFTTT)
こちらですね。(※ ’21 2/25に証明書取得の部分が改定されましたが、3/4に更に更新されました。)
2-1-6まで電子工作したキットをそのまま利用し、今回は新たにクラウドを利用してメール通知を行うことを学習していきます。
クラウドですね・・・雲です。
自分でメールアプリを開いて・・・ではなく、自動で送るというところがミソです。
内容を見てみたところ、
- IFTTTの利用設定
- 電気回路と電子工作
- スケッチ(制御ソフトウェア)
・・・今回は(2度目のやりなおしの)証明書の取得と動作確認ですね!!
動作確認(最終編)
前回は証明書をIFTTTのサイトから取得する方法に変えたのですが、公式サポートより「この方法ではうまく動作しない」という回答をいただきました。
インターネットの時代ですので時間が経つといろいろ変わってしまうのでしょうか?
とりあえず、気持ちを新たにチャレンジしてみました。
証明書の取得(最終編)
3/4にこちらの最後の部分を改定していただきました。(2回目)
証明書は以下のコマンドを各端末で実行することで取得できます。
openssl s_client -showcerts -connect maker.ifttt.com:443
これは、前々回でやった方法と同じですね!!(↓ダイレクトにその部分に飛びます)
あの時は、無事OpenSSLが動作して出力されたものをファイルに落としたけれど、どの部分を使ったら良いかわからない状態でした。
(※ コマンドの尾末尾に「> tmp.txt」を追加したらファイルに落とせました。)
※ あまり意味が無いかもしれませんが、所々マスクさせていただきました。
この結果が、更新されたページに書いていただいてます。
ルート証明書に至るまでの証明書チェインが表示されます。
depth=2がルート証明書、depth=1が中間証明書、depth=0がmaker.ifttt.comのサーバ証明書になりますので、以下の例に示すようにdepth=2の証明書の「—–BEGIN CERTIFICATE—–」から「—–END CERTIFICATE—–」までをコピーして、スケッチに設定して下さい。
これがインターネットで探しても見つからなかったんです。
たぶん、探し方が悪いのでしょうね。(※検索ワード、条件など)
ベテランの方が探すのと初心者が探すのは全く違いますし・・・(泣)
・・・で、落としたファイルから「depth=2の証明書」を探してみると・・・ありました!!
これを加工(※ 先頭と末尾の文字列を追加したり・・・)して、ソースコードに貼り付けました!!
よしよし・・・これでうまくいく・・・はず!!
こんどこそ!最終確認!!(泣)
では!!
リセット後、Wifiに接続してNo detected・・・ヨシヨシ。
では、手をかざしてみます!!
来てました!!
ちなみに、HeaderとBody部分ですが、2回目以降は出てきません。
一度、認証したら当分(時間なのか、なんらかのタイミングがあるのか)出ないのかと思っていたら・・・たまに出ます。たま~にです。
HTTPS接続がされているかいないかのチェックして、されていなかったら出力される・・・ということは、接続されるタイミングでHTTPS接続されてない時もある??
いや「connected IFTTT」の後に何も表示せず、そのまま「IFTTT End」はありえないですよね?
もうちょっと考えてみます。
番外編(裏技?)
いつもお世話になっている@robo8080さんに教えていただいたのですが、(証明書部分が間違っていても)証明書設定部分をコメントアウトしても動きました。
ここをコメントアウトすることでライブラリがどのような挙動になるかはよくわかりませんが、IFTTTから戻ってくる反応を見ると先程の前者の結果と同じです。
ちなみに、この方法ではHeaderとBody部分は連続してやった時も「常に」出ています。
強制認証モードなのでしょうか?
・・・以上、いつの日か理解できる日が来る(のか?)時の為に、書かせていただきました。
まとめ
ながながとなりましたが、とりあえず終わりました。
次回は屋外からの通信(プッシュ通知)ですね。
これはまたソフト面で悩みそう・・・
以上です!!
花見、いきたいですね・・・
でも、人多いでしょうね(泣)
(おわり)