2020/09/11

Ichigojam x sakura.io(複数値の通信電文の作り方)

 Ichigojamとsakura.ioモジュールを使って、複数の値をsakura.ioへ送信したい場合、チャンネル番号(ch)ごとに、値(D(value))を送ることが出来る。

コマンドリファレンス」P28に記載があるが、引数データ(N)ごとにチャンネル番号を指定して、値を設定してあげるとこで対応できる。

たとえば、

{
  "channels": [
    {
      "channel": 1,
      "type": "i",
      "value": 249,
      "datetime": "2020-09-11T05:12:13.061983501Z"
    },
    {
      "channel": 2,
      "type": "i",
      "value": 729,
      "datetime": "2020-09-11T05:12:13.061983501Z"
    }
  ]
}

と、送信したい場合は、下記のような電文を作成する。

要素種別引数データ長引数データ1引数データ2パリティ値
chtypeD0D1D2D3D4D5D6D7chtypeD0D1D2D3D4D5D6D7
#21201#69TT>>80000002#69HH>>8000000P

引数データ長は、引数データ1(10byte)+引数データ2(10byte)なので、[20]となる。

チャンネル番号の指定自体は、#00(0)~#7F(127)まで可能みたいだが、データは最大16個まで送信できるようなので、まあ、普通はch(0)~ch(15)かな。

ちなみにこの場合のプログラムは、

200 'LTE

210 P=(H>>8)^(T>>8)^H^T^#21^20^1^#69^2^#69

220 POKE #800,#21,20,1,#69,T,T>>8,0,0,0,0,0,0,2,#69,H,H>>8,0,0,0,0,0,0,P

230 ?I2CR(79,#800,23,#830,1)

こんな感じ。 

0 件のコメント:

コメントを投稿