Help us understand the problem. What is going on with this article?

Espruinoを買う~LEDを光らせる

More than 5 years have passed since last update.
アドベントカレンダー作ろうと思っていたけど気がついたら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を立ち上げます。

image

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

こんな画面が出れば成功

image

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

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

LED1.write(true);

image

おめでとうございます。とりあえず、これで特に難しい設定もなく、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分に一度死活監視、、等々の仕掛けを入れて、失敗しても自分で立ち上がる , うまく言っていない事を伝える を徹底することです。後々の記事にご期待。

scouty
「あらゆる事象を必然化し、 世の中のミスマッチをなくす」ことをミッションとし、AIヘッドハンティングサービスを開発・運営するスタートアップ
https://lapras.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away