Arduino YÚNで気になる機能というと、micro SDカードが追加されていることではないでしょうか。今回はここにHTMLファイルを置いて、HTTPサーバとして使ってみたいと思います。

必要なもの

  • Arduino YÚN
  • micro SDカード
  • PC(Arduino IDEセットアップ済み)

ファイルの配置について

まず大事なのは、Arduinoのスケッチファイルと同じ場所に www というフォルダを作成すると言うことです。この中に静的にホスティングしたいファイルを配置しておきます。

Arduino IDEの設定

Arduino IDEで、これまでのようにシリアル通信でスケッチを送った場合、wwwフォルダは転送されません。メニューからNetwork Portを選んでおく必要があります。また、有線のものだとうまくいかないかも知れませんので、無線側を選んでください。

アップロードする際にはパスワードが聞かれます。

HTTPからSDカードにアクセスできない場合

筆者環境ではなぜかアクセスできなかったのですが、この場合は SSH でArduino YÚNにアクセスします。

[/crayon]

そして /www に移動します。

[/crayon]

www の中にsdというディレクトリがないとスケッチのアップロードも失敗します。なのでハードリンクを作成します。

[/crayon]

これでアップロードも行えるようになるはずです。

使い方

アクセスの仕方としては

になります。wwwではないので注意してください。例えば ArduinoHTTP というスケッチ名であれば、 http://arduino.local/sd/ArduinoHTTP/ などとしてアクセスできます。

例えばスケッチが次のようなものだったとします。

[/crayon]

これを見て分かる通り、temperatureにアクセスした時にアナログ1の値を読み取って、client.printしています。これだけでWebブラウザ側に情報が配信できます。ちなみに HTML側は次のようになります。

[/crayon]

にアクセスすると、その値が返ってくると言った具合です。こういった仕組みで HTML と Arduinoのモジュールとで通信ができるようになっています。UIとしてWebブラウザが使えることで、可能性が大きく広がるのではないでしょうか。

過去のArduinoでもHTTP通信はできましたが、外部ファイル化したHTMLを読み込んだりするのは難しく、スケッチの中にインラインでHTMLを書いていました。それに対して静的ファイルであればとても簡単に扱えるようになります。

ぜひお試しを!