sidetech

インフラエンジニアの寄り道メモ。

ネットワーク屋でもIoTの勉強(1)-部材調達編

ということで”トイレIoT勉強”の続きです。

さて、組めても組めなくてもモノを買うときって何故か楽しいですよね。買って満足的な。人生でどれだけそーいう事があったことやら。ダイエットアイテムを買ってダイエット取り組み決意した感じと似ていますね。

まぁまぁまぁ。今回は主役であり、わき役でもあるので多くを(自分に)望みすぎないで行きましょう。
てことで「部材調達編」です。

欲求を叶えるために必要なモノを探していけばいいですね。
ここで大事なのは「割り切り」と「工夫」です。

Arduinoを収める箱が売っていないかを探しても見つからず途方にくれたり、「3Dプリンターで作る」とか大きく出たりしなくてよいです。カッコつけは後から考えましょう。でも今は昔よりも強い味方がいます。アイデア次第で目的と違った使い方が出来ますからね。既製品好きやブランド志向の人にはキツイかもね・・・。

想定してるのは、トイレのドアで、使用されていないときは、ドアが開く環境のものですね。もしもドアが閉まってしまうタイプだと、もういっちょ人感センサー的なのが必要になりそうです。

f:id:hunter1014:20180408172628p:plain

まずはArduinoなヤツからです。とにかく通信手段付きで、半田も使わずに苦労せずに実現できるものを探したらですね・・・さすがswitch scienceさん。

 

[スイッチサイエンス] ESPr® Door Sensor

[スイッチサイエンス] ESPr® Door Sensor

 

 狙ったでしょ?というような商品を開発販売していました。
長細い赤い部分が、リードスイッチになっているところで、磁石でスイッチが入る仕組みです。

さらなる狙いが消費を抑えてバッテリーでもロングランできるようにというのが狙いのようですが、その部分の考え方は私は今回は別の部分で使おうと思います。

しかし・・・このリードスイッチ付きのものは・・・ほかに何に応用できるかな。

[スイッチサイエンス] FTDI USBシリアル変換アダプター Rev.2

[スイッチサイエンス] FTDI USBシリアル変換アダプター Rev.2

 

さらにUSBシリアル通信させるアダプターも今回は購入です。プログラムを書き込むのに必要になるんで。

 

あとは、マグネットを買わねばーなのですが・・・

f:id:hunter1014:20180408173924p:plain

 まぁ磁石なら、なんでもいいんでしょうけど・・・ある程度の成形品で安いやつをね。最初から両面テープついているし。リードスイッチだけ位置をずらさねばならんかもしれないしと。すこし入荷に時間が掛った気がしますが・・・ま、ここは好みで。

 

f:id:hunter1014:20180408174028p:plain

あとは、100円均一の力を借ります。ヘアピンの入れ物とか画鋲の箱とか、何気ないケースが電子工作では使えたりします。電源も5Vが欲しいUSBと同じでよいという考えで、アダプタも昔よりも悩まなくなりましたね。MicroUSBもとりあえずだし。

ヘアピンの中身は娘か会社の女子にでもあげちゃってください・・・。

 

で、全部でいくらぐらいかな・・・(金額はかわるかもしれないので注意)。

[SWITCHSCIENCE]ESPr® Door Sensor ¥2,700
[SWITCHSCIENCE]FTDI USBシリアル変換アダプター Rev.2 ¥1,080
[SODIAL]ホワイトドア窓コンタクト磁気リードスイッチセンサー ¥249
[DAISO]USB充電ACアダプタ アンドロイドスマートフォン ¥200
[DAISO]USB-MicroB スマートフォン用急速充電専用ケーブル50cm ¥100
[DAISO]Hair Pin アメリカンピン約40g(ケース用として) ¥100
[DAISO]しっかり晴れてきれいにはがせる両面テープSサイズ8枚入り ¥100
合計 ¥4,529

 こんな感じですね。

2か所目からは大体¥3450ぐらいと思っておけばいいですね。

USB-MicroBが50cmしかないので、これはDAISOではなく、長くて安いのを別途調達した方がよいですね。

3mで500円とかあるんですね。ネットで何でもそろう時代ってすごいわぁ。

 

全体感でいうとDoor SensorなArduinoが一番お高いですね。ESP-WROOM-02が使いたいだけなので、もう少し安くできるかもですが、ハンダを一切しないでという条件からそれてしまいます。

両面テープも3Mのやつにした方がよいと思いますが、まずはということで。

 

これで20か所設置するようなことになっても大した金額にはならんで済みます。

問題はWiFi環境という意味で・・・トイレに電波が届いているかが最大の課題になりそうです。。。(汗)

 

とりあえず、どんな感じで動いたかだけ…。

f:id:hunter1014:20180408185019g:plain

LED点滅時はWiFiコネクションを頑張っています。

2秒のLED点灯はAzure IoT Hubにデータを送ってます。

今の所、リードスイッチがONになる時とOFFになる時に、WiFiに接続してAzure IoT Hubにデータを送った後、DEEP SLEEPさせてます。
DEEP SKEEPからの回復条件がリードスイッチの挙動で、その時に改めてWiFiの接続を行ってます。

プログラムの作りが甘いので、WiFiのコネクションが上手くいかないとずっと繰り返し施行するようになっています(^^;

Azure IoT Hubへの送信ですが、どうやら2秒程度待ってあげないと、データの送信が終わる前にDEEP SLEEPモードに入ってしまうような状況だったので、2秒間LEDを付けて、データ送信している風を演じていますw

 

ここまで動かすのに、2名から3名程度のブログ記事を参考にして、プログラムをミックスさせて動かしました。なのでパクリだけでAzure IoTとやり取りできました(汗

プログラムソース公開をためらう程、パクリなので悩んでいます(^^;

 

次回からいよいよ

・ESP8266の参考とパクリ改変ポイント

・Azure IoT Hubの参考文献ととりあえずやっちゃえの部分

・Azure Analyticsの参考ととりあえず動かしちゃえの部分

・Azure AnalyticsからとりまBLOBにJSONで格納の部分

ここまで、基本的に参考サイトのコピペになりそうなので、ちょっと悩みます(^^;