第14回
電子工作部

さくっと生活を便利にする!FRISKサイズのIoT向けデバイス「Nefry」を使ってみよう【環境構築編】

わみ


Nefryボードのインストール

ArduinoIDEにはNefryがインストールされていないので、このままではプログラムが書けません。そのため、ボードのインストール作業をしていきます。

インストール

それでは早速インストールしていきます。まずは、ArduinoIDEのファイル内にある環境設定の項目を開き、追加のボードマネージャーのURL に次のURLを入力します。

http://wamisnet.github.io/package_nefry_index.json

 

入力が終わったらOKをクリックします。

 

入力が終わったら、ツール内にあるボード選択の「ボードマネージャー」をクリックします。

 

ボードマネージャーを開くとこのような画面が出てきます。下の方に「Nefry」が追加されているはずです。検索欄もあるので、そこにNefryと入力するとすぐに見つけられるかと思います。

もしNefryが見つからない場合は、もう一度先ほどのURLを正しく入力できているか確認してください。

新規インストールする場合

現在(2016/7/27)の最新バージョン(1.4.0)のボードが選択されているので、そのままインストールをクリックしてください。必要なファイルをインターネットからダウンロードします。回線状態によっては時間が掛かる場合があります、しばらくお待ちください。

 

インストールが完了するとINSTALLEDと表示されインストールが完了します。

 

ツール内にあるボードから、Nefryを選択できるようになっているはずです!

これでボードのインストールも完了ですので、次はついにプログラムを書いていきます。ここまでの初期設定は初回のみ必要です。次回からはプログラムを書くところから始められます。

バージョンを更新する場合

バージョンを更新する場合、古いバージョンのボードが残っていると不具合が発生するので、先にアンインストールをします。Nefryを選択すると「削除」というボタンが表示されるのでそこをクリックします。そのまましばらく待つと、アンインストールが完了します。

それから、上記の「新規インストールする場合」見出しを参考に、ボードのインストールをしてください。

実際にコードを書いてみる

では、実際にプログラムを書いてNefryを操っていきましょう! NefryのプログラムはArduinoのプログラムと同じように記入できます。

ArduinoIDEを起動すると、初めから以下ようなプログラムが書いてあります。

void setup(){

}

void loop(){

}

これを簡単に説明していきます。

 

void setup()

この部分では、起動時に一度だけおこなわれる処理を書きます。例えば、入出力ピンの設定や温度センサなど、センサ類の初期設定などを入力します。

 

void loop()

この部分では、起動中ずっと繰り返しでおこなわれる処理を書きます。例えば、LEDの点滅やセンサーデータの取得などです。Nefryでは、このsetupとloopをうまく活用してプログラムを書いていきます。

 

まとめると、このようになります。

LEDを使ってみる

それでは、実際にNefryで動くプログラムを書いてみようと思います。今回は、NefryについているフルカラーのLEDをランダムに光らせてみようと思います。

下準備として、ArduinoIDEに書いてある文をすべて消しておいてください。準備ができたら以下のプログラムをコピーして、ArduinoIDEに貼り付けてみてください。

#include <Nefry.h>
//フルカラーLED ランダムにカラーが変わります。
void setup() {
  Nefry.println("フルカラーLED!");
  randomSeed(analogRead(A0));
}
int red,green,blue;
void loop() {
  red=random(255);//random関数は0-255の数値をランダムに返します。
  green=random(255);
  blue=random(255);
  Nefry.setLed(red,green,blue);//LEDがランダムに点灯します。
  String color="Red:";color+=red;
  color+=" Green:";color+=green;
  color+=" Blue:";color+=blue;
  Nefry.println(color);//Nefry consoleで色を表示
  Nefry.ndelay(1000);//1秒待つ
}

ところどころで使われているNefry関数についてはQiitaの記事にまとめてあるので、興味があればご覧ください。

 

ソースコードを記入したら、プログラムを保存します。プログラムは指定した場所に保存されますので、保存する場所を覚えていてください。

 

保存したら、「スケッチ内のコンパイルしたバイナリを出力」をクリックしてください。これで、Nefryに書き込めるようにファイルを変換しています。

少々時間が掛かりますがしばらくお待ちください。

 

プログラムに問題がないと、「コンパイルが完了しました。」と表示されます。プログラムに問題があると、「この部分がおかしい」というエラーが表示されます。そのエラー表示を見てプログラムを修正します。

よくある間違いとして、「;(セミコロン)」がなかったり、「()(括弧)」が全角になっていたりするので見直してみてください。

これでプログラムの準備は整いました! 次で、Nefryにプログラムを書き込んで実行します。

Nefryに書き込む

ついにNefryにプログラムを書き込みます。Nefryの便利なところも合わせて解説しますので、参考にしてみてください。NefryをモバイルバッテリーやPCのUSB端子に接続してください。

 

しばらくしてWi-Fiを検索すると、Nefry-○○○○という名前があると思うので、そのWi-Fiに接続してください。

 
pic031

接続すると自動的にNefryのメインページに移動します。うまくいかないときがあるので、その際はこちらのURLを入力してください。

http://192.168.4.1

このページからさまざまな設定をおこなえます。それでは、Nefryにプログラムを書き込むために、「書き込みモード」にしましょう。NefryのCoreプログラムだけ動作し、ユーザが書き込んだプログラムを実行しないモードです。

書き込みモードに変更するには、「setup Module」をクリックします。

 

「setup Module」ではNefryに関するさまざまな設定をおこなえます。今回は書き込みモードに変更するので、「Write mode」をクリックしてください。そうするとNefryが再起動します。再起動が終わると、書き込みモードになっています。

 
pic036

せっかくなので、setup Moduleの「Next page」をクリックするとどうなるのかもここで説明します。ここでは、MacアドレスやIPアドレスなど、インターネットにかかわる情報が表示されます。アクセス制限かけている場合などここを見ていただくとよいかと思います。

 
pic032

さて、Nefryが書き込みモードになったところで、プログラムを書き込んでいきましょう。メインページの「Upload Sketch」をクリックしてページを開きます。開いたら、ページ中央にある参照となっているボタンをクリックしてファイルを選びます。(ブラウザによっては表示が異なることがあります)

 

先ほどプログラムを保存した場所を開き、arduino.binとなっているファイルを選びます。(きちんと確認してアップデートしてください。もし間違えた場合、最悪起動しなくなることもありえます)

 
pic034

きちんとファイルを選べると、ファイルの場所を示す表示が出ます。ここまで来たら、あとは「Upload」をクリックするだけです!

アップロードが完了すると自動的にNefryが再起動し、プログラムが更新されます。これでNefryのプログラムを書きかえることができました! 

 

おそらく、このようにLEDがカラフルに光っているはずです。

 
pic039

ほかにも、Nefryでは「Nefry Console」という、Nefryの状態を確認できるページもあります。

 
pic038

また、「Web Sketch Download」では、NefryのプログラムをWebからダウンロードして更新することができます。

 

Setup WiFi」では、Nefryが接続するWi-Fiを設定できます。設定すれば、インターネットに接続して、リアルタイム通信ができる「Milkcocoa」や、Webサービス同士を簡単に繋げられる「IFTTT」といったWebサービスと接続できるようになります。

まとめ

ということで、今回はNefryの環境を作ってみました。

初めの環境を作るのは大変ですが、一度作ってしまえば終わりです。Nefryを作った身としては、いろいろなアイデアを実現してもらえると大変嬉しいです。(作った作品をQiitaなどで見られると嬉しいですね)

長かったですが、ここまで読んでいただきありがとうございました。

1 2
わみ
この記事を書いた人

関連記事