おもちゃ、家電、もろもろの修理の足跡と備忘録

色々と忘れるので、趣味のメモ

ESP8266DEVkit, nodeMCU, LUAで温度と気圧をInternetで送る(software編1-nodeMCUのbuildとinstall)

2019-12-16 22:29:53 | ESP8266DEVkitで遊ぶ
今回は、ESP8266DEVkitを使ったアプリ開発の話です。開発環境は、ArduinoやmicroPython、など色々あるようですが、私の開発環境のベースは、LUA/nodeMCU on Windows10です。Windows10の上で、USBでESP8266DEVkitを接続して開発をしました。当初、色々と調べ、Arduino IDEを使っての開発をされている方がほとんどのようで、私も”Lチカ”くらいまではやってみましたが、どうせやったことがない(PICは開発経験はありますが、Arduinoは無い、、)のなら同じと思い、あえてわからない方、LUA/nodeMCU、にチャレンジしてみました。

 とはいえ、そう決めてやり始めたのは良いですが、日本国内(日本語の)情報は非常に少なく、また、nodeMCUのバージョンによる違いで動かなかったり、結構苦労しました。Quick Hackに近いのですが、それでも、LUAの考え方などがある程度把握できて面白かったです。


ソフトウェア・システム概要:


 ESP8266DEVkitのソフトウェア部は、nodeMCU(Firmwareに相当するのだと思います)、とその上で動くアプリ(LUA言語)の組み合わせで動きます。まずはnodeMCUのbuildとbuildしたもののESP8266DEVkitへのインストールについて記載します。


■nodeMCUをbuildする


ESP8266DEVkitのメモリ容量は限られているので、必要なモジュールを選択してbuildします。どのようなものを作るのか、で異なりますが、大きな上位アプリをつくのでなければそんなに気にしなくても大丈夫なようです。使いそうなものを選択してbuildします。nodeMCUは、自分で環境を作ってbuildすることもできますが、必要なモジュールを選択したnodeMCUをbuidしてくれるサイトがあるので、そこで作りました。

https://nodemcu-build.com/

メールアドレスなどを入れて、必要なモジュールを選択してsubmitするとbuildされた結果のURLがmailで送られてきます。サイトの込み具合?で時間はまちまちのようですが、10分程度から混んでいると1時間程でmail返送されてきます。download-URLがmailに入っているのでそこから自分のPCにdownloadします。


モジュールの選択例


上記URLをたどって必要なモジュールを選択します。Submitすると以下の画面で、選択したモジュールなどの情報が表示されます。この情報は、DEVkitに乗せた後、resetすると表示されるので、忘れても問題無いです。ちなみに以下は、mqttモジュールを追加したかったので再buildしたものです。@2019/7/21

img

すいていると、10分位で設定したメールアドレスにURL付きで帰ってきますが混んでいると時間単位かかります。それをdownloadします。

上記URLを見てゆくと、どんなモジュールが多くbuildされているとか、どの国からのbuildアクセスがあるか、とかのStatusが出ています。日本からのアクセスは、、、残念ながら少ないようです。

★HINTS:

ESP8266DEVkitの購入当初には何が入っているかわかりません。仮にnodeMCUが入っていても新規にbuildしたものを使いましょう。古いversionと新しいversionで、I/Fが変わっているものがある(思ったように動かなくてハマった、、特にタイマー系は途中で一部I/Fが変更されていて、前人のsourceをコピペしても動かない、ということが多々ありました)ので、nodeMCUのversionは気にしておくべきです。私が購入したDEVkitはATコマンドで動くものが入っていました。これは消してしまって問題なく、上記でbuildしたnodeMCUを上書きします。 後述しますが、上位アプリ(LUA)でプログラムを作るときは、https://nodemcu.readthedocs.io/en/master/  のあたりのI/Fを見ながら作ると良いと思います。I/Fの詳細、例なども載っているのでお薦めです(英語ですが、、)。


■nodeMCUをESP8266DEVkitにインストールする


CUIやGUIでインストールするものなどたくさんありますが、私は、「ESP8266Flasher.exe」というアプリを使ってnodeMCUをインストールしました。USBでPC本体とDEVkitを接続します。上記でbuildしたものをアプリで選択して、ダウンロードすればインストールされます。

ESP8266Flasher.exeを使う

  1. 「Config」で、上記でbuildしたxxxx.bin、を選択して、Offset、0x0000を設定 一番先頭に「×」をチェックする
  2. 「Operation」で、COM Portを設定する
  3. 「Flash」でDownloadする
  4. 「Log」でチェックする

COM Portはそれぞれの環境で異なりますので、ご自分のPCで確認してください。特に、USBのシリアルのドライバは、ESP8266DEVkitで使われているSerial-Chipのドライバになります。USBケーブルをつなぐことでPlugAndPlayで自動的にインストールされれば良いですが、されないようでしたら探してインストールが必要になります。私の場合のドライバは、次の通りです。

  • Silicon Labs CP210x USB to UART Bridge v10.1.8.2466

次は上位アプリの開発です。

ーーーー
この文章は、”Typora”でmarkdownで書いたものを、htmlでexportして書いてみました。goo blogもmarkdownでかけると良いのですが。