ichigojamでioTを実現する
MixSoda

MixSoda単品販売

MixSoda+IchigoJamボードセット

22,220 円(税込)

LTE回線を使ってデータを送受信できる拡張ボード「MixSoda」と
IchigoJam」のセット商品です。

初回ロットは完売しました。

大口・大量納品も可能です。
詳しくはお問い合わせください。

MixSodaのご利用には「MixServer 」の契約が必要です。

Case

導入事例1

Sujiya Systems

青森市営バスのバスロケーション・システム車載器として導入
http://www.sinjidai.com/sujiya/

https://www.city.aomori.aomori.jp/kotsu-kanri/koutsu/oshirase/20220824buslocation-torikumi-youtube.html

How to Use

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コマンド一覧 - LPC810 プロトコル: i2c スレーブアドレス: 0x4f --- 0x21 4byteのデータを1つ即時送信する 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 送信キューの中身をすべて送信する write: 1byte (0x24) read : 3byte (status, 0, 0) status| 1:success, 5:error --- 0x30 4byteのデータを1つ取得する 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) --- 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 LTEボードの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 LTEボードの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で指定) write: 5byte (0xd2, b0, b1, b2, b3) maxbyte = (b0<<0) | (b1<<8) | (b2<<16) | (b3<<24) --- 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

support mail