Wio Nodeの初心者向けハンズオンのメモです。
ハンズオン内容
- Wio Node + スマホ + センサ でデータを取得しよう。
- Wio Node + Node-RED + Ambient でグラフを作ってみよう。
- Wio Node を arduino化してLチカしよう。
ハンズオンで使うもの
- Wio Node 本体
- Grooveセンサ
- arduino IDEをインストールしたPC
- WioLink をインストールしたスマホ
- FTDI USBシリアル変換コネクタ
事前準備
Wio Node用スマホアプリ準備
- iPhone/Androidのスマホで「Wio-Link」をインストール
- 以下のサイトの「Sign-up a user」からユーザ登録する。
Use SEEED’s user system - 2.で登録したメールアドレス、パスワードでWio Linkでログインする。
- 以下のサイトの「get the user token」からtoken(v1)を取得しメモしておく。
Use SEEED’s user system
IBM Cloud と Node-Red準備
- 以下の記事を参考にIBM Cloudのアカウント作成とNode-REDインスタンス起動
[IBM LiteアカウントでNode-REDインスタンスを作成する]
(https://qiita.com/makaishi2/items/ed9d4412331d7d65fde5) - メニューの「パレットの管理」→「ノードを追加」で「ノードを検索」の欄に「node-red-contrib-wio-seeed」を入力しノードを追加。
Ambient準備
- 以下の記事を参考に「1.ユーザー登録(無料)」「2.チャネル生成」まで実施しておく。
Ambientを使ってみる
PC準備
- 以下のサイトからarduino IDEのインストール
https://www.arduino.cc/en/main/software - 以下の記事を参考にFTDI USBシリアル変換ドライバをPCにインストール
Winの場合: FTDIのUSBシリアル変換器のドライバのインストール法(1)
Macの場合:VCPドライバのインストール(mac編)
ハンズオン内容
Wio Node + スマホ + センサ でデータを取得
デバイス登録と設定
- Wio Node にUSBケーブルをつないで電源を入れる。
- スマホでアプリWio-Linkを起動
- 右上の「+」ボタンを押し、「Wio Node」を選択
- 画面のメッセージに従ってFuncボタンを4秒押し、青いライトがゆっくり点滅を始めるのを待つ。
- スマホのWiFi設定画面から「WioLink_XXXXXX」というSSIDを探して接続する。
※ 複数の人が同時に設定すると、スマホから同時に複数のWio Nodeが見えて、どれが自分のか分からなくなるので、一人づつセットアップすること。 - 接続できたらWio Nodeのアイコンを選択。
センサーからデータを取得
- センサーを一つチョイス。
- センサーをWio NodeのPort0にケーブルで接続。
- 画面の下のセンサー一覧からセンサーを選択「GPIO -> Temperature&Humidity Pro」
- 「Update Firmware」を押す。
- 下にある「View API」を選択。
- 「GET」ボタンを押すと湿度や温度のデータが取得できる。
- access_tokenの値をコピペ、メモなどでPC側で使えるようにしておく。
Wio Node + Node-RED + Ambient でグラフ化
Node-Redでデータ取得
- 左上の「ノードを検索」からwioと入力。
- 「Sensor」ノードを選択しドラッグ&ドロップする。
- 「Manual Token」を選択。
- Serverを「us.wio.seeed.io」に変更、Tokenに事前準備したtoken(v1)を入力。
- Nodeの選択肢にスマホ上で設定したWioNodeが出てくるので選択。
- InjectとDebugノードを接続。
- デプロイボタンを押す。
- Injectのボタンを押すとデバッグに温度が表示される。
- Injectの中身を10秒ごとにデータ取得するように変更する。
Ambientでグラフ化
- Ambientにログインし、Myチャネルから「チャネルを作る」を選択。
- 「チャネルxxxx」というチャネルが作成されるのでチャネルIDとライトキーをメモっておく。
- Node-Redでパレット管理のノード追加からAmbientをインストールする。
- Node-Redで、WioNodeのセンサーがある画面にAmbientとfunctionノードを追加する。
- 以下の順番でつなぐ「Inject→Sensor→function→Ambient」(Debugはつないだノードのログを見ることができる)
- Ambientノードに「チャネルID」と「ライトキー」を設定する。
- functionノードのコードに以下を設定し、デプロイします。
var data={
"d1": msg.payload
}
msg.payload = data
return msg;
TIPS
- 書き込み時のシリアルスピード115200がデフォルトだが921600に変更すると書き込み速度が上がる
- PCとバッテリー(Li-PoまたはLi-MHモバイルバッテリー)の組み合わせだと書き込みが失敗する可能性が高まる(USBシリアルを接続するPCとGNDレベルが合っていないことが原因の可能性。)
- USB電源でLi-Poバッテリーを充電可能でした!これでPH-2ケーブルを抜き差しする必要が無くなる(常時起動→バッテリー容量が無くなったらUSBケーブルを挿すという運用)が可能
参考リンク
- スマホアプリから操作できて、Groveセンサーと繋げられる小型IoTデバイス「Wio Node」
- [dotstudio の Wio Node紹介記事]
(https://dotstud.io/docs/wionode/) - [「Wio Node」で半田付けなしの電子工作!温度計作りでIoTはじめの一歩]
(https://dotstud.io/blog/seeed-wionode-hands-on/) - IBM Cloud (aka Bluemix) ライト・アカウント作成手順
- IBM LiteアカウントでNode-REDインスタンスを作成する
- Node-RED超入門
- みんなで同時に操作できる!Wio Nodeを使って自作のソーシャルIoTラジコンを作ろう
- はじめてのWio-Node Node-red
- Groveシステムを使用して何ができるのか?
- Wio node + Groveセンサー + Node-RED + Ambientで超簡単IoT
- Wio NodeのArduino化
- Grove WIO NODEのファームウェアの戻し方 Windows編
- [Advanced User Guide]
(https://github.com/Seeed-Studio/Wio_Link/wiki/Advanced-User-Guide)