LoginSignup
26
28

More than 5 years have passed since last update.

ESP8266 (ESP-WROOM-02) のセットアップ・nodemcuのテスト

Last updated at Posted at 2016-01-16

ESP8266とは

esp8266.jpg

昨年から話題になっている、技適マークを取得しているWifiモジュール。
詳しくは以下の記事が詳しい。

技適済み格安高性能Wi-FiモジュールESP8266をArduinoIDEを使ってIoT開発する為の環境準備を10分でやる方法

自分の環境については、ホストマシンはMac Book Pro。Mac OS X El Capitanである。

用意するもの

秋月電子で手に入れる。

以下は千石電商で。

あとは、ハンダゴテとハンダが必要。

ESP8266をブレッドボードで使えるようにする

DIPの部分をハンダ付けする

esp8266.png

ATコマンドを発行する動作チェック

ESP8266や抵抗を繋いでいく

以下の記事を参考に抵抗とESP8266、及びUSBシリアル変換アダプターを繋いでみた。

ESP-WROOM-02で抵抗けちって動かなかった件

ESP8266___FT232RL_AT_Command_2.png

ESP 8266(ESP WROOM 02)のピン 接続先
3V3 3.3V
EN 3.3V(10kΩ抵抗を挟む)
IO15 GND(10kΩ抵抗を挟む)
IO2 3.3V(10kΩ抵抗を挟む)
IO0 3.3V(10kΩ抵抗を挟む)
RST 3.3V(10kΩ抵抗を挟む)
TXD RX(USBシリアル変換アダプター)
RXD TX(USBシリアル変換アダプター)
GND GND(USBシリアル変換アダプター

USBシリアル変換アダプターのドライバインストール

スイッチサイエンスさんが示しているオフィシャルサイトよりドライバを落とす

Screen Shot 2016-01-13 at 21.56.49.png

ドライバダウンロード後、ダウンロードしたパッケージをインストールする。

Arduino IDEよりホストからESP8266に対しシリアル接続を試す

Arduino IDEを立ち上げる。マシンにインストールしていないひとは以下よりインストールする。

Download the Arduino Software

Screen Shot 2016-01-13 at 21.59.15.png

動作確認したArduino IDEのバージョンは1.6.7。

Toolsからポートを選択し、接続したESP8266(USBシリアル変換アダプタ)を選択する。

Screen Shot 2016-01-13 at 22.40.12.png

その後、IDEの右上にあるアイコンを押して、シリアルモニタを表示する。

IDE_SerialMonitor.png

シリアルモニタから、ATコマンドを実行する。

AT_Command.png

通った。ATコマンドではWifiの設定などが行える。

ESP8266をUSB-TTLシリアル変換してWi-Fiを確認するから。

nodemcuを試す

nodemcuを入れて遊んでいる社員が居て、興味もったので入れてみる。
luaでロジックを書けるようになる。

firmwareをビルドする。

README.mdの手順にある中で、docker containerを利用したファームウェアのビルド方法が書かれていたのでやってみた。

Docker toolboxをダウンロード

する。自分の環境はMac OS Xである。

Docker Toolbox

Docker Quick Start Terminalを立ち上げる

Screen Shot 2016-01-16 at 04.56.02.png

Docker machine (default)を立ち上げる

> docker-machine start default

docker daemonとの接続を可能にするため、以下のコマンドを実行する

自分は$SHELLにfish shellを利用しているので、以下のコマンドを実行する

> eval (docker-machine env default)

bashとかなら以下。

> eval "$(docker-machine env default)"

nodemcu-firmwareのリポジトリをclone

する。

> mkdir ~/Sandbox
> cd ~/Sandbox
> git clone https://github.com/nodemcu/nodemcu-firmware.git

Docker containerを利用してビルドする

README.mdにリンクが貼られているコンテナページに記載されているコマンドを実行してビルドを行う。

> cd ~/Sandbox/nodemcu-firmware
> docker run --rm -ti -v (pwd):/opt/nodemcu-firmware marcelstoer/nodemcu-build

ビルドされたバイナリをESP 8266へ

ブレッドボード上の一部配線を変更する。

esp8266_write_mode.png

ESP 8266(ESP WROOM 02)のピン 接続先
3V3 3.3V
EN 3.3V(10kΩ抵抗を挟む)
IO15 GND(10kΩ抵抗を挟む)
IO2 3.3V(10kΩ抵抗を挟む)
IO0 GND
RST 3.3V(10kΩ抵抗を挟む)
TXD RX(USBシリアル変換アダプター)
RXD TX(USBシリアル変換アダプター)
GND GND(USBシリアル変換アダプター

esptoolをインストールする

esptoolを利用し、USBシリアル変換アダプタ経由でESP 8266のFlashにバイナリを転送する。
pyenvを利用し、pythonの環境を構築するところから。

> brew install pyenv
> pyenv install 2.7.11
> pyenv rehash
> pyenv global 2.7.11
> cd ~/Sandbox
> git clone https://github.com/themadinventor/esptool.git
> cd esptool
> python setup.py install
> pyenv rehash

esptoolを利用し、ビルドしたバイナリをFlashに書き込む。
Getting Started on OSXを参考にした。

ttyとして設定するUSBシリアル変換アダプタは環境によって異なる(はず)。

> cd ~/Sandbox/nodemcu-firmware/bin
> sudo esptool.py --port=/dev/tty.usbserial-AI02RJQZ write_flash 0x00000 nodemcu_float_master_20160115-1942.bin
Connecting...
Erasing flash...
Took 2.44s to erase flash block
Wrote 530432 bytes at 0x00000000 in 57.8 seconds (73.4 kbit/s)...

Leaving...

nodemcuを試す

ブレッドボードの接続状態を切り替え、
Flashに書き込んだnodemcuを立ち上げる状態にする

ESP8266___FT232RL_AT_Command_2.png

ESP 8266(ESP WROOM 02)のピン 接続先
3V3 3.3V
EN 3.3V(10kΩ抵抗を挟む)
IO15 GND(10kΩ抵抗を挟む)
IO2 3.3V(10kΩ抵抗を挟む)
IO0 3.3V(10kΩ抵抗を挟む)
RST 3.3V(10kΩ抵抗を挟む)
TXD RX(USBシリアル変換アダプター)
RXD TX(USBシリアル変換アダプター)
GND GND(USBシリアル変換アダプター

変更後、screenでシリアル接続する。

> screen /dev/tty.usbserial-AI02RJQZ 9600
NodeMCU 1.4.0 build 20151006 powered by Lua 5.1.4 on SDK 1.4.0
lua: cannot open init.lua
> 

起動した!起動しないままの場合は、RSTをGNDに接続して、リセットしてあげると良い。

luaコマンドを実行する

NodeMCU API Instructionを見つつ。

> print("hello world")
hello world
> print(wifi.sta.getmac())
XX:XX:XX:XX:XX:XX
> wifi.setmode(wifi.STATION)
> wifi.sta.config("SSID", "pass")
> ip = wifi.sta.getip()
> print(ip)
192.168.10.16

インターネッツにも繋がる。

ファームについてMQTTのモジュールなどもある。
今後そっちもいじっていく。

26
28
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
28