技適つき格安wifiモジュールesp8266にnode mcuのファームを焼いてLuaで制御する


最近、技適つきの格安wifiモジュールが発売されました。
このチップ700円程度で簡単にWi-fiを使用できます。
cerevoさんからブレイクアウトボードが販売されています→http://cerevo.shop-pro.jp/?pid=91592223
最初からTCP/IPのスタックが搭載されており、購入時のファームウェアのままでシリアル経由でWifiの制御が可能ですが、今回はnode mcuというwifiボード用のファームをESP-WROOM-02に焼きこみ、Luaを使用してHTTP通信やGPIOの制御を実行してみました。

 

node mcu

node mcuはESP-WROOM-02に実装されているwifiチップ\”esp8266\”が搭載されているボードで、Lua言語で簡単にwifiモジュールの制御が可能です。

ESP-WROOM-02への書き込みはnode mcu用のflash書き込みソフトのgithubからフラッシャーをダウンロードし、ESP8266Flasher.exeを実行することで簡単に行うことができます。

 

node mcuのファーム書き込み

以下に書き込み手順を示します。

  1. ESP-WROOM-02の各端子を接続する。(裏面から見たピン配置も示します)
    • GND : GND
    • 3V3 : 3.3V
    • EN : 10kの抵抗でプルアップ
    • RST : 10Kの抵抗でプルアップ
    • TXD : 通信相手の シリアルポートのRx
    • RXD : 通信相手のシリアルポートのTx
    • IO0 : GND ※重要
    • IO2 : 3.3V
    • IO15 : GND
      • ※ちなみにUSBからの給電では電流が足りないようで外部から3.3Vを用意したほうがよさそうです。
  2. NODEMCU FIRMWARE PROGRAMMER(ESP8266Flasher.exe)を起動しモジュールと接続しているCOMポートを選択する。
  3. FLASH を押す

    \"ESP-WROOM-02-3_500\"    \"キャプチャ\"

 

すこし待つと書き込みが完了します。

 

Luaでモジュールを制御する。

書き込みが完了したらIO0を解放し(どこにも接続しない)電源を入れて、Teraterm等の適当なシリアルコンソールで接続します。

すると画像のように

NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4
lua: cannot open init.lua

と表示されます。

このinit.luaは起動時に実行されるluaのコードのようです。

\"キャプチャ2\"

ここからはnode mcuの説明の通りですが
この画面から無線ルータへの接続は

print(wifi.sta.getip())
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","password")
print(wifi.sta.getip())

GPIOの制御は

pin = 1
gpio.mode(pin,gpio.OUTPUT)
gpio.write(pin,gpio.HIGH)
gpio.mode(pin,gpio.INPUT)
print(gpio.read(pin))

(このIOの割り振りはGPIO番号と異なるので注意が必要。
ここのgithubの説明にピン配置が記載されています。)

http通信は

conn=net.createConnection(net.TCP, false)
conn:on("receive", function(conn, pl) print(pl) end
conn:connect(80,"121.41.33.127")
conn:send(&amp;quot;GET / HTTP/1.1rnHost: &amp;quot;****url****&amp;quot; rnAccept: <em>/</em>rnrn&amp;quot;)

また、以下のようにすることでdeepsleepも実行することができます。

&gt;node.dsleep(1000000,4)

詳細はここで確認していただきたいのです。

deep sleepはIO16とRSTを接続します。

自力でタイマーでIO16を立ち下げ、リセットをかけることでwake upするようです。

つまり、RSTを自力で立ち下げれば外部からwake upさせることも可能です。

実測では消費電流はおおよそ100uA程度でした。

\"IMG_2464\"

まとめ

安価に購入できて簡単に動作させることができるので是非ためしてみてください。

 

参考資料

node mcu manual :  http://www.nodemcu.com/docs/

The following two tabs change content below.
miyamoto
IoT/ DIY / music / 日本語ラップ
miyamoto

About miyamoto

IoT/ DIY / music / 日本語ラップ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Post Navigation