Arduino Yun cheat sheet
Arduino Yún / Arduino Yun
はじめに
arduino Uno である程度なれたし、プロトタイプつくったので、そろそろ TCP/IP 喋る段階になって、Arduino Yun に挑戦してみた。
- インターネットに接続して AWS 上にある time series database に計測データをストア。(いわゆる IoT ですかね 火暴)
- AWS IoT なるものも触ってみたかったし。
Uno で足慣らししたし、結構簡単に Yun に移行できるかと思っていたら、なかなか結構大変(現在も学習中)なのでいろいろメモメモ。
どっち?
SRL http://www.arduino.org/ SRL Arduino | Labs | Arduino Yún
LLC https://www.arduino.cc/ LLC Arduino - ArduinoYun
私がスイッチサイエンス社から購入した Yun は製造は SRL 、Atheros AR9331 に組み込まれていたのが OpenWrt-Yun なので LLC 。
- ということは、ソフトウェアは LLC を見た方が良いという思し召しか。
実際 github 上の動きをみても LLC のほうが好ましい。
- IDE も LLC 版は Java8 に上がってるしね。
- ウェブサイトも LLC は https だし。
SRL https://github.com/arduino-org
LLC https://github.com/arduino
- ソフトウェアは LLC を見た方がよさそう。(しかし分裂なんとかしてよ...)
導入
電源
Uno では(ACアダプターからの)DC入力ジャック(5.5mm/2.1mm Center Plus | 7~12V) があったが Yun には無い。
- micro-USB から 5V 供給するのが推奨。Ethernet RJ45ジャックが PoE 対応なのでこれでも可。VIN pin に定電圧レギュレータの5Vをいれるのも可。
USB Serial
Yun は Arduino Leonardo(ATmega32u4)ベースに作られている。Uno のように USB 通信用のペリフェラル(ATmega16U2がUSBを受け持つ)をもっていない。そこで大きな使い勝手の差がある。
紐をほどくために Arduino Leonardo ガイドの日本語訳
Guide/ArduinoLeonardo – スイッチサイエンス
I/O
D0, D1 は AR9331 との Serial1 用に接続されている。Yun で外部割り込みで使えるのは D2/INT1 と D3/INI0 とのこと。D7/INT4 は AR9331 の ハンドシェイク用(予定)なので使わない。
I2C(TWI)の SDA/SCL が Uno は A4/A5。Yun は D2/D3 。
- はい!終わった!INT1/INT0 の外部割り込みが使えない...
- I2C使わないように、回路変えるか...
- 外部割り込みを他のpinで可能にする方法があるらしい。
Leonardo - using I2C and external interrupts Pin Change Interrupt library for the Arduino
- これをテストしてみる。
- Uno ではうごいた。D2/D3 を避けるようにした。Yun はこれから検証する。
PINOUT DIAGRAM
これはありがたい。
THE UNOFFICIAL ARDUINO PINOUT DIAGRAM 本家
WiFi 設定
工場出荷状態なら、WiFi AP モードで Yun が起動するので、それに接続してごにょごにょ。SSID が WiFiの MACアドレスになっているので、もしフィルタリングをしてる場合はこれを使う。
Arduino YÚNのネットワーク機能を試してみる | ニフティIoTデザインセンターブログ
Arduino Yúnを使ってみよう (1) Yúnを設定する | スイッチサイエンス マガジン Arduino Yúnを使ってみよう (2) YúnをPCから操作する | スイッチサイエンス マガジン AWS IoTがリリースされました(Yúnを繋ぎました) | スイッチサイエンス マガジン AWS IoTをArduino Yúnで使う(少し詳しく書いてみた) | スイッチサイエンス マガジン LambdaからIoT経由でArduino Yúnへ(前編) | スイッチサイエンス マガジン LambdaからIoT経由でArduino Yúnへ(後編) | スイッチサイエンス マガジン
Arduino YUNを使ってみる(1) - フィジカル・コンピューティング Arduino YUNを使ってみる(2) - フィジカル・コンピューティング Arduino YUNを使ってみる(3) - フィジカル・コンピューティング Arduino YUNを使ってみる(4) - フィジカル・コンピューティング
注意:Windows の場合は Apple から Bonjour のドライバーをとってきてインストールしておく。
Yun 特有な開発
avrdude
USBシリアル経由でプログラムをアップロードするのにいろいろはまった。まだ調査中。
- ケーブルに注意。micro-USBは充電用というのが紛れ込んでる可能性が高い。ハマる。
arduino-Makefile
avrdude のところでおかしくなる。調査する。
例の 1200bps でリセットするところでおかしい...
Console
ssh root@arduino.local 'telnet localhost 6571'
- たぶん Uno で Serial ってかいてるところをすべて Console ってかいてやれば最初のハードルは越えられそう...
OpenWRT
Arduino - YunSysupgrade
https://github.com/arduino/openwrt-yun
link
Golang on OpenWrt · Akagi201