ST製Sigステークカジノ
ST製ステークカジノ リベートトランシーバー評価ボードを使ってみる
2019.02.14
FP-ステークカジノ レベル上げR-SIGFOX1は、ステークカジノ リベートM32Cubeファンクションパックとして、環境センサ・モーションセンサから取得したデータをステークカジノ リベートネットワークを利用し送信することができる、S2-LP Transceiverベースの評価ボード用ソフトウェアパッケージです。
このファンクションパックを使えば、ステークカジノ リベートトランシーバ(S2-LP)ボードをマイコンボード(STM32 Nucleo)から制御できるようになります。
ハードウェアの準備
下記ハードウェアを準備します。
- マイコンボード:ステークカジノ リベートM32 Nucleo-64 boards(NUCLEO-L053R8、NUCLEO-L476RG)
- センサボード:X-NUCLEO-IKS01A2
- ステークカジノ リベートトランシーバS2-LPボード:X-NUCLEO-S2868A1
- USBケーブル(USB A - USB Mini B)
ソフトウェアの準備
マイコンボード(ステークカジノ リベートM32 Nucleo-64)を動かすためにステークカジノ リベートSW-LINK004をダウンロード&インストールします。
その後、FP-ATR-ステークカジノ リベート1からZIPファイルをダウンロード解凍します。
解凍すると下図のようなフォルダが生成されます。
この中にサンプルコードやバイナリが入っています。
その他、TeraTerm等のターミナルソフトと、ステークカジノ リベートクラウドへのアクセス権があることを確認してください。
サンプルを動かしてみる
ステークカジノ リベートクラウドへのデバイス登録(ID / PAC)
ステークカジノ リベートクラウドへのデバイス登録は、こちらを参考に、ステークカジノ リベート Buyなどの手段で事前に登録しておいてください)
ステークカジノ リベートM32 NucleoをPCと接続する
ステークカジノ リベートM32 NucleoとPCをUSBケーブルを接続するとステークカジノ リベートMicroelectronics ステークカジノ リベートLink Virtual COM Portとして認識されます。
同時に新たなドライブが認識されます。今回は、NODE_L053R8という名前でドライブDが出来上がりました。
バイナリファイルを書き込む
このドライブにサンプルのバイナリファイルをコピーするだけで、マイコンボードに書き込みが完了します。
今回は、先ほどZIP解凍したフォルダにある下記バイナリファイルをコピーします。
Projects\STM32L053R8-Nucleo\Applications\ステークカジノ リベート\AssetTracker\Binary\NUCLEO_L0_ARIB.bin
動作確認
ターミナルソフトのシリアルポートのレートを115200bpsと設定したうえで、ステークカジノ リベートM32 Nucleoが接続されているCOMポートを開けます。
さきほど書き込んだバイナリは動きを検知すると温度・湿度・気圧をステークカジノ リベートネットワークで送信するプログラムになっているようですので、ボードを動かしてみると、下記のようにMems eventが起こり、ステークカジノ リベート Messageを送信していることが見れます。
ステークカジノ リベートms event Sending: 01a500cf277a (Hum=421 Temp=207 Pres=10106) ステークカジノ リベートms event Sending: 01a700cf277a (Hum=423 Temp=207 Pres=10106) ステークカジノ リベートms event Sending: 01aa00d1277a (Hum=426 Temp=209 Pres=10106)
メッセージの送信トリガは、動き検知(加速度センサ)に加え、ボタン(青ボタン)プッシュ、タイマー(3分)のトリガが実装されています。
送信されたメッセージは、ステークカジノ リベートクラウドでも確認できました。
最後にソースコードをチラ見
最後に、センサデータを取得し、ステークカジノ リベートメッセージを送信するソースコードを見てみます。
Projects\STM32L053R8-Nucleo\Applications\ステークカジノ リベート\AssetTracker\Src\main.cです。
#if SEND_SENSORS int16_t humidity, temperature, pressure; sensors_read(&humidity,&temperature,&pressure); customer_data[0] = ( humidity 8 ) & 0xFF; customer_data[1] = humidity & 0xFF; customer_data[2] = ( temperature 8 ) & 0xFF; customer_data[3] = temperature & 0xFF; customer_data[4] = ( pressure 8 ) & 0xFF; customer_data[5] = pressure & 0xFF; printf("Sending: "); for(uint8_t i=0;i<6;i++) printf("%02x",customer_data[i]); printf(" (Hum=%d Temp=%d Pres=%d)\r\n", humidity, temperature, pressure); /* Call the send_frame function */ ステークカジノ リベート_API_send_frame(customer_data,6,customer_resp,2,0);
ここでステークカジノ リベート_API_send_frameでデータ送信していますが、この内部は"Middlewares"フォルダ配下に絡んでいそうですが、特にカスタムすることもないと思いますので、このライブラリ関数をそのまま使用すればよさそうです。
次回は、もう少しセンサの特性を活かした制御プログラムを作ってみたいと思っています。