Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
エアコンをWebから制御改
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
suzakutakumi
October 31, 2020
57
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
エアコンをWebから制御改
エアコンをLAN and 外部からWebで制御しました。
suzakutakumi
October 31, 2020
More Decks by suzakutakumi
See All by suzakutakumi
ピクロス作成の中間発表
suzakutakumi
0
110
しゅみろん
suzakutakumi
0
190
trap-search
suzakutakumi
1
63
Pyramid Makerの作成
suzakutakumi
0
48
マークダウンパーサーの自作
suzakutakumi
0
130
絵文字ジェネレータボットの作成
suzakutakumi
0
170
send_discord
suzakutakumi
0
67
独自ドメインについて
suzakutakumi
0
64
ESP32とAlexaを用いたエアコン制御
suzakutakumi
0
1.4k
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
260
Balancing Empowerment & Direction
lara
6
1.2k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Claude Code のすすめ
schroneko
67
230k
Are puppies a ranking factor?
jonoalderson
1
3.7k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
310
Believing is Seeing
oripsolob
1
170
Un-Boring Meetings
codingconduct
0
340
4 Signs Your Business is Dying
shpigford
187
22k
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
ご清聴ありがとうございました