0%

ESP8266にNodeMCUをアップロードしてHello Worldする

ESP8266NodeMCUのファームウェアを使うと数百円でWi-Fiが使えてLuaでプログラミング可能なマイコンを作ることができます。Node.jsからハードウェアを操作できるWi-Fiモジュールを搭載したマイコンにTesselSpark Coreなどありますがまだまだ高価です。ArduinoからWi-Fiモジュールを操作してMQTT通信をするスケッチ作成に苦労しているのでLuaから制御ができるのはとても魅力的です。

NodeMCUのアップロード

nodemcu-firmware

nodemcu-firmwareのリポジトリから最新ファームウェアのnodemcu_latest.binからダウンロードします。

nodemcu-flasher

64bit版Windows用のnodemcu-flasherを使いNodeMCUファームウェアをESP8266にアップロードします。ファームウェアは0x000000に書き込みます。Windowsホストマシンとの接続は前回を参考にします。ファームウェアを更新するときはESP8266のGPIO0はGNDに接続して、更新後は忘れず切断しておきます。

nodemcu.png

CoolTermからHello World

NodeMCUのExamplesを参考にCoolTermから簡単なLuaスクリプトを書いてみます。

> print("Hello World")
Hello World
>

nodemcu-helloworld.png

init.lua

init.luaファイルはNodeMCUが起動したとき最初に読み込まれます。CoolTermからLuaスクリプトを書いてinit.luaを作成してみます。

最初にfile.format()を実行してファイルの初期化をします。アップロード済みのファイルは削除されます。

> file.format()
format done.

print関数を記述してファイルを閉じます。

> file.open("init.lua","w")
> file.writeline([[print("Hello World!")]])
> file.close()

init.luaファイルを読み込み文字列が書き込まれたか確認します。

> file.open("init.lua", "r")
> print(file.readline())
print("Hello World!")
> file.close()

Lua Loader

CoolTermだとNodeMCUのリスタートがわかりずらいのでLua Loaderをインストールしてinit.luaの動作を確認します。一度CoolTremからESP8266を切断しておきます。

Lua Loaderは最新版のLuaLoader.zip 0.87のzipファイルをダウンロードして解凍します。

LuaLoader.exeを管理者権限で実行します。

メニューのSettings > Comm Port Settingを開きESP8266を接続したCOMポートを選択します。コンソールにnode.restart()を入力して実行するとすぐにNodeMCUがリスタートします。init.luaに書いたprint関数が実行されました。

> node.restart()

NodeMCU 0.9.5 build 20150214 powered by Lua 5.1.4
Hello World!