DFRobotのセンサーを使うためにArduino UNO Wifi Rev2を使ってみる

スポンサーリンク

DFRobotのセンサーなどを使う場合は主にArduino UNOを使っていて、スケッチもArduino UNO用のスケッチなのでESP32やESP8266だとうまく動かない(試した限りでは動かなかった)。動くかもしれませんが、自分は詳しくなく分からないのでArduino UNOを使っています。

が、UNOはWifiが無いんですよねぇ・・・

UNOクローンのUNO+WiFi R3 ATmega328P+ESP8266というボードを買ってみてUNOとして使えると思っていましたがESP8266として使うようで、DFRobotのセンサーは使えず・・・

なので純正Arduino UNO WiFi Rev2を買ってみました。純正のArduino UNOだったら問題なくDFRobotのセンサーが使えるのでついでにWifiも使えるようになると嬉しい。

Arduino UNO Wifi買った

MOUSERで買いました。

こちら50ドル以上は送料無料でUPSで送ってくれます。

ABX00021 Arduino WiFi開発ツール(802.11) UNO WIFI Rev2 データシート、在庫、価格設定です。

すぐに発送してくれて4日ほどで日本に到着。

Arduino UNO Wifi Rev2 本体

箱はカワイイイラスト付き。

Arduino UNO Wifi Rev2

本体のベースが透明プラ付きだった。↓

Arduino UNO Wifi Rev2

ご親切にPINに全て番号とAnalogとかデジタルとかの表記があってわかりやすい。

裏表にPINの番号が書いてある。親切です。

Arduino UNO Wifi Rev2

しかし!今どき(Arduino UNO Wifi Rev2の発売古い?2018年だったような)USB  Type-Bポートというのはかなり困ります・・・せめてMicroUSBだったらよかった。別途プラグを買わないと無いですヨ。

Arduino UNO Wifi Rev2

これでAruduino UNOが2台とArduino UNOクローンが1個(↓右側)で3つになった。

Arduino UNO Wifi Rev2

本当はESP32を使いたいところだけど、自分の技術力が足りず、Arduino UNOでないとうまくセンサーを動かせないのが困った。精進します。

USBシリアルデバイスになる

まずは適当に接続してスケッチを書いてみます。

Arduino UNO Wifi

ポートはUSBシリアル デバイスと表示されました。

試しにArduino UNO Wifiを選んでスケッチを書き込む

使い方が分からないので適当にそれらしいボード「Arduino UNO WiFi」を選んでスケッチを書き込んでみます。

Arduino UNO Wifi

以下のエラーが出た。このボード違うみたいです・・・

適当にやってもダメですね・・・使い方が書いてあるのでそのとおりにやってみます。

Arduino UNO WiFi Rev2を正しく使う

ボードマネージャでArduino UNO WiFi Rev2で検索

以下のページに詳しく書いてありました。

Open-source electronic prototyping platform enabling users to create interactive electronic objects.

まずはArduino IDEでツール > ボード >ボードマネージャで「Arduino UNO WiFi Rev2」と検索すると、「Arduino megaAVR Boards」が出てくるのでコレをインストールする。

https://www.arduino.cc/en/Guide/ArduinoUnoWiFiRev2

WARNING出たけど気にしなくていいらしい

Arduino IDEを再起動してスケッチを書き込んだら以下のようなWARNINGになった。

気にしなくていいらしい。

UNO WiFi Rev 2

スケッチを書き終わったとか何も表示されず、速いので分からなかったけど、ちゃんと書き込めてる。

Arduino UNO Wifi Rev2でWifi接続

Arduino UNO Wifi Rev2のWifiについて書いてある。

Open-source electronic prototyping platform enabling users to create interactive electronic objects.

WiFiNINAライブラリをインストール

まずはWifiを使えるようにツール >ライブラリを管理を選んでライブラリマネージャを起動して、「WiFiNINA」と検索します。WiFiNINA by Arduinoをインストール

Arduino UNO Wifi

WEPのスケッチを実行してみる

ここにWifi接続のスケッチがありました。

Open-source electronic prototyping platform enabling users to create interactive electronic objects.

テスト的にWifi接続してみます。

arduino_secretsが無いと言われる場合

上記のスケッチを書き込もうとしたところエラーになりました。

以下のようにarduino_secrets.hが無いと言われた場合は空のarduino_secrets.hを作れば良いそうです。

まずは右上↓▼ボタンを押して、

arduino_secrets.h

「新規タブ」を選択↓

arduino_secrets.h

以下のように新規ファイルの名前に「arduino_secrets.h」と入力してOKボタンを押す。

Arduino UNO Wifi

その後、arduino_secrets.hタブを選択してファイル > 保存を押すと以下のようにスケッチファイルと同じフォルダにarduino_secrets.hファイルができました。

arduino_secrets.h

うまくWifi接続できた

上記エラーを解決したらちゃんとWifi接続できました♪

Arduino UNO Wifi

「Please upgrade the firmware」というのが気になる。

ArduinoHttpClientでPost送信

WiFiNINAでWifiにログイン後、ArduinoHttpClientを使ってサーバー(ラズパイ)のInfluxDBにセンサーで計測したデータを送ります。

ArduinoHttpClientライブラリをインストール

ツール >ライブラリを管理でArduinoHttpClientをインストールします。

これを使ってサーバーのInfluxDBにデータを投げるようにスケッチを書きます。

Arduino UNO Wifi Rev2

Arduino IDE スケッチ

センサーは今回はTDS(Total Dissolved Solid=総溶解固形分)で主に水に溶け込んでいる肥料の濃度を計測するものです。

以下のようにすると、InfluxDBに約10分おきにTDS計測データを送ることができました。

これで、Arduino UNO Wifi Rev2単体でWifiに繋げてサーバーに計測データを送ることができました。

一安心です。本当はESP32で計測してサーバーにデータを送信したかったのですが、今の自分の技術では無理そうなのでしばらくはArduino UNO Wifi Rev2を使用してしのぎます。