u-blox 公開技術コンテンツ

ODIN-W2でmilkcocoa

━ データのアップと表示まで(2017年4月)━

用意するもの

EVK-ODIN-W2ODIN-W2評価ボード

Application
Shield
:温度計を使います。

WiFiルーターでのインターネット接続

ターミナルプログラム

目次

1 ODIN-W2の構成

2 ODIN-W2の開発環境

3 mbedオンライン環境試行

3.1 mbed環境でのユーザー登録

3.2 ボード選択:EVK-ODIN-W2

3.3 コードインポート:mbed-ox-example-wifi

3.4 mbed_app.json の修正

3.5 コード書き込み・実行

4 milkcocoa側の準備

5 mbed Application Shield の準備

5.1 ボード準備

5.2 対応ソースコードの準備

6 milkcocoaでのデータの表示

6.1 初期設定

6.2 データ準備

6.3 折れ線グラフ設定

6.4 半円グラフ設定

6.5 最終表示データ

7 参考・免責・謝辞

?Milkcocoaとは?

”Milkcocoaは、IoTデバイス・スマートフォン・PC間で簡単にリアルタイムなデータのやり取りが出来るようになるクラウドプラットフォームです。とのことです。uhuruさんでサービスされてます。

詳しくはコチラhttp://uhuru.co.jp/service/milkcocoa/

素敵なサービスをありがとうございます。

この文書では、ODIN-W2の評価ボードである、EVK-ODIN-W2を用いて、mbedでのソースbuild から、milkcocoa のサービスを用いたデータの表示まで紹介します。

1.ODIN-W2の構成

?????? デュアルバンドWi-Fi 2.4GHzおよび5GHz (a/b/g 2x2MIMO)

?????? Bluetooth Low EnergyおよびクラシックBluetooth対応デュアル・モードBluetooth v4.0 (Bluetooth Smart Ready)

?????? マルチ無線同時接続

?????? Wi-Fiドライバー、Bluetoothスタック、およびアプリケーション内蔵

?????? IPv4および制限付きIPv6

?????? イーサネット用RMII

2.ODIN-W2の開発環境

ODIN-W2 で使用できる開発環境を下記に示します。

環境名称

Build
環境

備考・参考URL

mbed (web)オンラインコンパイラ 

対応済 (mbec os 3)

https://developer.mbed.org/

 

yotta
(mbed os)

対応済 (mbed os 3)

http://yottadocs.mbed.com/
https://github.com/u-blox/mbed-examples-odin-w2/blob/master/udp-time-client-wifi/README.md

Eclipse IDE for C/C++ Developers

対応済
(yotta/mbec-cli
依存)

http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/neonr

System Workbench for STM32 (Eclipse派生)

対応済
(yotta/mbed-cli
依存)

http://www.openstm32.org/HomePage

 

IAR(有料)

未確認

STM32F439デバイスとしては対応済
https://www.iar.com/search-results/#!?query=STM32F439&tab=devices

VisualGDB (有料)

未確認

STM32F439デバイスとしては対応済
http://visualgdb.com/

今回は、mbed オンラインコンパイラ を用いた開発環境を紹介します。?

3.mbedオンライン環境試行

ここではまず、wifi example までコンパイルし、実行してみます。下記の手順になります。

1.mbed環境でのユーザー登録

2.ボード選択:EVK-ODIN-W2

3.コードインポート:mbed-ox-example-wifi

4.コード修正:config

5.コード書き込み・実行

3.1????? mbed環境でのユーザー登録

https://developer.mbed.org/ ”Login/Singnup”からユーザー登録をします。

  

  

スクロールして、下の方の項目も入力し 

下の方にあるSignUpを押します。

適宜入力し、送られてきたメールからユーザー登録を完了させてください。

?

3.2????? ボード選択:EVK-ODIN-W2

[1]https://developer.mbed.org/ Hardware から Bards を選択します。

[2]“Target Vender”u-blox AG にチェックをつけると、EVK-ODIN-W2が選択できます。 選択します。

[3]Open mbed Compiler を選択します。

[4]新しいプログラムの作成のメニューはキャンセルで構いません。

 1 2  

?

 3  

?

これで、ボード選択までは終わりました。

?

?

3.3????? コードインポート:mbed-ox-example-wifi

ここでは、サンプルプログラムであるmbed-ox-example-wifi のインポートをします。

[1] コードインポートを選択します。

[2] mbed os example wifi で検索します。

[3]mbed-ox-example-wifi を選択します。

[4]mbed_app.json を適宜修正します。

 1 2 3

 4?

?

3.4????? mbed_app.json の修正

下記の修正をします。

{

??? “config”: {


“wifi-ssid”: {


“help”: “WiFi SSID”,


“value”: “\”SSID\””??
?→自分の用意したアクセスポイントの SSID を入力します。

??????? },


“wifi-password”: {


“help”: “WiFi Password”,


“value”: “\”PASSWORD\””
 自分の用意したアクセスポイントの パスワードを入力します。

??????? },

3.5????? コード書き込み・実行

?

[1]”保存して [2]”コンパイルします。

[3]コンパイルが成功すると自動的に、ダウンロードされます。

[4]ダウンロードしたファイルMBEDフォルダに転送することで、

  EVK-ODIN-W2に書き込みます。

[5]9600bps
8bit/N
Teraterm を開いてボードをRESETし観察します。

?

 1 2 3 

?

 5 4 


[5]このようなログが取れれば成功です。取れなければ、修正内容の確認をお願いします。


4.milkcocoa側の準備

[1]https://mlkcca.com/にアクセスし、無料登録を選択。

[2] 無料登録します。

[3] 登録しログインした画面、新しいアプリを作るを選択。

[4] 任意の名前で新しいアプリを作成します。

 2 1 

 3 4

[5]Ardino/EPS8266 を選択します。これが、mbed での実装に一番近いので。ソースコード中の ”bluej1mwvifs”IDが重要です。 あとで ODIN側のソースに組み込みます。

?

 5 5

?


5.mbed Application Shield の準備

5.1??? ボード準備

mbed Application Shield(下記)EVK-ODIN-W2に接続します。

こんな感じなります。

5.2????? 対応ソースコードの準備

下記から、[1]プログラムをインポートする。

https://developer.mbed.org/users/Okoshi/code/mbed-os-example-wifi-milkcocoa/

?

LM75B(温度計)とMilkcocoa-os のライブラリがあらかじめインポートされてます。

mbed-os-example-wifi と同じように、mbed_app.jsonを修正します。

?

mbed_app.json

{

??? “config”: {

“milkcocoa_app_id”: {

“help”: “MilkCocoa Application ID”,

“value”: “\”xxxxxxxxxxxx\””, → P8 にある、MILKOCOA_APP_ID
をココに入れます。

“macro_name”: “CONFIG_MILKCOCOA_APP_ID”

},???????

“milkcocoa_datastore”: {

“help”: “Milkcocoa Datastore”,

“value”: “\”xxxxxxxxx\””, 任意の名前を付けます。CONFIG_MILKCOCOA_DATASTORE”

“macro_name”: “CONFIG_MILKCOCOA_DATASTORE”

??????? },??

“serial_console_speed”: {

“help”: “Baud rate of the serial console”,

“value”: 115200, 適宜修正:シリアルポートのスピード

“macro_name”: “MBED_SERIAL_UART_SPEED”

??????? },

“wifi-ssid”: {

“help”: “WiFi SSID”,

“value”: “\”xxxxxxxxxxxxx\”” 自分の用意したアクセスポイントの SSID を入力します。

??????? },

“wifi-password”: {

“help”: “WiFi Password”,

“value”: “\”xxxxxxxxxxx\”” 自分の用意したアクセスポイントの パスワード を入力します。

??????? },

“wifi-tx”: {

?

mbed-os-example-wifi
と同じように、Compile 書き込みを実行します。

RESET解除後に通信が始まるハズです。

?こんな感じのログが取れればOKです。

この ”28” 28℃ということです。シールドを挿し忘れると、0℃で表示されます。

milkcocoaでは下記のように表示されます。28℃milkcocoa にアップロードされてます。

?

?

6?milkcocoaでのデータの表示

6.1????? 初期設定

milkcocoaにログインし、

[1]データストアを選択

[2]P8で指定した、データ名を探す。

[3]リスト表示する。

[4]データ可視化(β)を選択する。

?

 1 2 3 4

?

?

?

?

6.2????? データ準備

[1]DATA SOURCES “ADD”を選択します。

[2][3][4] TYPE NAME DATASTORE をそれぞれ設定します。DATA STORE P8と一致させる必要があります。

 1 2 3 4 

?

6.3????? 折れ線グラフ設定

[1]ADD PANE を選択し、[2]
“+”
を選択します。

[3]Sparklineを選択し、[4]は任意のTITLEを入力します。

[5]”+DATASOURCE”を押すことで[6]は半自動で入力できます。

 1 2 3 4 6 5 

?

?

6.4????? 半円グラフ設定

[1]ADD PANE を選択し、[2]
“+”
を選択します。

[3]Gaugeを選択し、[4]は任意のTITLEを入力します。

[5]”+DATASOURCE”を押すことで[6]は半自動で入力できます。

[6]単位”℃”を入力します。

[7][8]温度の上限(=50)と下限(=0)を入力します。

?

 1 2 3 4 6 5 7 8 9 

6.5????? 最終表示データ

最終的に、折れ線グラフと、半円グラフが生成され、データのアップデート毎に値が更新されます。

7参考・免責・謝辞

参考URL

Getting Started on the Online Compiler

?? https://docs.mbed.com/docs/mbed-os-handbook/en/latest/getting_started/online_comp_getting_started/

milkcocoa」に接続し、データのプッシュ、送信、取得ができるライブラリ

https://developer.mbed.org/users/jksoft/code/Milkcocoa-os/

勝さん、milkcocoaライブラリを mbed os 5 に対応していただきありがとうございました

milkcocoaデータストアについて

https://mlkcca.com/document/dashboard/datastore.html

?

なお、本文章は、現時点で入手できるデバイスやソフトウエアの情報を元に富士エレクトロニクスで試行した結果を説明したものです。本文書の内容、不明点を持って、該当ハードウエア、ソフトウエアの部門への質問はお控えください。富士エレクトロニクスとしては、下記でUBLOX製品のお問い合わせを承っております。気軽にご利用ください。(2017/4/17)

http://www.fujiele.co.jp/contact/?contact_maker=15

?