LoginSignup
1
0

More than 5 years have passed since last update.

Wio LTEではJavaScriptが標準なのか(そんなことない)?

Last updated at Posted at 2017-12-17

SORACOM / Seeed共催のWio LTE ユーザーイベントに参加して、とても刺激を受けたので早速購入して試してみました。

購入してみる

センサはいろいろ身の回りに転がっている環境なので、SORACOMご推薦のGrove IoT スターターキット for SORACOMではなく単体のWio LTE JP VersionをSORACOMコンソールから購入しました。12月13日に注文し、15日に到着。

IMG_6142.jpg

IoT「あるある」のひとつなのですが、マイコンボードは意外と電気を食います。普段はちゃんと動いているようでも、電力が必要な動作(通信とか)を行った瞬間に誤動作したりリセットされたりしてしまうトラブルに遭遇された方も多いでしょう。そんなクレームがあったのか、動作確認用の太いUSBケーブルが試供品として付属していました。

接続してみる

何はともあれ、まずは接続してシリアルコンソールに接続してみます。

$screen /dev/tty.usbmodem+++++ 115200

新品のボードなので何も表示されないかと思いきや……

スクリーンショット 2017-12-16 12-16 9.44.47.png

なんとEspruinoが起動してきました。「Wio LTEをJavaScriptで開発する」で紹介されているJavaScript開発環境ですね。Wio LTE公式の開発環境はArduinoだと聞いていたので驚きです。

もしかすると開発用に使われていたボードなのかもしれませんね。これも何かのお導き、という訳で、まずはEspruinoを触ってみることにしました。

環境構築してみる

上の記事でも紹介されているとおり、Espuinoの開発環境はChromeブラウザ上の機能拡張として動作するWeb IDEです。設定画面から通信速度を115,200bpsにセットし、接続ボタンを押してからWio LTEが繋がっているポートを接続すると準備完了です。

スクリーンショット 2017-12-16 12-16 10.23.02.png

バージョンが1v93.3171となっており、ちょっと古そうです。しかも公式ブログによれば、EspruinoでWio LTEが正式にサポートされたのは次のバージョンである1v94からのようです。

そこでファームウェアのアップデートを試みたのですが、

スクリーンショット 2017-12-16 12-16 10.32.54.png

表示される対応ボードリストにはWio LTEがありません。ダウンロードページから最新版(1v95)のZipファイルを入手、解凍すると中からWio LTE向けのファームウェア(espruino_1v95_Wio_LTE.bin)が出てきました。これを設定画面の「Advanced Firmware Update」から書き込んでみます。

スクリーンショット 2017-12-16 12-16 17.12.51-2.png

またもや問題発生です。通常モードでは見えていたWio LTEが、DFUモードに切り替えると見えなくなってしまいました。これ自体は、Wio LTEでは正常な動作のようなのですが、Web IDEはシリアルポート経由でファームウェアを書き込むつもりなので先に進めません。

答えはdfu-util

その答えはSeeed社のサイトにありました。DFUモードのWio LTEにファームウェアを書き込むにはdfu-utilを使う必要があるようです。MacPorts使いの方であれば

# sudo port install dfu-util
<snip>
$ dfu-util --version
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

としてdfu-utilをインストールした後、ファームウェアを書き込んでやります。

$ dfu-util -d 0483:df11 -c 1 -i 0 -a 0 -s 0x08000000 -D espruino_1v95_Wio_LTE.bin
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
Downloading to address = 0x08000000, size = 304140
Download        [=========================] 100%       304140 bytes
Download done.
File downloaded successfully

無事成功したようです。RESETボタンを押して通常モードに復帰してからWeb IDEを起動し、接続してみたところ...

スクリーンショット 2017-12-17 12-17 7.24.06.png

ファームウェアが1v95にアップデートされてひと安心、と思ったのもつかの間、今度はエラーメッセージが延々と出続けています。一瞬「えー……」と思ったのですが、これは正常な動作ですね。Wio LTEにはLED1に相当する機能がないため、

Uncaught ReferenceError: "LED1" is not defined
 at line 2 col 7
  LED1.write(on);
      ^
in function called from system

LED1が定義されておらず、Writeできないのは当然なのでした。代わりにオンボードのフルカラーLEDを光らせてみます。コマンドラインから下記の通りコードを入力してやると

WioLTE.setLEDPower(true);
WioLTE.LED(255,0,0);

IMG_6146.jpg

見事に光りました。まぶしい!!!

さて、次は

ユーザーイベントで頂いたジェスチャーセンサの利用例が見当たらないようなので、ちょっと試してみようかと思います。

データシートを見たら、ジェスチャーセンサは5Vデバイスでした。Wio LTEのI2Cポートは3V3なので使えませんね、残念!

2017年12月28日追記:3.3Vで動作確認して記事を投稿しました。ご参照あれ

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0