Wio NODE のメモ

1年以上前、[Wio NODE](http://wiki.seeedstudio.com/Wio_Node/) を使う機会があった際に記事を書きかけにして、そのまま下書き状態になっていたものを発見したので公開しておこうと思います。
（概要の情報を書いた部分がメインという感じで、使ってみた話の部分がなかったりしますが・・・）

## Wio NODE について

### 概要

この記事で取り上げる「[Wio NODE](http://wiki.seeedstudio.com/Wio_Node/)」は、ESP-WROOM-02搭載の小型開発ボードで、[Seeed さん](https://www.seeed.co.jp/)が提供しています。国内では[スイッチサイエンスさん](https://www.switch-science.com/catalog/2799/)等で取り扱いがあります。

![WioNODE.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/0fca3427-9f42-fb1f-d79c-d70799ed51d8.jpeg)

[公式ページ](http://wiki.seeedstudio.com/Wio_Node/)に書かれた特徴の記載をいくつか抜粋して見てみます。

> **Features**
・No hardware programming or No breadboard or No jumper wires or No soldering required.
・A lot of Grove modules are supported (Check the list in Mobile App).
・Visual configuration instead of microcontroller programming.
・Bring Real-world to Virtual platform. All sensors become virtual RESTful API.
・Android & iOS Apps to manage Wio Node.
・IFTTT supported by Seeed's Channel
>
引用・抜粋元： [Seeed Wiki の Wio Node のページ（特徴について）](http://wiki.seeedstudio.com/Wio_Node/#features)

上記を見ると、以下のような特徴が書かれていました（一部意訳や省略をしています）。

- ハンダ付けやハードウェアのプログラミング等が不要。
- たくさんのGROVEモジュールを活用可能（モバイル用アプリでリストを参照可能）
- プログラミングの代わりにアプリのGUI上での設定で利用可能
- 対応するセンサーを REST API で利用可能
- Android・iOS用のモバイルアプリで扱える
- ~~[IFTTT](https://ifttt.com/) との連携が可能~~

**※ 以前はIFTTTで使えていたのですが、以下の記事に書かれてたりするように、IFTTT連携機能は現在では提供されなくなりました・・・**
　●IFTTTとの連携が出来なくなるWio Node | ボクにもわかる電子工作のブログ
　　https://bokunimo.net/blog/esp/451/

[公式のハードウェア概要の記載](http://wiki.seeedstudio.com/Wio_Node/#hardware-overview)にある通り、本体には Groveコネクタが2つ搭載されており、様々なモジュールを接続可能です。

![WioNODE：GROVE.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/8b93170e-c487-ca97-b157-4d02f30555e2.jpeg)

また、モバイルアプリ（AndroidとiOS用の専用アプリ）を利用した開発ができます。

- iOS用の専用アプリ 「Wio Link」
    - https://itunes.apple.com/jp/app/wio-link/id1054893491
- Android用の専用アプリ 「Wio」
    - https://play.google.com/store/apps/details?id=cc.seeed.iot.ap&hl=ja

### Groveについての補足

Grove（システム）は、Seeedさんによるコネクタの規格です。
共通化された特定形状のコネクタを利用することで、電子工作での配線を簡単化してくれるものです。

- 名前をよく聞くGroveって、おいしいの？
    - https://speakerdeck.com/magicpocket/introduction-to-grove
- 【公式情報】 Grove System - Seeed Wiki
    - http://wiki.seeedstudio.com/Grove_System/

Wio NODE以外の電子工作等でよく見かけるボード・デバイスでも、拡張ボードを別途準備することで利用可能です。拡張ボードの例は、例えば以下の通りです（細かな試用については、リンク先の商品ページ等をご覧ください）。

- Raspberry Pi
    - [GrovePi+ - スイッチサイエンス](https://www.switch-science.com/catalog/2129/)
    - [GROVE - ベースHAT for Raspberry Pi - スイッチサイエンス](https://www.switch-science.com/catalog/5336/)
- micro:bit
    - [micro:bit用GROVEシールド v2.0 - スイッチサイエンス](https://www.switch-science.com/catalog/5434/)
- Arduino
    - [GROVE - ベースシールド - スイッチサイエンス](https://www.switch-science.com/catalog/1293/)
- MESH（GPIOブロック）
    - [MESH GPIOブロック用Groveボード - スイッチサイエンス](https://www.switch-science.com/catalog/3438/)

また、[M5Stack](https://m5stack.com/)は標準でGroveが利用可能なコネクタを搭載しており、拡張ボードなしで利用できます。

## 試してみた事例
こちらは、スマートスピーカーのスキル（アプリ的なもの）をビジュアルプログラミングで作れる [Voiceflow](https://www.voiceflow.com/) を組み合わせた事例。ビジュアルプログラミングではない Node.js での実装でも、Alexaスキルなどでは HTTPリクエストを組み込めるので、その機能を使って Wio NODE と連携させています。
<blockquote class="twitter-tweet" data-conversation="none"><p lang="ja" dir="ltr">また、 <a href="https://twitter.com/hashtag/voiceflow?src=hash&amp;ref_src=twsrc%5Etfw">#voiceflow</a> のお試しスキルで、外部APIを使うものを作ってみました。<br><br>この前のものは、IFTTT経由でのLINEアプリへの通知（Webhook＋LINE Notify）をやるものでしたが、<br>今回は、Wio NODE につながった LEDテープを、インターネット経由で光らせたり、消したり、というものです。<a href="https://twitter.com/hashtag/voicedg?src=hash&amp;ref_src=twsrc%5Etfw">#voicedg</a> <a href="https://t.co/uMjaO0XApv">pic.twitter.com/uMjaO0XApv</a></p>&mdash; you (@youtoy) <a href="https://twitter.com/youtoy/status/1140606060719304704?ref_src=twsrc%5Etfw">June 17, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

この記事の下書きを着手するきっかけとなった、JavaScriptなイベントでの LT登壇を終えた時の写真です。このときは、Node.js のプログラムと Wio NODE を連携させたりした覚えがあります。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">今日は素敵なイベントで、楽しかったです！<br>皆さま、お疲れ様でした ＆ ありがとうございました！<br><br>あと、写真は片付け中に撮った、登壇で用いた一式。<a href="https://twitter.com/hashtag/obniz?src=hash&amp;ref_src=twsrc%5Etfw">#obniz</a> に、Wio Node、GROVEのモジュールです。<br><br> <a href="https://twitter.com/hashtag/jsfes?src=hash&amp;ref_src=twsrc%5Etfw">#jsfes</a> <a href="https://t.co/XwOwvsvV9E">pic.twitter.com/XwOwvsvV9E</a></p>&mdash; you (@youtoy) <a href="https://twitter.com/youtoy/status/1134793625512972288?ref_src=twsrc%5Etfw">June 1, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

ちなみに、このイベントでした。
　●初夏のJavaScript祭 in メンバーズキャリア - Javascript祭り | Doorkeeper
　　https://javascript-fes.doorkeeper.jp/events/90894
そして、LT資料はこちら。
　●JavaScript初心者が紹介するデバイスやアプリで楽しむIoT： #jsfes
　　https://www.slideshare.net/yo-to/20190601-javascript-iot-149228100
![JavaScript初心者が紹介するデバイスやアプリで楽しむIoT：jsfes.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/481bada1-2ec3-f601-e961-df26464f0e17.jpeg)

## おわりに
実際に試した話の部分の、仕組みの記載は別の機会などで。