Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
エアコンをWebから制御改
Search
suzakutakumi
October 31, 2020
0
38
エアコンをWebから制御改
エアコンをLAN and 外部からWebで制御しました。
suzakutakumi
October 31, 2020
Tweet
Share
More Decks by suzakutakumi
See All by suzakutakumi
ピクロス作成の中間発表
suzakutakumi
0
94
しゅみろん
suzakutakumi
0
160
trap-search
suzakutakumi
0
41
Pyramid Makerの作成
suzakutakumi
0
22
マークダウンパーサーの自作
suzakutakumi
0
110
絵文字ジェネレータボットの作成
suzakutakumi
0
160
send_discord
suzakutakumi
0
49
独自ドメインについて
suzakutakumi
0
42
ESP32とAlexaを用いたエアコン制御
suzakutakumi
0
1.3k
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.1k
Odyssey Design
rkendrick25
PRO
0
430
Being A Developer After 40
akosma
91
590k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Side Projects
sachag
455
43k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
60
37k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
Six Lessons from altMBA
skipperchong
29
4.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
27
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
HDC tutorial
michielstock
0
260
Transcript
エアコンをWebから制御改 会津大学学部1年 朱雀匠
自己紹介 HN:朱雀 匠(本名:鈴木拓眞) 所属:会津大学 ・Zli REMs PandD ARC GeekSA やってること
・人工知能製作 ・ゲーム製作 ・マイコン ・3DCAD etc... 好きなアニメ:プリティーシリーズ Twitter:@suzakutakumi3
製作物の概要 テーマ エアコンの制御をWebからやろう! AIで適切な温度に! 具体的な内容 ・エアコンをWebサイト上から操作できる ・LAN外からでも操作できるようにした(追加) ・室内の体感温度をWebサイトに表示(未実装) ・AIで自動調整するモードも追加する(未実装)
目的 エアコンのリモコンが一つ。 ベッドにリモコンがあり、机にいるとき取るのが面倒。 机にリモコンがあり、ベッドにいるとき取るのが面倒。 なら、リモコンを作ればよいのでは! でも、しっかりしたボタンとか作るの面倒... なら、Webから操作できればよいのでは! (Webなら、LAN内のどの端末からでも操作できるから楽) あと温度操作が面倒 温度操作をAIに任せれば楽
使用物 ・ESP32(Arduino互換機) 1000円しないでBluetooth通信やWi-Fi関係が使える! ・赤外線送信モジュール エアコンへの通信に使用する ・赤外線受信モジュール 通信方式特定に使用したため、完成品には使っていない ・温湿度センサ(未使用) 温湿度の表示とAIへの入力の値用に使用 2000円未満ぐらいで作れる!
実装過程 1.エアコンの赤外線を読み取り、解析する 4日ぐらい 2.読み取った赤外線で実際に動くかどうかテストする 3日ぐらい 3.操作画面のWebページを実装する 2日ぐらい 4.ESP32を使用して、Webから赤外線を送れるようにする 1日ぐらい
1.赤外線解析 1.リモコンから赤外線を読み取り、フォーマットを調べる 家電製品協会(AEHA)フォーマットだった 2.データを16進数(char型)にして解析する (最初、2進を16進にするのを間違えた) 解析例 29℃で暖房ボタンを押したときと30℃で暖房ボタンを押したと きを比較して、変わってるバイナリを見る 変わってるところが温度のデータになる
1.赤外線解析 大きな問題が発生 ・29℃と30℃の差と28℃と29℃の差がちゃんと合わない ↓ ・バイナリを逆から読むと差が合うようになった。 これを見つけるのに2日ぐらいかかった
2.実際に動くか試す 読み取ったデータとフォーマットに基づいてエアコンを操作する データが正しくなく、うまくいかない Serial.printの遅延のせいでうまく読み取れず→1.へ戻る 正しいデータでも動作しない サブキャリアについてよくわかってなかった
3.Webページを作る この時点で、OSC会津の前日 CSSもJSもHTML1つにまとめないといけない(正確には、 Arduinoのプログラムに直書きをするため) 最小のボタンのみにした
4.ESP32に実装 今日の3:00-5:00ぐらいまでやってた。 String型の変数に3.のHTMLの中身を格納して表示させる 操作端末からのデータの受信にはAjaxを使用 赤外線の送信には、2.のプログラムをヘッダー化して使用
実装過程改 5.Herokuを使い、Webサーバーを立てる 6.WebサイトにESP32からアクセスし、データを取得 7.前回のプログラムに追加する エアコン マイコン Heroku スマホ 家の中
5.Webサーバーを立てる Flask(Python)を使用して、WebAPI&サーバを立てた 今回は簡単なものなので、Flaskを使用 HTMLは前回使った物を流用した WebAPIの構成としては、 ・Ajax&jQueryで送った、データを受け取る関数 ・ESP32からアクセスして、データを受け取る関数
6.ESPからWebにアクセス ESP32から5秒ごとにWebAPIにアクセスする WebAPIでは、スマホ等からデータを変えたら、エアコンのデータ を送り、変えていない時は’x’を送る
7.前回のプログラムに追加 .6をヘッダー化して、前回のプログラムに追加 特に話すことはない
動画
まとめ ・LAN外から動かせるようになった ・初めてちゃんとしたバックエンドを体験できてよかった ・今後は、以下のように機能を追加・改善したい ・WebAPIを使ってAIに制御をさせる ・UIの改善 ・マイコンについてやってるのに、他の言語をやってて変な気持 ちになった
参考サイト ESP32のWebサーバーの立て方 https://qiita.com/wak_tech/items/60d993bb85e519a047b0 赤外線のフォーマットについて http://elm-chan.org/docs/ir_format.html
ご清聴ありがとうございました