ESP8266にmicropythonを入れて動かしてみた.


無事に動いた

インストール作業には古いubuntuのPCを使ったが,まず準備としてこのPCにesptoolをインストールする.

sudo aptitude install python-pip
sudo pip install esptool

そして,esp8266用のmicropythonのbinaryをdownloadしてから,ESP8266をUSBで接続して,これを書き込む.

sudo esptool.py --port /dev/ttyUSB0 erase_flash
sudo esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=32m 0 esp8266-20180511-v1.9.4.bin

これで準備が整ったので,実行してみるが,シリアル接続するためにscreenをインストールして,次のように実行する.

sudo screen /dev/ttyUSB0 115200

そこで,esp8266のボードをリセットすると,ターミナルにpythonのプロンプトが表示される.ここにscriptを打ち込むと,その結果が返ってくる.試しに足し算などをしてみたが,足し算ができただけで一人で喜んでいた.

試しにプログラムを実行してみるには,ターミナルで打ち込んで挙動を見るのは有用であるが,実際に使う時には不便である.micropythonは,起動時にboot.pyが,次いでmain.pyが実行される.これらのファイルを転送すれば,自動的に実行される.そこで,ファイルの転送ツールをインストールする.

sudo pip install adafruit-ampy

ampyを使うと,ftpのような感じのコマンドで,ファイルの転送ができ,それを実行することができた.

ampy --port=/dev/ttyUSB0 ls
ampy --port=/dev/ttyUSB0 put main.py
ampy --port=/dev/ttyUSB0 rm main.py

実行したい命令をmain.pyに入れて,それを転送すれば,リセット後に実行することができる.