技適のWi-FiモジュールESP-WROOM-02でAPM ROVERを動かしてみようか と
自分の知識と技量で可能かどうか 勉強中です
APM ROVER を動かす時の問題は Mavlink が通るか どうか みたいですね
・ TCP/IPスタック搭載のWi-Fi-UARTモジュール IEEE802.11b/g/nに対応
・ 非同期式シリアル通信(UART)を簡単にWi-Fiで無線化可能
・ IPv4, TCP, UDP, HTTP, FTP, DHCP搭載
・ 各種制御・設定はATコマンドによる文字列送受信
ESP-WROOM02 とは microtechnica 簡単WiFi-UARTモジュール自分の知識と技量で可能かどうか 勉強中です
APM ROVER を動かす時の問題は Mavlink が通るか どうか みたいですね
・ TCP/IPスタック搭載のWi-Fi-UARTモジュール IEEE802.11b/g/nに対応
・ 非同期式シリアル通信(UART)を簡単にWi-Fiで無線化可能
・ IPv4, TCP, UDP, HTTP, FTP, DHCP搭載
・ 各種制御・設定はATコマンドによる文字列送受信
・ ボード上にアンテナを搭載 日本国内で使用可能な技術基準適合マーク(技適)を取得したシリアル通信無線化Wi-Fiボード
・ 非同期式シリアル通信(UART)信号をWi-Fi規格の信号として送信・受信可能
・ ESP-WROOM02モジュールは 非同期式シリアル通信(UART)をWi-Fiで無線化 遠隔地の機器と通信を可能にする
・ 指定したSSIDのアクセスポイントに接続し通信が可能 無線LANセキュリティ WPA/WPA2、WEP/TKIP/AES暗号化対応
・ デフォルト115.2kbps UART通信で簡単なコマンドだけでWi-Fi通信を実現 ワンチップマイコンでIoT実現に最適のデバイス
・APM / Pixhawk Wireless Wifi Radio Module
・AeroQuad + ArduCopter ESP8266 Wifi Connection for APM by esp-link
・AeroQuad + ArduCopter ESP8266 Wifi Connection to Windows10 Tablet
GitHub:
・ eriksl/esp8266-universal-io-bridge
・ jeelabs/esp-link
・AeroQuad + ArduCopter ESP8266 Wifi Connection for APM by esp-link
・AeroQuad + ArduCopter ESP8266 Wifi Connection to Windows10 Tablet
GitHub:
・ eriksl/esp8266-universal-io-bridge
・ jeelabs/esp-link
スイッチサイエンス ESP-WROOM-02 Wi-Fi 開発ボード
ESP-WROOM-02 開発ボードの使い方をザッと紹介
FlashAir Tutorial
ESP-WROOM-02 開発ボードの使い方をザッと紹介
FlashAir Tutorial
8GB 16GB 32GB / Class 10 / IEEE802.11b/g/n (2.4GHz SISO, 20MHz)
2.1.0 ESP8266モジュール
2.1.1 ESP-WROOM-02 Wi-Fiモジュール
・APM 2.5と2.6の概要
2.1.3 4WD WIFI Cross-country Off-road Robot Smart Car Kit For Arduino Raspberry Pi
・4WD WIFI Cross-country Off-road Robot Smart Car Kit For Arduino Raspberry Pi
2.1.1 ESP-WROOM-02 Wi-Fiモジュール
2.1.1.1 ESP-WROOM-02 Wi-Fiモジュール
・スイッチサイエンス ESP-WROOM-02 Wi-Fiモジュール
・メーカーのプロダクトページ (英語)
・メーカーのBBS、ダウンロードページ (英語)
・Hardware User Guide (英語) (pdf)
・WiFi Module Datasheet (英語) (pdf)
2.1.1.2 ESP-WROOM-02ピッチ変換済みモジュール《フル版》
・スイッチサイエンス ESP-WROOM-02ピッチ変換済みモジュール《フル版》
2.1.1.3 スイッチサイエンス ESP-WROOM-02 Wi-Fi 開発ボード
・ESP-WROOM-02 ( ESP8266 ) 本体
・3.3V対応USBシリアル変換IC FT231XS
・5V→3.3V 電源レギュレーター XC6222B (最大出力電流700mA)
* ピンヘッダは付属せず 別途 要購入
回路図(PDF)
メーカーのプロダクトページ
メーカーのBBS、ダウンロードページ
最新版ドキュメントへのリンクページ
Hardware User Guide (pdf)
WiFi Module Datasheet(pdf)
2.1.2 APM 2.5と2.6の概要・スイッチサイエンス ESP-WROOM-02 Wi-Fiモジュール
・メーカーのプロダクトページ (英語)
・メーカーのBBS、ダウンロードページ (英語)
・Hardware User Guide (英語) (pdf)
・WiFi Module Datasheet (英語) (pdf)
2.1.1.2 ESP-WROOM-02ピッチ変換済みモジュール《フル版》
・スイッチサイエンス ESP-WROOM-02ピッチ変換済みモジュール《フル版》
2.1.1.3 スイッチサイエンス ESP-WROOM-02 Wi-Fi 開発ボード
・ESP-WROOM-02 ( ESP8266 ) 本体
・3.3V対応USBシリアル変換IC FT231XS
・5V→3.3V 電源レギュレーター XC6222B (最大出力電流700mA)
* ピンヘッダは付属せず 別途 要購入
回路図(PDF)
メーカーのプロダクトページ
メーカーのBBS、ダウンロードページ
最新版ドキュメントへのリンクページ
Hardware User Guide (pdf)
WiFi Module Datasheet(pdf)
・APM 2.5と2.6の概要
2.1.3 4WD WIFI Cross-country Off-road Robot Smart Car Kit For Arduino Raspberry Pi
・4WD WIFI Cross-country Off-road Robot Smart Car Kit For Arduino Raspberry Pi
2.2.1 ESP-WROOM-02の動作モードとジャンパピンの設定 マイクロテクニカ社のブレイクアウトボードの場合
2.2.2 UART Download Mode/Flash Boot Mode/SD-Card Boot Mode
以下 「Japan ArduCopter Group」 記事による
技適付きモジュール向けにほぼ同等(であろうと思われる)の基板を自作して使用してます。
・ http://monomake.blogspot.jp/2015/08/esp-wroom-02_24.html
こちらで紹介された、universal io bridgeをファームとして書き込んだものに
・ https://github.com/eriksl/esp8266-universal-io-bridge
下記のような仮想COMポートドライバで接続して、wifi経由で透過接続できてます。(後者の方が使い易いです)
・ http://www.hw-group.com/products/hw_vsp/index_en.html
・ http://www.usriot.com/Download/31.html
ただ、ESP8266は電流食いなのでpixhawkからの給電ではなく、別途DCコンバータを積んだ方がいいかもしれません。
まだ試してませんが、このファームウェアも使いやすそうで気になっています
Comment October 23, 2015 at 1:24am
早速の情報感謝感謝です。 概ね同じことを、他のソフトでやったのですが、Mavlink が通りませんでした。
紹介されたソフトでトライして見ます。
・ https://github.com/jeelabs/esp-link
2.2.2 UART Download Mode/Flash Boot Mode/SD-Card Boot Mode
以下 「Japan ArduCopter Group」 記事による
技適付きモジュール向けにほぼ同等(であろうと思われる)の基板を自作して使用してます。
・ http://monomake.blogspot.jp/2015/08/esp-wroom-02_24.html
こちらで紹介された、universal io bridgeをファームとして書き込んだものに
・ https://github.com/eriksl/esp8266-universal-io-bridge
下記のような仮想COMポートドライバで接続して、wifi経由で透過接続できてます。(後者の方が使い易いです)
・ http://www.hw-group.com/products/hw_vsp/index_en.html
・ http://www.usriot.com/Download/31.html
ただ、ESP8266は電流食いなのでpixhawkからの給電ではなく、別途DCコンバータを積んだ方がいいかもしれません。
まだ試してませんが、このファームウェアも使いやすそうで気になっています
Comment October 23, 2015 at 1:24am
早速の情報感謝感謝です。 概ね同じことを、他のソフトでやったのですが、Mavlink が通りませんでした。
紹介されたソフトでトライして見ます。
・ https://github.com/jeelabs/esp-link
3.0 Cerevo TechBlog 技適済みWi-Fiモジュール「ESP8266」で始めるIoT入門
* 以下 電子工作と介護と生活と・・・ ESP-WROOM-02 開発ボードの使い方をザッと紹介 による
3.1.1 UART(シリアル) ATコマンド通信の方法
・microUSB でパソコンに接続
・Windows8以上ではUSBドライバが自動インストールされる
・ArduinoIDEのCOMポートが使用可能になる
・USBUARTシリアルでATコマンド通信は これだけで 接続OK
3.1.2 Arduino IDE シリアルモニター起動
・USBをPCと接続し Arduino IDE を起動
・ツールメニューで COMポートを選択
・ツールメニューでシリアルモニターを起動
3.1.3 シリアルモニターの通信速度等の設定
・CR(キャリッジリターン)とLF(ラインフィード)を選択
・通信速度を115200 bps に設定 * WROOMのシリアル通信は115200bps がデフォルト
3.1.4 ATコマンドの送受信
・基盤:左リセットスイッチを押す
* 文字化けデータが表示される
* この文字化けは WROOM電源起動直後はかなり遅いビットレートで通信するので
* シリアルモニターの115200bpsでは読み取れないためで この文字列は無視してよし
・ 「ready」と表示さるとWROOMと正常にUART(シリアル)通信が可能になる
・ コマンド入力欄に「AT」と入力 エンターキーまたは送信ボタンをクリック
・ 空行の後に「OK」と表示されれば ATコマンドも正常に送受信出来ている証拠
・ AT+GMR と入力すると ESP-WROOM-02のATコマンドのバージョン・ファームウェアバージョンを確認可能
* ATコマンドの英語マニュアルは ここ
* ATコマンド通信は 別途Arduino UNOなどとシリアル通信 データをWROOMでWi-Fiで飛ばすような時に使う?
* フラッシュに直接Aruduinoスケッチを書き込む場合にはATコマンドは使用できません
* ATコマンドでWROOMをいろいろな動作モードにチェンジ出来る
3.1.1 UART(シリアル) ATコマンド通信の方法
・microUSB でパソコンに接続
・Windows8以上ではUSBドライバが自動インストールされる
・ArduinoIDEのCOMポートが使用可能になる
・USBUARTシリアルでATコマンド通信は これだけで 接続OK
3.1.2 Arduino IDE シリアルモニター起動
・USBをPCと接続し Arduino IDE を起動
・ツールメニューで COMポートを選択
・ツールメニューでシリアルモニターを起動
3.1.3 シリアルモニターの通信速度等の設定
・CR(キャリッジリターン)とLF(ラインフィード)を選択
・通信速度を115200 bps に設定 * WROOMのシリアル通信は115200bps がデフォルト
3.1.4 ATコマンドの送受信
・基盤:左リセットスイッチを押す
* 文字化けデータが表示される
* この文字化けは WROOM電源起動直後はかなり遅いビットレートで通信するので
* シリアルモニターの115200bpsでは読み取れないためで この文字列は無視してよし
・ 「ready」と表示さるとWROOMと正常にUART(シリアル)通信が可能になる
・ コマンド入力欄に「AT」と入力 エンターキーまたは送信ボタンをクリック
・ 空行の後に「OK」と表示されれば ATコマンドも正常に送受信出来ている証拠
・ AT+GMR と入力すると ESP-WROOM-02のATコマンドのバージョン・ファームウェアバージョンを確認可能
* ATコマンドの英語マニュアルは ここ
* ATコマンド通信は 別途Arduino UNOなどとシリアル通信 データをWROOMでWi-Fiで飛ばすような時に使う?
* フラッシュに直接Aruduinoスケッチを書き込む場合にはATコマンドは使用できません
* ATコマンドでWROOMをいろいろな動作モードにチェンジ出来る
以下 電子工作と介護と生活と・・・ ESP-WROOM-02(ESP8266)とArduinoでWi-Fi通信 による
3.2.1 配線
* 電源容量に要注意 Ardunoの3.3Vは最大50mAしか出力しません ArduinoのUSBでは電源容量が足りません
* ESP-WROOMで正常な通信を行うには 標準値でも 170mA以上が必要です
* WROOM-02の TX RX には必ずロジックレベル変換した3.3V信号に接続します
* 間違えて5Vを入力すると故障することがあります
* WROOMの電源ピンに3.3Vが来ているかテスターで確認してからWROOM-02に接続してください
3.2.2 Arduinoにスケッチを書き込む
Arduino IDE 「ファイル」「スケッチの例」 「SoftwareSerial」 「SoftwareSerialExample」を開き
以下のとおりに修正
3.2.3 シリアルモニターの設定
・ CR+LF 115200bps 設定
3.2.4 WROOMの動作確認
・ ESP-WROOM-02 リセット
・ 最初 必ず文字化けしますが問題ありません
* うまく通信できない場合は ロジックレベル変換モジュールの出力がONになっていない場合がある
* ロジックレベル変換モジュールのOEピンを一旦外して 再度接続してみてる
3.2.5 ATコマンドの動作確認
・ シリアルモニターで AT と入力 Enterキーを押し OKと返ってくれば シリアル通信が問題なくができる
3.2.5 WI-Fi通信設定
・ アクセスポイントに接続するため SSID パスワードを入力
AT+CWJAP=”SSID”,”パスワード”
・ 以下の応答があれば Wifi 接続成功です
WIFI CONNECTED
WIFI GOT IP
3.2.1 配線
* 電源容量に要注意 Ardunoの3.3Vは最大50mAしか出力しません ArduinoのUSBでは電源容量が足りません
* ESP-WROOMで正常な通信を行うには 標準値でも 170mA以上が必要です
* WROOM-02の TX RX には必ずロジックレベル変換した3.3V信号に接続します
* 間違えて5Vを入力すると故障することがあります
* WROOMの電源ピンに3.3Vが来ているかテスターで確認してからWROOM-02に接続してください
3.2.2 Arduinoにスケッチを書き込む
Arduino IDE 「ファイル」「スケッチの例」 「SoftwareSerial」 「SoftwareSerialExample」を開き
以下のとおりに修正
#include
SoftwareSerial mySerial(2,3); // RX, TX
void setup()
{
Serial.begin(115200);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
mySerial.begin(115200);
}
void loop()
{
if(mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}#include
SoftwareSerial mySerial(2,3); // RX, TX
void setup()
{
Serial.begin(115200);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
mySerial.begin(115200);
}
void loop()
{
if(mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
SoftwareSerial mySerial(2,3); // RX, TX
void setup()
{
Serial.begin(115200);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
mySerial.begin(115200);
}
void loop()
{
if(mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}#include
SoftwareSerial mySerial(2,3); // RX, TX
void setup()
{
Serial.begin(115200);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
mySerial.begin(115200);
}
void loop()
{
if(mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
3.2.3 シリアルモニターの設定
・ CR+LF 115200bps 設定
3.2.4 WROOMの動作確認
・ ESP-WROOM-02 リセット
・ 最初 必ず文字化けしますが問題ありません
* うまく通信できない場合は ロジックレベル変換モジュールの出力がONになっていない場合がある
* ロジックレベル変換モジュールのOEピンを一旦外して 再度接続してみてる
3.2.5 ATコマンドの動作確認
・ シリアルモニターで AT と入力 Enterキーを押し OKと返ってくれば シリアル通信が問題なくができる
3.2.5 WI-Fi通信設定
・ アクセスポイントに接続するため SSID パスワードを入力
AT+CWJAP=”SSID”,”パスワード”
・ 以下の応答があれば Wifi 接続成功です
WIFI CONNECTED
WIFI GOT IP
4.1 Wi-Fi リモート LEDスイッチ を スマホ ブラウザ で
以下 電子工作と介護と生活と・・・ Wi-Fi リモート LEDスイッチ を スマホ ブラウザ で作ってみました による
4.2 How to connect DroidPlanner/Tower
TCP接続を介して接続するいくつかの方法
・ Serial-to-Wifi module
4.3 Japan ArduCopter Group ESP8266 mesh WIFI
Reply November 7, 2015 at 4:43pm
以下に示すesp-linkをesp8266にインストールして、PCをesp8266にwifi接続して、Mission Planner からDefault のIPとポート23からTCP接続で接続出来ました。 相手が、APM2.5にArduCopter 3.2.1なので115bpsが辛いのか、接続するまで少し時間が必要でしたが、パケ詰まりも無いです。
jeelabs/esp-link
https://github.com/jeelabs/esp-link
Release 2.0.beta2
https://github.com/jeelabs/esp-link/releases/tag/v2.0.beta2
The esp-link creates a wifi access point with an SSID of the form ESP_012ABC
you join your laptop or phone to the esp-link's network as a station and you configure the esp-link wifi with your network info by pointing your browser at http://192.168.4.1/
*バイナリーは、Tar圧縮されているので7-ZIPとかで解凍します。
*ファイルを3か所アドレスしてアップロードが必要のようです?
Reply November 7, 2015 at 11:01pm
4個上のPixhawk での接続も確認出来たのでesp-linkとesp8266でのテレメトリー接続が、確認出来ましたね。
ESP8266で大食いの3.3Vのレギュレータの扱いが、面倒です。
スイッチサイエンスの”ESP-WROOM-02開発ボード”の横から配線しても同様かな~
以下 電子工作と介護と生活と・・・ Wi-Fi リモート LEDスイッチ を スマホ ブラウザ で作ってみました による
4.2 How to connect DroidPlanner/Tower
TCP接続を介して接続するいくつかの方法
・ Serial-to-Wifi module
4.3 Japan ArduCopter Group ESP8266 mesh WIFI
Reply November 7, 2015 at 4:43pm
以下に示すesp-linkをesp8266にインストールして、PCをesp8266にwifi接続して、Mission Planner からDefault のIPとポート23からTCP接続で接続出来ました。 相手が、APM2.5にArduCopter 3.2.1なので115bpsが辛いのか、接続するまで少し時間が必要でしたが、パケ詰まりも無いです。
jeelabs/esp-link
https://github.com/jeelabs/esp-link
Release 2.0.beta2
https://github.com/jeelabs/esp-link/releases/tag/v2.0.beta2
The esp-link creates a wifi access point with an SSID of the form ESP_012ABC
you join your laptop or phone to the esp-link's network as a station and you configure the esp-link wifi with your network info by pointing your browser at http://192.168.4.1/
*バイナリーは、Tar圧縮されているので7-ZIPとかで解凍します。
*ファイルを3か所アドレスしてアップロードが必要のようです?
Reply November 7, 2015 at 11:01pm
4個上のPixhawk での接続も確認出来たのでesp-linkとesp8266でのテレメトリー接続が、確認出来ましたね。
ESP8266で大食いの3.3Vのレギュレータの扱いが、面倒です。
スイッチサイエンスの”ESP-WROOM-02開発ボード”の横から配線しても同様かな~
5 実践編