Grove IoT スターターキット for SORACOM のセットアップの儀(Windows10)

どうもくろにゃんこたんです。
前の記事から大分空いてしまいました・・・
今回は(みんなMacなので)Windows10 64bitでのWioLTEをLチカさせるまでのインストール手順をメモります。

公式
◯LTEモデム搭載プロトタイプ向けデバイス Wio LTE をセットアップする
https://dev.soracom.io/jp/start/lte_hw_wio-lte/

こちらで正直十分な気がしますが、それでも結構手間取るところもありますので、順をちょっと替えたりして出来るだけ細かく解説していきます!

Arduinoのセットアップ

ARDUINO公式サイトへ行きます。
https://www.arduino.cc/en/main/software

Download the Arduino IDE
の項目から「Windows Installer」をクリックします。

DONATE(寄付)の画面に移動しますので、気にせず「JUST DOWNLOAD」をクリック。
ダウンロードします。(約90MBあるので注意。そして結構重い・・・)
重いのでハンズオンに参加される方は、大体こちらのインストールは済ませておくように。とさらっと注意が載っていることが多いので注意です。
当日に始まってからやると、大分出遅れます。

無事ダウンロードしたら、早速インストーラーを起動。
規約に同意画面です。
(お約束ですが)規約をしっかり読んでから「I Agree」をクリック。

ここは大体そのままでいいです。

ここもそのままでいいです。
インストールオプションが表示されますが、チェックもそのままで「Next」

Windowsの場合、ここでセキュリティの警告が出ることがあります。
気にせず(というか拒否したら使えないので)「インストール」

インストール中・・・

完了(・ω・)ノ
基本的にはエラーは出ないはず。

途中Windowsファイアウォールの許可画面が出ることがあります。
ここは意味が分かる人は「プライベートネットワーク」のみで良いと思います。(必要なときに許可をすればいいので)
もしくは公式通り、「パブリックネットワーク」もアクセスを許可してください。

Arduino IDEの起動と環境設定

無事に起動出来ました!
基本的なパッケージにはWio LTEは含まれていないので、ここからWio LTEを使えるように準備を行います。

メニューバーの「ファイル」から「環境設定」

赤枠の「追加のボードマネージャのURL」に下記JSONへのリンクを追記します。

https://raw.githubusercontent.com/Seeed-Studio/Seeed_Platform/master/package_seeeduino_boards_index.json

これでWioLTEの開発元Seeedさんのボード定義が読めるようになります。

入れたらこんな感じです。
「OK」で閉じます。

次に「ツール」から「ボード:◯◯◯」をマウスオーバーで「ボードマネージャ」をクリックします。

一覧が出てきますので
「seeed stm32」と入力して検索すると
「Seeed STM32F4 Boards by Seeed Studio 」が絞り込まれて表示されます。

こちらをクリックすると「インストール」ボタンが表示されますので、こちらをクリック。

ここも赤枠に注目して頂けると、80MBクラスのダウンロードが発生します。
ハンズオン前には最低でもここまでは終わらせてから臨みたいですね!

インストールが完了したら、メニューバーの「ツール」からボードを「Wio Tracker LTE」に変更します。
ここが結構重要で、、自分はここの選択をやっていなくて後で書き込み失敗などのエラーが発生しました。
また、Wio LTEライブラリもこちらのボードに変更しておかないと、スケッチ(サンプルプログラム)が見つけられないので注意。
これが言いたいからブログにしたと言っても過言では無いです(笑)

ドライバたちのインストール

コードを書く開発環境は整ったので、Arduinoボードとの接続環境を整えていきます。

◯Zadig
http://zadig.akeo.ie/
上記サイトから「Download」の
Zadig 2.3 (4.9 MB)
をクリック。

接続には、まずWinUSBが必要なので上記のブルーのボタンをクリックしてインストール。(詳しくは下記)
デフォルトで、「STM32 BOOTLOADER」が表示されます。(表示されていない場合はリストから選択してください)

Driver欄に「STTub30」→「WinUSB」となっていることを確認して、「Replace Driver」を行います。 

これでWindowsのデバイスマネージャーを開き、「ユニバーサル シリアル バスデバイス」の項目が追加されると思います。
ここで「STM32

また、Virtual COM Portというドライバもインストールします。

◯Github – Virtual COM Portデバイスドライバーのインストール
https://github.com/SeeedJP/WioLTEforArduino/wiki/InstallVCOMDriver-ja

大体上記の記事で進められます。
上記URLにアクセスしたら、文中の「stsw-stm32102.zip」をクリックしてダウンロード。
ダウンロード後
en.stsw-stm32102.zipを解凍して、VCP_V1.4.0_Setup.exeを実行します。

すると、C:\Program Files (x86)\STMicroelectronics\Software\Virtual comport driver
上記のパスにインストールされます。

無事完了しました。

デバイスドライバのインストールの完了画面が表示されればOKです。
時々下記の様なダイアログが複数出てきますので、気にせず「インストール」でインストールしてください。

通信受信用のTeratermを用意

Arduino IDEにもシリアルコンソールはあるにはあるのですが、Windows上では不安定。。。とのことなので、お馴染みのTeratermをインストールしておきます。
これで、Arduinoのからの出力を見ることが出来ます。
(勘で良い。という人には要らないかも(おぃ))

これでチェックは初期状態のままで、使用したいコンポーネントはこの時点で、使えるようになります。
「次へ」「次へ」「次へ」「インストール」。(雑)

Arduino IDEでスケッチを読み込んでみる

ようやくここまで来ました。
後は自由です!

オススメはSORACOM FunnelでS3に保存するのが、今後のセンシングにも良いのですが、SORACOMユーザコンソール側でのグループの設定などがあるので、
今回はLチカにしておきます。
このLチカ。サンプルのものでも大分キレイなのでちょっと感動します(・ω・)

IDEを起動したら下記画像のように、「ファイル」から「スケッチ」→「Wio LTE for Arduino」→「Basic」と行って「LedSetRGB」をクリックします。

開くとこんな感じのコードが出てきます。

<br />
#include &lt;WioLTEforArduino.h&gt;</p>
<p>#define INTERVAL  (50)</p>
<p>WioLTE Wio;<br />
int Hue = 0;</p>
<p>void setup() {<br />
  delay(200);</p>
<p>  SerialUSB.println(&quot;&quot;);<br />
  SerialUSB.println(&quot;--- START ---------------------------------------------------&quot;);</p>
<p>  SerialUSB.println(&quot;### I/O Initialize.&quot;);<br />
  Wio.Init();<br />
}</p>
<p>void loop() {<br />
  int r;<br />
  int g;<br />
  int b;</p>
<p>  if (Hue &lt; 60) {<br />
    r = 255;<br />
    g = Hue * 255 / 60;<br />
    b = 0;<br />
  }<br />
  else if (Hue &lt; 120) {<br />
    r = (120 - Hue) * 255 / 60;<br />
    g = 255;<br />
    b = 0;<br />
  }<br />
  else if (Hue &lt; 180) {<br />
    r = 0;<br />
    g = 255;<br />
    b = (Hue - 120) * 255 / 60;<br />
  }<br />
  else if (Hue &lt; 240) {<br />
    r = 0;<br />
    g = (240 - Hue) * 255 / 60;<br />
    b = 255;<br />
  }<br />
  else if (Hue &lt; 300) {<br />
    r = (Hue - 240) * 255 / 60;<br />
    g = 0;<br />
    b = 255;<br />
  }<br />
  else {<br />
    r = 255;<br />
    g = 0;<br />
    b = (360 - Hue) * 255 / 60;<br />
  }</p>
<p>  Wio.LedSetRGB(r, g, b);</p>
<p>  Hue += 10;<br />
  if (Hue &gt;= 360) Hue = 0;</p>
<p>  delay(INTERVAL);<br />
}<br />

初期化して、無限ループ。というシンプルなものです。
センシングには無限ループは必須なものもあるので、これをベースにSORACOM通信を含めるなど色々と応用出来ます。

今回はいじらず、そのままWio LTEボードに書き込みます。

書き込み手順

ここはよく使うので慣れておいたほうが良いです。

DFUモードへ

「Boot」ボタンを押しながら、「RST」ボタンを1回ポチ。その後「Boot」ボタンを離します。
WindowsですとUSBの取り外し音がなります。

書き込み

僕の場合はUSBハブを使っても書き込みが出来ましたが、電源供給が不足しがちなので、PCに直刺しがオススメです。
この状態でIDEの「→」(マイコンボードに書き込む)をクリックします。
下記画面結構時間が掛かります。

「ボードへの書き込みが完了しました」が表示されたらOKです。

ここでエラーの場合、ボードの選択が違うかもしれません。。。
ボード:”Wio Tracker LTE”になっていることを確認してください。

※ここで安心して電源ケーブルを外さないように!(笑)

実行

これでWio LTEを通常モードにします。
ボードのRSTボタンを押します。

光ったら成功(・ω・)ノ
割りと明るくて目がやられます(´ω`)

僕は思っていたところと違うところが光ってビビりました(´ω`;)

ようやくこれで一通りの流れが完成いたしました!
一度ドライバインストールなど環境を整えてしまえば、スケッチを書いて書き込みの流れのみとなりますので、ここまで出来ていると後は楽です。

公式ブログの以降のステップを参考にいろんなサンプルプログラムで試してみてください(・ω・)ノ

Wio LTEはラズパイと違いUSBで拡張していくことが出来ない代わりにかなり小型なので、電源供給さえ出来ればペットボトルにも入るようです。
小型のUSBバッテリーでも2Aを確保できれば十分に動作出来るので、仰々しい感じにはなりづらくて良いですね。

このブログでも何か出来たら随時レポートにします。
お疲れ様でした!