Espruinoを買う~LEDを光らせる


アドベントカレンダー作ろうと思っていたけど気がついたら12/2になってたので、12/2の記事として投稿しちゃいます

Espruino とは

EspruinoJavaScriptで制御することができるマイコンボードです。ArduinoのJS版 と思って頂いて問題ないです。JavaScriptが書ければハードが制御できちゃう。良い時代になったものです。
詳しくは後々の記事で述べたいと思いますが、「とりあえずJSでハード制御してみる」を実現するには最も簡単で、財布にも優しい選択肢、と言えるボードです。

LED光らせるまでの流れ

細かいセールスポイントは置いておき、とにかく最初の一歩を踏み出せるよう、購入するところからJSでLEDを光らせるところまでの流れを解説したいと思います。大丈夫です。簡単です。

  1. 買う
  2. WebIDEインストールする
  3. USB繋ぐ
  4. LED1.write(1)でLEDを光らせる

買う

公式サイトのbuy_nowに販売しているサイトのリンク一覧があります。
送料も場合によっては結構かかるので複数台、または一緒に遊ぶためのモジュールと一緒に購入するのが良いでしょう。
wifiを使うのであればadafruitのCC3000がおすすめです。というのも、公式でモジュール化してくれるセンサー類(後々出てきます)は大体秋葉原を彷徨うと手に入りますが、公式サイトに載っているWifiモジュールは海外でしか買えないので(現在)、ついでに購入するのには適しているかと思います。adafruitのサイトでEspruinoも購入できるので、こちらでまとめて購入するのも手かと思います。
またはBluetoothBLE等も買っておくと良いかもしれません。

ちなみに私はseed studioから単体で購入しました。送料に積む金額によって配送期間が変わります。無料だと2週間程度、30ドル払ったら4日で届きました。

WebIDEをインストールする

WebIDEはChrome Extentionなので、chromeをインストールした状態でコチラよりextentionをインストールします。

USBを繋ぐ

EspruinoのマイクロUSB端子とPCのUSB端子をつなぎ、WebIDEを立ち上げます。

立ち上がったら左上の接続ボタンを押して、/dev/tty.usbmodem????? (?????はマシン依存)を選択します。

こんな画面が出れば成功

LED1.write(1)でLEDを光らせる

WebIDEの左側にプログラムを入力することで、対話形式でEspruinoに命令を送る事ができます。
下記を入力してEnterを押すと、本体についている小さく赤いLEDが点灯します※。

LED1.write(true);

おめでとうございます。とりあえず、これで特に難しい設定もなく、JavaScriptでハードを制御することができました。
1行だけの実行ではなく、複数行のプログラムを書き込んだり、外付けLEDを光らせたり、センサーの情報を読み取ったりというところは、後日の記事にご期待ください。

エラーが出る場合

エラーが出る場合は残念ながらファームウェアのアップデートが必要です。

手順

  • WebIDE右上の歯車アイコンをクリック
  • 設定メニューのFLUSHERを選択
  • FLUSH FIRMWARE ボタンをクリック
  • EspruinoBTN1(USBコネクタから遠い方のボタン)を押しながら`RSTボタン(USBコネクタ寄りのボタン)'を押す
  • ボード上の青色のLEDがゆっくり点滅する
  • WebIDEのNEXTをクリック
  • /dev/tty.usbmodem??????/を選択
    • ファームアップロードが始まり、ボード上のLEDが激しく点滅を繰り返します
  • 完了後、NEXTボタンを押した後、RSTボタンを押す
  • 再び接続してLチカのコードを入力

以上です。

注意

後々に記事書きますが、EspruinoでCC3000WiFiモジュールを安定して動かすのは、webエンジニア的にはハードルがあります。電源問題への対処、Espruino上での制御の小技みたいな事が必要になるので、高い安定性が求められるシステムを作るにはおすすめできません。動かない事は無いですが。
Bluetooth等でインターネット接続のある親機的なものにセンサー信号を送り、そこからCloudに上げる方が最終的には安定するかもしれません(試行錯誤中です)

とはいえ、CC3000Wifiモジュールを使ってトイレの空き状況監視ツールを運用した事もあるので、ちゃんとケアしてやれば、この程度の用途に対してはちゃんと使えます。ポイントは接続が途切れたらリコネクト、1分に一度死活監視、、等々の仕掛けを入れて、失敗しても自分で立ち上がる , うまく言っていない事を伝える を徹底することです。後々の記事にご期待。