Arduino YÚNのネットワーク機能を試してみる

  • このエントリーをはてなブックマークに追加
Arduino YÚNのネットワーク機能を試してみる

Arduinoといえば小さくて安価なマイコンとして有名ですが、ネットワーク機能がないのが難点でした。そのためにWiFiシールドなどを買わねばならず、さらにそのネットワークもコードをデプロイするたびに接続するという使い勝手の悪いものでした。しかし最新版であるArduino YÚNは有線/無線LAN機能を備えたArduinoになっています。

今回はそんなArduino YÚNを試してみたいと思います。

必要なもの

初期設定を行う

まずArduino YÚNを起動します。そうすると Arduino Yun-〜 といった名称の無線アクセスポイントが表示されます(表示されるまで数分かかります)。まずこれに接続します。

接続したら http://arduino.local にWebブラウザでアクセスします。

初期パスワードは arduino になります。ログインするとまずステータスが表示されます。CONFIGUREのボタンを押します。

パスワードの設定と、接続するWiFiネットワークの設定をします。

終わると再起動がはじまるので、元のWiFiネットワークに接続します。

ここまでで初期設定が完了です。なお、WiFiのパスワードを間違えたなどでArduinoがうまくネットワーク接続してくれない場合、下の写真にあるスイッチを30秒押し続けるとWiFiがリセットされ、初期設定の手順をもう一度行えます。

なお、この時パスワードはリセットされません。もしパスワードを忘れた場合には、Arduino IDEを使って ファイルメニュー → スケッチの例 → Bridge → YunSerialTerminal を開いて Arduino YÚN に書き込みます。

そしてシリアルモニタを開いて、改行をLFのみ、速度を250000に設定します。最後に2を送信します。そうすると下の画像のようにコンソールが開きます。

後は passwd と送信して、続けて新しいパスワードを2回送信することでリセットできます。

Arduino YÚNはこれまでのArduinoに加えてネットワーク部分やもう少し複雑な部分についてはLinuxを使っているそうです。コンソールを使うことでArduino YÚNのLinux部分を操作できるようになります。

Bridgeを試す

ネットワークに接続されたら簡単に機能を試してみましょう。Arduino IDEのファイルメニュー → スケッチの例 → Bridge → Bridge と開きます。そしてそれをそのまま実行します。このコードを読むと、Arduino + ネットワークの基本的な使い方が分かります。

まず、HTTPサーバの機能を使うには YunServer というのを使います。

これが内部的に http://localhost:5555/ として立ち上がっており、ここがすべてのリクエストをフォワードするようです。そしてsetupメソッドの中で次のように実行します。

これでサーバと組み合わせて動かせるようになります。

後はWebブラウザからは /arduino をプリフィックスのパスとしてアクセスします。例えば /arduino/digital/13 などです。こうすると、Arduino 側では digital/13 がリクエストとして受け取れます。

後は parseIntなどをして数字部分だけを受け取ったりすることで任意の処理を行えるようになります。

例えばBridgeを実行した場合、HTTPアクセスを使って L13 を操作(0で消す、1で光らせる)ができます。下の動画がデモです。

注意点

筆者のArduino YÚNの無線LALは不安定で、度々落ちてしまいました。その点、有線LANであれば安定して動きます。IPアドレスが知りたいと思ったらYunSerialTerminalを開いてifconfigと送信すればOKです。Linuxのコマンドが使えるようになったことで、もっと大きな可能性が見えてきそうな気がします。


Arduino YÚNでは他にもSDカードを使って静的なHTTPサーバを立てることもできます。そしてJavaScriptでArduino YÚNと通信すれば、HTML5を使ったIoTを実践できるのではないでしょうか。今回はまださわりだけですが、今後もっと使い込んでみたいと思います。

Arduino YÚNのネットワーク機能を試してみる
  • このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です