ボクにもわかる電子工作

Raspberry Pi、IchigoJam、Wi-Fi、BLE、XBee、RN-42、ESP-WROOM-02、ESP32

全体表示

[ リスト ]

IchigoJam BASICのIoTコマンド×sakura.ioモジュールで、Ambientへデータを蓄積する実験を行ってみました。

sakura.ioモジュールと、発売されたばかりのIchigoSodaの組み合わせで送信することが出来ます。
sakura.io製品:

IchigoSoda/IchigoJam for sakura.io (Amazonでの販売ページ)

sakura.io さくらの通信モジュール LTE (Amazonでの販売ページ)
ボクは、まだIchigoSodaを入手していないので、写真のような組み合わせで実験してみました。

イメージ 1
IchigoJam用コンピュータ電子工作学習キット(CQ出版社 IF ICH-KIT)に、sakura.ioモジュールを接続し、IchigoJam (ベータ版ファームウェア)から数字の1と65535を送信したときの様子(送信可能な数値の範囲は0〜65535)。

IoTコマンドは、昨日、リリースされたIchigoJamのベータ版でサポートされたコマンドです。IchigoJamとsakura.ioモジュールとの組み合わせで、簡単にsakura.ioへ数値データを送信することが出来ます。
数字の1を送信したいときは「IoT.OUT 1」のように入力するだけです。
IoT.OUT 1          :' 数字の1を送信
IoT.OUT 65535   :' 数字の65535を送信
IoT.OUT ana()     :' BTN端子の入力電圧に応じた数字(0〜1023)を送信

for I=0 to I+1:iot.out ana():wait 600:next      :' 20秒ごとにBTN端子の状態を送信
IchigoJam用のβ版ファームウェアは下記からダウンロードすることが出来ます。
IchigoJam用ファームウェア:

sakura.ioからAmbientへデータ転送

IchigoJam×sakura.ioモジュールから送信された数値データを、Node-REDでAmbientへ転送してみました。Node-REDはIoT用のゲートウェイを簡単に製作することが可能なソフトウェアです。Raspberry Piをはじめ、様々なプラットフォーム上で動作します。
データの流れ:
IchigoJam --> sakura.io --> Node-RED --> Ambient
イメージ 2
IchigoJamから送信したデータをNode-REDでAmbientへ転送する。

Node-REDとNode-RED用のAmbientノードのインストール方法や操作方法については、下記を参照してください。※後半の「IoT用クラウドサービスAmbientへデータを送信する」も忘れずに実施してください。
インストール手順
sakura.ioからAmbientへデータを転送するためのNode-RED用のフローを下記に公開しました。ブラウザなどでアクセスし、[Ctrl]+[A]と[Ctrl]+[C]でコピーしておき、Node-RED画面の右上のメニューアイコン(3本の横線)をクリックし、「読込み」→「クリップボード」と選択後、[Ctrl]+[V]でペーストしてください。
「読込み」を実行後、フローのエリア内をマウスでクリックすると、フロー図が表示されます。フロー図内で下記を設定し、「デプロイ」を実行すれば、準備完了です。
  • Ambientノードをダブルクリックし、Ambientのサイトから得たChannel Id とWrite Keyを入力する。
  • sakura.ioノード内のURL(またはpath)のwssから始まる文字列の「xxxx」の部分へ、sakura.ioから得たトークンを入力する。

      初期値:wss://api.sakura.io/ws/v1/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      入力例:wss://api.sakura.io/ws/v1/01234567-89ab-cdef-0123-456789abcdef
IchigoJamからIoTコマンドで送信した数値データは、Node-REDがsakura.ioからAmbientへ転送し、Ambientは数値データをグラフします。グラフはパソコンやスマホで閲覧することが出来ます。

イメージ 3
20秒ごとに、IchigoJamからデータを送信し、Ambientでグラフ化したときの様子

IoT命令のない時。。。ある時。。。

現時点では、IoT命令は、IchigoJamのβ版のファームウェアのみでしかサポートされていません。
正式リリース版のIchigoJam Ver 1.1、1.2.1〜1.2.3で動かすには以下のようなプログラムになります。
new
1 cls:?"SAKURA IoT
2 ?"アナログ ニュウリョク A=BTN
3 ?"I2C SDA ポート IN3
4 ?"I2C SCL ポート EX1/SCL
5 W=600:?"ソクテイ カンカク W=";W
6 ' CC BY Wataru Kunino
100 'INIT
210 A=ana(0):?"ana(0)=";A
220 poke#700,33,10,1,76,A&255,A>>8,0,0,0,0,0,0:N=11:gosub900
390 led0:waitW:led1:goto100
900 'I2C
910 C=0:forI=0toN
920 C=C^peek(#700+I):next
930 N=N+1:poke#700+N,C:
940 ifi2cw(79,#700,1,#701,N)?"E
950 forI=0toN:?peek(#700+I);
960 ?" ";:next:?
970 return

run
ana(0)=832
33 10 1 76 64 3 0 0 0 0 0 0 37
ana(0)=831
33 10 1 76 63 3 0 0 0 0 0 0 90
ana(0)=833
33 10 1 76 65 3 0 0 0 0 0 0 36
ana(0)=832
33 10 1 76 64 3 0 0 0 0 0 0 37
IoT命令があれば、ほぼ、同じ処理を以下の1行で実行することが出来ます。
for I=0 to I+1:iot.out ana():for J=0 to 12:?peek(#800+J);" ";:next:?:wait 600:next

リンク集

1. IchigoJam×さくらのIoTで遠隔地の照度を測るワイヤレスセンサ

2. Node-REDで簡単ESP8266/ESP32 ワイヤレスセンサ用IoTゲートウェイ
by ボクにもわかるIchigoJam用 IchigoSoda / sakura.io

この記事に

閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


みんなの更新記事