投稿

I2CからMQTTまで

イメージ
今まで紆余曲折ありましたが、ようやくI2CからMQTTまでのパスが通りました。 RTCから「秒」を1秒毎に読んでMQTT brokerに送る動きをYouTubeに紹介しています。

動作確認(2'')

イメージ
同じく書き込み動作も再確認しました。

動作確認(1'')

イメージ
I2C-COMのrevisionを3->3.1にした(戻り値を全て2桁の16進数にした)ので再度動作を確認しました。

I2C-COM Ver3.1

binary1バイトを16進で表現する際に、00~FFとASCIIコードで2文字要することを明記した。

有線による通信距離(メモ)

USB (1) 規格上の上限は5m (2) USB延長ケーブルが市販されている  これを使えば20m I2C (1) I2Cは元来基板上でいくつものデバイスを芋づる式にぶら下げて使うもので、長さに特に規定があるわけではない(数m延ばせる可能性はあるがirregularな使い方) (2) 1対1でいいなら延長ケーブルが市販されている  これを使うと数十mいけるらしい Ethernet 規格がたくさんあるのでこちらを参照。 100m程度から数10km程度まで幅があり長距離には向いているが、tranceiverやケーブルの価格を考えると多くのセンサーをこれで1対1で繋いでいくのは現実的ではない。 ※センサーを部屋のあちこちに複数個置くようなケースだと有線はあまり現実的とは思えない。2個以上使うのが見えているなら無線化を指向するべきだろう。

Macから外部サーバのMQTTブローカに接続する(2)

イメージ
前回はNode-REDを使ってCloudMQTTに繋ぎました。 今回はPython3を使って繋いでみました。 オリジナルはここです 。 #                   Nov/27/2018 # # ------------------------------------------------------------------ import  sys from time import sleep import paho.mqtt.client as mqtt # ------------------------------------------------------------------ sys.stderr.write("*** 開始 ***\n") host = 'Server name' port = xxxxx topic = 'topic_1' client = mqtt.Client(protocol=mqtt.MQTTv311) client.username_pw_set('User', 'Password') client.connect(host, port=port, keepalive=60) client.publish(topic, 'Good Afternoon!!') sleep(0.5) client.publish(topic, 'こんにちは') client.disconnect() sys.stderr.write("*** 終了 ***\n") # ------------------------------------------------------------------ ※ host = 'Server name' port = xxxxx client.username_pw_set('User', 'Password') は適宜変更を要します。 以上を実行させると こんな感じに出力されます。 以上

Gravityシリーズ

DFRobot社のGravityシリーズ というのがあるようです。センサー素子が載る子基板のコネクタはPH2.0-4pのようです。 Gravity 4Pin IIC/I2C/UART Sensor Cable (10pcs)の仕様は、 "One side is PH2.0-4p connector and the other side is XH2.54 DuPont port. " だそうで、PH2.0-4pは2.0mm pitch、XH2.54は2.54mm pitchです。 PH2.0-4pはGroveとピン配列も違いますね。 各社統一の気配は全く感じられません。