スキップしてメイン コンテンツに移動

投稿

ラベル(ESP32)が付いた投稿を表示しています

NuttX on ESP32: wapi_smpを使ってみる (as of Mar/29/2021)

レポジトリにESP関係のコードがかなり入ったことは知っていたのですが、久しぶりにESP32用にNuttxをビルドしてみたところ、生成されるnuttx.binがEsp32に直接書き込めるbinaryになっていたり、wapi scan などが動作したり、wapi_smpやsta_softapのコンフィグ等多数追加されるなどかなり進展があったので、本稿を挙げてみることにしました。 レポジトリの取得や、基本的な環境設定は、 前々回 / 前回 と違いtools/esp32/Makefileがなくなっったようなので、以下の様にしてみました。 ツール類のインストールなど # 念のため sudo apt-get update #nuttx用のツール類のインストール sudo apt-get install kconfig-frontends #esp32 idf用のツール類のインストール sudo apt-get install git automake autoconf cmake build-essential git wget flex bison gperf make \ libncurses5-dev python3 python3-pip python3-setuptools python3-serial python3-click \ python3-cryptography python3-future python3-pyparsing python3-pyelftools python3-libusb1 python3-pip \ pkg-config unzip ninja-build ccache #python3をデフォルトにしておく。 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 なおubuntu 18.04ではkconfig-frontendsのパッケージがないので、別途ソースを取得し、ビルド・インストールします。 kconfig-frontendsのビルド(ubuntu 18.04) cd /usr/src sudo mkdir kconfig-frontends chown yousrid...

NuttX on ESP32: wapiを使ってみる (as of Jan/2021)

注意:2021/03/29現在、wapi scan などが動作するようになっています。また、ビルド時点で esp32に書き込みできるnuttx.binが生成されますので、ご注意ください。 ビルドしてみてわかったことですが、2021年1月時点では、esp32向けのwifiはまだ初期段階の様子でwapiコマンドもクライアントモードで一部動作するもののステーションモード・APモードでは動作確認ができませんでした。また、どこかでスリープが入るのか、長時間のwifi接続の確認ができていません。とはいえ、wifiがやっと動作するようになりつつあるので、今回はwapiの設定をしてみることにしました。 ところで、wapiとは何かというと、ローレベルのwifiルーチン群でifconfigやwlconfigに対してインターフェースを提供するCのルーチン群だということだそうですが、nuttxのesp32ではコマンドラインにも対応しているので、以下、早速設定していきたいと思います。 なお、レポジトリやビルド環境のセットアップは 前回 と同じく、masterをクローンしてビルドしていますので、参考にしてください。 まず初めにコンフィグを読み込みます。 cd /usr/src/nuttx-master/nuttx tools/configure.sh esp32-devkitc/wapi 追記: 2021/03/29現在、renewコマンドはwapiコンフィグに既に含まれているので、以下不要です。 つづいて、設定を一部変更します。まず初めに、dhcpc renewコマンド(renew)をビルドするようにしておきます。 make menuconfig # /を入力してサーチモードに入り、以下を検索してenalbeしてください。 CONFIG_SYSTEM_DHCPC_RENEW 基本的にwapiのコンフィグはこれだけです。つづいて 前回( https://benedicam-te.blogspot.com/2021/01/nuttx-on-esp32-board-build-environment.html ) と同じように以下の様にします。 make -jX # 2021/03/29追記: nuttx.binはbuild時点でesp32に書き込まれる状態で生成...

Nuttx on ESP32 board : build environment setup for linux and build nsh for esp32

Nuttx master repositoryにesp32のwifi関係がやっと入ったので、まずは、ESP32をビルドする環境をLinux(Debian 11)上で整え、nshをビルドして見ました。それでは早速設定していきます。 #nuttx用のツール類のインストール sudo apt-get install kconfig-frontends #esp32 idf用のツール類のインストール sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools \ python3-serial python3-click python3-cryptography python3-future python3-pyparsing \ python3-pyelftools python3-libusb1 cmake ninja-build ccache #python3をデフォルトにしておく。 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 nuttxのソースをクローンし、esp32の開発環境を読み込むようにしておきます。 cd /usr/src sudo mkdir /usr/src/nuttx-master sudo chown -R YourUseName nuttx-master cd nuttx-master git clone https://github.com/apache/incubator-nuttx nuttx git clone https://github.com/apache/incubator-nuttx-apps apps cd nuttx make -C tools/esp32 ${HOME}/esp/esp-idf #ツール類のダウンロードが行われ、数分かかります。 #続いて ~/.bashrc を編集し、ログイン時にesp32のidf環境を読み込むようにしておきます。 . ${HOME}/esp/esp-idf/export.sh ここで一旦ログアウトして、再度ログインしてください。 S...