ページ

2018年7月26日木曜日

MavESP8266をESP-WROOM-02に焼いてPixhawkとWifiで通信する

Project C.G.S.は、MBZIRC 2020年度大会も無事に書類選考を追加しました!

2017年度大会に参加した機体ではペイロードが小さく、今より処理能力の高いボードを載せたり、重い物体を運搬したりするのは難しいので、現在Project C.G.S.では、2020年度大会用の機体を作成しています。

一般的にドローンを自作する場合には、機体を組み立てた後に、機体がうまく飛行できるようにパラメータを調整する作業が待っています。これには機体を手で持ってぐるぐる回したり、少しずつパラメータを変えながら実際に飛ばしたりする作業が必要なのですが、大きいドローンになると指示に従って機体をぐるぐる回すのも一苦労ですし、パラメータ調整のたびにいちいちUSBケーブルを接続するのは非常に面倒です。

なので、やはりパラメータの設定などは無線で通信したいものです。少し前にPX4ファミリーに加わったPixracerはなんとESP8266を使ったWifiモジュールがバンドルされており、これを使えばそのままWifiでQGCと接続することができちゃいます。また、このモジュールを接続すれば、Pixracerに限らずPixhawkなどでもWifi経由で接続することができるようになっています。

ところがここで問題がひとつ... 付属のモジュールは技適認証を受けておらず、日本国内で自由に使うことはできないのです!

そこで、この記事ではESP8266用のファームを技適認証を受けているESP-WROOM-02に書き込み、合法にWifi接続する方法を紹介します(と言っても普通に書き込むだけなのですが...)。

ファームウェアの書き込み

まずは、ESP-WROOM-02(スイッチサイエンスで扱っているピッチ変換基板に実装したもの)を書き込みモードにしてPCと接続します。接続には秋月電子のFT232RL USBシリアル変換モジュールを使いました。

ESP-WROOM-02への書き込み

ESP-WROOM-02は3.3Vで動作しますので、変換モジュールの出力が3.3Vになるようにジャンパピンを設定するのを忘れないでください。


J11-2間ショート
J2ショート

※念の為、ESP-WROOM-02に接続する前にVIOの電圧が3.3Vになっていることを確認してください

ESP-WROOM-02のピンと、変換モジュールとの結線はこちらのスライドの情報を参考に行い、ESP-WROOM-02がUART Download Modeになるように行います。

IO0をGNDにショートしています


ESP-WROOM-02AE-UE232R
3V3VIO
IO15GND
IO2VIO
IO0GND
TXRX
RXTX
GNDGND

この状態で、Githubレポジトリの手順に従ってファームウェアのビルドと書き込みを行います。
※ビルド済みバイナリをesptoolで書き込んでみたのですが、残念ながら動作しませんでした… esp12e向けにビルドしたものでないと動作しないのかもしれません

まずは


sudo pip2 install platformio


でplatformioをインストールしたら、mavesp8266のレポジトリで


platformio run -e esp12e -t upload


でファームウェアのビルドと書き込みをします。
書き込みが終わったらIO0をプルアップに変えて、

IO0をVCCにショートしています

※MavESP8266はGPIO2がGNDに落ちていると設定されているコンフィグをリセットしますので、IO2はGNDに落とさないように注意してください。

PixhawkのTELEM2に繋ぎます。

Pixhawkとの接続

このとき、PixhawkのTELEM2の電源は5Vになっているので、間にレギュレータを挟んでESP-WROOM-02に供給される電圧が3.3Vになるようにしてください。

ボーレートの設定


Pixracerの場合はESP8266用のWifi Serialは921600ボーに設定されているのでこのままで通信できますが、Pixhawkの場合は使うTELEMのボーレートを921600に変更する必要があります。

PixhawkをUSBでQGroundControlと接続し、この公式ページを参考にPARAMETERのSYS_COMPANIONの値を`ESP8266 (921600 baud, 8N1)`に変更します。
※MavESP8266側のWebUIでボーレートをPixhawk側に、合わせる方法もありますが、57600ボーだとQGCでのパラメータのグラフ表示が残念なカクカク具合になるので、こちらの方法をおすすめします。

Pixhawkの電源を入れるとESP-WROOM-02のアクセスポイント(Pixracer)が見えるので、ノートパソコンでアクセスポイントに接続し、QGroundControlを立ち上げると自動で無線で接続されます。😄

その他


今回は、


PX4Firmware v1.8.0
MavESP8266610f4be5
QGroundControlv3.3.2

で動作することを確認しました。

1 件のコメント:

  1. こんにちは。
    pixhawkとMavESP8266に関する資料がない中で非常に参考にさせております。
    上記の手順で、192.168.4.1で接続確認まではできたのですが、QGCとの接続が上手くいきません。
    QGC側のMAVLink Ground Station’s Host nameなどをいじっているのですが、もしUDP等の設定をされていたらご教授いただけないでしょうか。

    返信削除