汎用接点入力モジュール
やりたいこと
工場の機械が停止したときにスマホに通知を投げたい
機械が止まったかどうかはシーケンサのリレー接点の状態として出力できる
スイッチをたくさん並べて全部ONにしたら出勤時刻を記録したい
スイッチをたくさんONにすると気分がよくなる
解決方法
スイッチやリレーの接点などの状態を読み取って、任意のURLにwebhookを投げられるモジュール基板をつくる
用途にあわせてそれぞれ筐体をつくって任意のスイッチ(または端子)をつける
実装方針
MCUにESP32を採用する
BLEで以下の設定を行えるようにする
WiFiのSSID
WiFiのWPAキー
個体の簡単な説明
あとでいい
Webhook送信先URL
Webhookのbody形式のテンプレート
あとでいい
テンプレートの形式がmustacheだとするなら、{"content": "state of pin 0 is: {{payload.inputs[0].state}}"} みたいな感じで指定できるとよさそう 動作モード
あとでいい
パルス or 状態変化
1モジュールあたり8回路くらいがいい?
ESP32のIOは20本以上使えるけど、あんまり欲張ると基板におさまらない気がするので
入出力の設定ミスっても安全なようにIOピンは外部プルアップ
ToDo
BLEでWiFiの設定を書き込んでWiFiに接続してみるmiminashi.icon
debounceのやりかたを検証する
ブレッドボードで組んでうごかしてみる
ESP32からのHTTP POSTを1次受けするNodeRedを用意する
スマホに通知を飛ばす方法を検討する
Slackかdiscord使うのがよさそう
工場用筐体を設計する
次の部品を内蔵できる
DCDCコンバータモジュール
だいぶオーバースペックだけど入力範囲が広いので
現物あるので渡す
別の候補
こっちでもいいかも
ターミナルブロック
ターミナルブロックのうち2端子を電源用とする
雰囲気としてはこういう感じか?
https://scrapbox.io/files/622513069ef2450023df1859.png
基板を設計する
秋月C基板相当でつくる
ターミナルブロックが載るようにする
これの回路図そのまま流用してもよさそう
FTDIのチップたっけえからHoltekにかえようかな
っておもったけど値段みたら1個1.2ドルもするから入手する手間考えるとこれに変える意味があんまない
BLEのdescriptorでどんなことができるのかしらべてサンプルを実装してみる
設定用アプリ
iOS
Android
会社で予算を引っ張ってくる
同期に説明
必要な部署でデモンストレーション
社長にプレゼン
DONE
✔ HTTPでPOSTする方法をしらべる
✔ BLEで値を設定する方法をしらべる
アプリはBlueLightなどの汎用BLE読み書きアプリでok
✔ EEPROMの使い方をしらべる
BLEで書き込んだ値を永続化する
進捗
とりあえずこれを2個入手した
ArduinoIDEから使う方法はスイッチサイエンスのページに書いてある
BLEで値書き込む方法しらべた
HTTP POSTのやりかたしらべた
2022-03-07
EEPROMのつかいかたをしらべた