head

2015年10月20日火曜日

MQTT 活用編。IoT型スイッチ Arduino EtherNet

[概要]
前回の MQTT準備 の続編となります、
デバイス側からのPublishと逆のパターンで、
デバイス側からSubscribeし、web画面からのPubデータ(スイッチのON/OFF)
を受信
ONの場合、リレー回路をON、LED(12V)を点灯
OFFの場合、リレー回路をOFF、LEDをOFF
クラウド経由で、周辺デバイスの ON/OFFのスイッチ機能を
実装してみます。

[MQTT 構成]
broker : test.mosquitto.org
publish(Pub) : Chrome Android
subscribe(Sub) : IoT device

*) 少し高めの電圧流す為、ご注意下さい。
*) 前回と同様、テスト用の broker(MQTT Server), pahoのJSライブラリ等
を使用。

*) 関連URL/version 等は、執筆時点を記載しています

# 部品
今回は、LED側の電源を
DCアダプタ (19V 程度)を使用。
降圧レギュレータで、12Vまで下げて電源供給しています。
*)入出力コンデンサは、レギュレータに付属のもの
*) 12V出力側周辺に、ヒューズ等追加したほうが
良さそうですが、短時間のテストの為 直結しています。

リレーモジュール 5V
LED 12V / 80[en]
降圧レギュレータ 12V / 100[en]
抵抗 1,100 ohm (1000 + 100)
DCジャック -メス (DIP, 内径= 2.1mm)
DCアダプタ -19V(1200 mA)
*) 部品箱で適当に探した電源、おそらくPC用

*)その他、マイコン周辺は前回と同様。

# 配線
LEDは、リード線(アノード / カソード) に電線をハンダづけ
リレー出力端子は、小さい為、電線をハンダづけ
してます。

# web スイッチ操作画面
chrome Android
カンタンな ON/OFF操作のみ実装。


# code

#arduino-sdk , mqtt_arduino_relay_2.ino
arduino-adk 1.6.5
前回と同様、mqttライブラリが必要
スケッチの例 -[PubSubClient] - [mqtt_basic]
を参考にしました

Topicを適当に決めて、Pubしてみます
char mTopicIn[]="test-topic-1020A/relay";

D7に、リレー配線しておきます。




# web スイッチ画面
paho-mqtt JS版使います。
mqttws31.js, jquery 読み込み

# JS : mqtt-pub-sample-2-app.js
mqtt-publishの実装


# html : mqtt-pub-sample-2.htm
スイッチ操作画面

# テスト
web スイッチ画面から、
ON 押すと、LED点灯します。
OFF押すと、消灯。

# まとめ
web画面のON/OFF操作から 1秒弱で、
デバイスが動作しました。
リアルタイム操作としては、ある程度使える範囲かと思います。
室内のスマホ等から ON/OFFしてみると、あまりインパクトないのですが
クラウド経由の為、外出先からでも同じ動作になるはずです。
(ネット接続可能な場合)


# 参考の記事
arduino-lib
http://knolleary.net/arduino-client-for-mqtt/

paho-mqtt javascript
http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/

# 関連の記事
http://knaka0209.blogspot.jp/2015/10/mqtt-1.html

# 開発者向けのまとめ記事
http://knaka0209.blogspot.jp/2015/04/agri.html


0 件のコメント:

コメントを投稿

google colaboratory お試し編 、GPUも使える機械学習の環境構築

前回続き、機械学習の関連となります。 開発環境まわりの内容となり。先人様の情報を元に調査しました。 google colab(google colaboratory) を試してみました。機械学習系の いくつかのライブラリがインストール済みで、 クラウド上で、ある程度機械学...

AD-parts

Shop
Bluetooth搭載
ベース基板

Social