- LTE網を利用して
データを送受信! - IchigoJam BASICの
IoTコマンドで
かんたん制御! - 省パケット通信で
低コスト!
-
MixSoda+IchigoJam
ボードセット22,220 円(税込)
LTE回線を使ってデータを送受信できる拡張ボード「MixSoda」と
「IchigoJam」のセット商品です。
大口・大量納品も可能です。
詳しくはお問い合わせください。
MixSodaのご利用には「MixServer」の契約が必要です。
Case
-
Sujiya Systems
青森市営バスのバスロケーション・システム車載器として導入
http://www.sinjidai.com/sujiya/
How to Use
!!!注意!!!
- 初回のLTE接続確立前のI2Cコマンドはロックされ、接続が完了するとロック解除されますが戻り値は不定です。
- 接続が完了する5〜20秒後にコマンドを実行してください。
IchigoJam BASIC IoTコマンドを使う
IoTコマンドで値を指定します。手軽に制御したいときにオススメです。
コード例
変数Aの値を即時送信する
IoT.OUT A
#704のアドレスから128byte送信する
IoT.OUT #704,128
数値を1つ受信する
R=IoT.IN()
※送信されたデータはMixServerで取得可能です。リファレンスはこちら
IchigoJam BASIC I2Cコマンドを使う
IoTコマンドだけでもお使いいただけますが、より細かく制御したい場合はI2Cコマンドを利用する方法があります。
任意のアドレスにMixSodaコマンドを書き込み、そのアドレスをI2Cコマンドで指定します。
MixSodaコマンド一覧(Ver 6)
プロトコル: i2c
スレーブアドレス: 0x4f
* 0x21
4byteのデータを1つ送信する
(LTE通信が完了もしくはタイムアウトするまでI2Cバスがロックされます)
write: 8byte
(0x21, dummy, dummy, dummy, d0, d1, d2, d3)
data = (d0<<0) | (d1<<8) | (d2<<16) | (d3<<24)
read : 3byte
(status, 0, 0)
status| 1:success, 5:error
* 0x20
送信キューに8byte値をためる (MAX: 256byte)
write: 12byte
(0x20, dummy, dummy, dummy, d0, d1, d2, d3, d4, d5, d6, d7)
read : 3byte
(status, 0, 0)
status| 1:success, 5:error
* 0x24
送信キューの中身をすべて送信する
(LTE通信が完了もしくはタイムアウトするまでI2Cバスがロックされます)
write: 1byte
(0x24)
read : 3byte
(status, 0, 0)
status| 1:success, 5:error
* 0x30
4byteのデータを1つ取得する
(LTE通信が完了もしくはタイムアウトするまでI2Cバスがロックされます)
write: 1byte
(0x30)
read : 8byte
(status, dummy, dummy, dummy, d0, d1, d2, d3)
status| 1:success, 5:error
data = (d0<<0) | (d1<<8) | (d2<<16) | (d3<<24)
* 0x34
データを取得する(MAX: 128byte)
(LTE通信が完了もしくはタイムアウトするまでI2Cバスがロックされます)
write: 1byte
(0x34)
read : (2+n)byte
(status, length, data0, data1, ..., data(n-1))
status| 1:success, 5:error
* 0xc0
GPS位置情報を取得する
write: 1byte
(0xc0)
read : 29byte
(status, 27,
longitude0, longitude1, longitude2, longitude3,
latitude0, latitude1, latitude2, latitude3,
altitude0, altitude1, altitude2, altitude3,
speed0, speed1, speed2, speed3,
direction0, direction1, direction2, direction3,
date_year0, date_year1, date_month, date_day, date_hour, date_min, date_sec)
status| 1:success, 2:busy, 5:error
* 0xc1
GPSをON/OFFする
1:ON, 0:OFF
write: 2byte
(0xc1, on/off)
* 0xd0
ICCIDを取得する
write: 1byte
(0xd0)
read : 10byte
(1, 8, iccid0, iccid1, iccid2, iccid3, iccid4, iccid5, iccid6, iccid7)
iccid = (iccid0<<0) | (iccid1<<8) | (iccid2<<16) | (iccid3<<24) |
(iccid4<<32) | (iccid5<<40) | (iccid6<<48) | (iccid3<<56)
* 0xd1
IMEIを取得する
write: 1byte
(0xd1)
read : 10byte
(1, 8, imei0, imei1, imei2, imei3, imei4, imei5, imei6, imei7)
imei = (imei0<<0) | (imei1<<8) | (imei2<<16) | (imei3<<24) |
(imei4<<32) | (imei5<<40) | (imei6<<48) | (imei3<<56)
* 0xd2
通信量の上限を設定する(単位はbyte、4byteで指定)
Default: 0x00100000 (1MB)
write: 5byte
(0xd2, b0, b1, b2, b3)
maxbyte = (b0<<0) | (b1<<8) | (b2<<16) | (b3<<24)
* 0xd3
通信可能なバイト数を取得する
write: 1byte
(0xd3)
read : 6byte
(1, 4, b0, b1, b2, b3)
remainbyte = (b0<<0) | (b1<<8) | (b2<<16) | (b3<<24)
* 0xd4
PLMNを設定する
write: 3byte
(0xd4, plmn0, plmn1)
plmn = (plmn0<<0) | (plmn1<<8)
read : 2byte
(status, 0)
status| 1:success, 5:error
* 0xd5
PLMNを取得する
write: 1byte
(0xd5)
read : 4byte
(1, 2, plmn0, plmn1)
plmn = (plmn0<<0) | (plmn1<<8)
* 0xd6
接続状況を取得する
write: 1byte
(0xd6)
read : 1byte
(status)
status| 0:not connect, 1:connect, 5:error
* 0xff
MixSodaのバージョンを取得する
write: 1byte
(0xff)
read : 1byte
(ver)
* 0xfe
ascii文字をuart送信する(末尾に'\n'を自動付加)
uart送信後に受信した1行を取得
write: (1+n)byte
(0xfe, char0, char1, ..., char(n-1))
read : Nbyte
(char0, char1, char2, ..., char(N-1))
コード例
変数Aの値を即時送信する
10 POKE #700,#21,0,0,0,(A>>0)&#FF,(A>>8)&#FF,0,0 20 R=I2CW(#4F,#700,8)
#704のアドレスから128byte送信する
10 I=0 20 POKE #700,#20,0,0,0 30 R=I2CW(#4F,#700,4,#704+I,8) 40 I=I+8 50 IF I<128 GOTO 30 60 POKE #700,#24 70 R=I2CW(#4F,#700,1)
数値を1つ受信する
10 POKE #700,#30 20 R=I2CR(#4F,#700,1,#710,8) 30 ?(PEEK(#714)<<0)+(PEEK(#715)<<8)
※送信されたデータはMixServerで取得可能です。リファレンスはこちら。
Support

- 「IchigoJam」は B Inc社の商標又は登録商標です。
- IchigoJam web font : CC BY IchigoJam http://ichigojam.net/ / BALLOON a.k.a. Fu-sen. https://15jamrecipe.jimdo.com/