3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

sLab-Remo2(スマートリモコン)で遊んでみる その2

Last updated at Posted at 2020-05-09

前回、slab Remo2でカメラ付きスマートリモコンを作ってみました。

sLab-Remo2(スマートリモコン)で遊んでみる
https://qiita.com/ikegam1/items/0a79694c36d1fd65a1a9

でもこのキット、リモコンの方にもっと振った方がいい。リモコン使いたいのにカメラはいらない。
というわけで、やっぱり6-1.環境センサ付スマートリモコンの方にします。

slab Remo2

sLab-RemoはLチカ(LED点滅)と呼ばれる電子工作の基礎から学習することができ、また、スマートリモコンとしてAIスピーカ連携し音声操作で家電を制御できたり、屋外からスマホで家電を制御など応用的な電子工作も学習することができます。
また、カメラ付リモコンも電子工作できますので、AIサイト学習サイトと連携して画像学習や判定などを体験学習することができます。

環境センサ付スマートリモコン

kit.socinno.com_6_1_r_.png

配線はややこい。
人感センサとか温湿度センサもいらんけどいちおうつけとこう。

やりたい事としては実はこれだけでいい。
https://kit.socinno.com/5_3_r/

alexaで電気つけたりTVつけたりしたいだけ。

IFTTTのアカウントを作っておく

https://ifttt.com/ を開いてsign upしておきます。

Beebotteのアカウント

https://beebotte.com/ を開いてsign upし、「CreateNew」してChannelを作る。
channel名もresource名もslabremo2にしときました。

配線

ここに詳しくあります。
https://kit.socinno.com/2_1_6_r/

IMG_20200509_174646.jpg

こうなりました。

Alexaとの連携

ifttt.comにて、alexaからbeebotteのwebhook apiをたたく設定をします。
ここに書いてあるとおりにすればできる。
https://kit.socinno.com/5_3_r/

ifttt.com_create_if-say-a-specific-phrase-then-make-a-web-request_sid=9.png

なお、beebotteのapiは自分の場合は下記のようになってます

https://api.beebotte.com/v1/data/publish/slabremo2/slabremo2?token=token_KOREHAHIMITSU

あと、スマホのalexaアプリから定型アクションとして消灯ってのを追加していて、IFTTTを呼び出せるようにしてる。IFTTT.com側でアカウントリンクができてれば、設定したアクションが表示されるはず。

Screenshot (2020_05_09 19_09_55).png

消灯ってフレーズにしたので、「アレクサ、消灯」って言ったら「わかりました」って返ってきた。

焼いてみる

こちらから落とせるソースの中の6_1_env_remoってやつをarduino IDEで開きます。

設定を変えたのは、

env_remo.ino
// ③MQTT接続及び人感センサーON/OFF(OFF時はfalse)
bool MQTT_CONNECT = true;
config.h
// ②Wi-Fi設定
const char *ssid      = "himitsu";
const char *password  = "himitsu";
IPAddress ip(192, 168, 1, 124);     // IPアドレス(本機が利用するIP)
IPAddress gateway(192, 168, 1, 1);  // デフォルトゲートウェイ
IPAddress subnet(255, 255, 255, 0); // サブネットマスク
IPAddress DNS(192, 168, 1, 1);      // DNSサーバ
config.h
const char *clientID = "esp32_001";
const char *channelToken = "KOREHAHIMITSU";
const char *topic = "slabremo2/slabremo2";
const char *beebottle_ca_cert = \
"-----BEGIN CERTIFICATE-----\n" \

のあたり。
IFTTTは直接は触らないので設定スルーしてます。

DHT.h、PubSubClient.h、ArduinoJson.hはライブラリマネージャーからインストールできる。

20200509.png

やけた。
SPIFFSへの書き込みも忘れずに。

ブラウザでアクセス

192.168.0.124にしてたのでそれを開きます。

Screenshot_20200509-190929.png
開いて、設定押して、寝室の電気のリモコン信号を記憶させた状態。

やってみる・・けどプチトラブル

スマホのボタンはちゃんと機能してて消灯できる。
・・がIFTTT経由のやつは動いてるように見えるが電気が消えてくれない。。
なんでだ??

cntrem
sendFile:/0
sendData:167:End
Web send OK
Message arrived [slabremo2/slabremo2] 
{"data":"1","ispublic":true,"ts":1589022357143}
payload: 1
sendFile:/1
sendData:335:End
MQTT send OK
cntrem
sendFile:/0
sendData:167:End
Web send OK
cntrem
sendFile:/1
sendData:335:End
Web send OK

とシリアルモニタしてみたら・・、{data:1}だと二個目のボタンが押されてるなー。
ボタン①: 167
ボタン②: 335
って記憶されてるみたいだけど、MQTT経由だと335のデータが送信されてる。

というわけでIFTTTの画面から送るデータを{data:0}に変えます。

やってみる

消せるようになりました。
点灯も使えるようにしないとね。

ezgif.com-video-to-gif.gif

定型アクションで電気が消える様子。
「アレクサ、消灯」でも反応してます。
むき出しのESP32をなんとかしたいですね。
ひとまずはグルーガンで固めるか。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?