本記事でやること
Nefryのハードウェアを使わずとも、安い汎用のESP8266/ESP32ボードで便利なNefryのソフトウェア群を使うことができたのでその紹介をしています。使えないピンなどの注意点も記載しています。
Nefryアドベントカレンダーなのに、Nefryのハードウェアを使わない記事で大丈夫か!?
Nefryの利点と欠点
NefryというESP8266/ESP32の開発ボードがあります。はんだ付けを行わなくても手軽にIoTができるというもので、ESP32版のNefry BTはクラウドファンディングでは目標の473%を達成しています。
Nefryは、素のESPボードに比べて以下のような利点があります。
- Groveコネクタを使ってはんだ付け不要で電子工作ができる
- Webブラウザを使って簡単にWifi設定ができる
- IFTTTやambientといったクラウド連携のためのライブラリと作例が充実している
- 日本語の情報が多い(開発者が日本人のため)
わたし的には特に2番めのWifi設定ができるのが大きいです。素のESPボードを使ってこれをやろうとすると、この部分だけでかなりのコードをスケッチに書かなければいけませんが、Nefryを使えばスケッチに何も書かずともはじめからWifi設定が便利になります。
しかし、以下のような問題もあります。
- 値段が高い
- 入手性が良くない(在庫がない時がある。特にESP8266のNefry)
実際、素のESPボード値段を比べると価格の差は歴然です。
ESP8266版
製品 | 価格 |
---|---|
dotstudio Nefry v2.0(千石電商) | 4480円 |
ESP-WROOM-02開発ボード(秋月電子通商) | 1280円 |
ESP32版
製品 | 価格 |
---|---|
dotstudio Nefry BT(千石電商) | 5380円 |
ESP32-DevKitC(秋月電子通商) | 1480円 |
はんだ付けが不要になるように、Groveコネクタをつけたり、OLEDモジュールを刺すだけで使えたりと便利なところは多いのですが、価格が数倍してしまうと躊躇してしまいます。
ソフトウェアだけを使う
上で触れたようにNefryはソフトウェア群が充実しています。汎用の安いESPボードで、これらのソフトウェアを使うことができたので紹介します。
ArduinoIDEの設定
ArduinoIDEの環境を整えよう - Nefry の通りに設定します。
要約すると以下です。
- ArduinoIDEのインストール
- ボードマネージャーからNefry/NefryBTをインストール
新規スケッチ作成とボードの選択
- ArduinoIDEで[ファイル]→[新規ファイル]で新しいスケッチを作成します。
- [ツール]→[ボード]から、Nefry Modules > Generic ESP8266 Module または Nefry (ESP32) Module > ESP32 Dev Module を選択します。
- ESP32 Arduino とか ESP8266 Modules の中のものではないので注意。
ソースコード作成
Nefry.h をインクルードするだけで良いです。
試しに下記の何もしないプログラムをボードに転送してみます。
#include <Nefry.h>
void setup() {
}
void loop() {
}
こんなプログラム、何も動かない、と思いきや…
NefryBT-**** というアクセスポイントが現れます。
このアクセスポイントに接続し、ブラウザで192.168.4.1にアクセスすると、Nefryの設定画面が現れます。
ここで「Setup WiFi」をクリックすると、Wifiの設定画面が現れます。
ここに、普段使っているWifiのSSIDとパスワードを入力してSaveを押すと、Wifiが設定され、自動で再起動します。
ここの設定は不揮発メモリに保存されるので、電源を切っても保持されます。
再度NefryBT-****にアクセスし、ブラウザで192.168.4.1にアクセスすると、Wifi SpotにSSIDが表示され、IPアドレスが割り当てられています。
普段のWifiアクセスポイントに接続を戻すと、割り当てられたこのIPアドレスでアクセスできます。
**もう一度言います。Nefry.hをインクルードしただけで、他は空のプログラムです。**これらの機能を素のESP32/ESP8266で実現しようとすると、かなりの行数のプログラムを書かなければいけません。素晴らしいですね。
使用できないピン
Nefryハードウェアを使っていませんが、Nefryボードとしてソフトウェアが動作するため使用できないピンがあります。
ボード | 使用できないピン |
---|---|
ESP8266 | 0, 4, 16 |
ESP32 | 0, 4, 16 |
おわりに
Nefryライブラリを使うことによって、スケッチ作成の際にネットワーク設定の煩わしいコードを書かずに済み、ユーザーは自分のやりたいことに専念できます。また、Nefryを使った豊富な作例も参考にできます。
Nefryが高いよという人や、Nefryでプロトタイピングしたものを別のESPボードに移植する場合にも活用できると思います。