9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

KIT DeveloperAdvent Calendar 2016

Day 20

esp8266でMicroPythonを動かす

Posted at

MicroPythonとは

マイコンに最適化されたPython3実装です。
元々はpyboardというマイコンボード用でしたが、KickstarterでESP8266への移植が始まりプロジェクトは無事に成功しソースはgithubで公開されています。

環境及び準備するもの

#試す

公式ドキュメントを見ながらやるといいです。

ESP8266用のmicropythonはgithubで公開されているのでコンパイル環境を整えてビルドしたいところですが、公式サイトコンパイル済みの物があるのでそれをダウンロードしてきます。

ESP8266にダウンロードしてきたファームウェアを書き込むために esptool をインストールします。
Python3環境では動かないので注意

$ pip install esptool

次にesptoolを使用してマイコンのフラッシュを消します。

$ sudo esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py v1.2.1
Connecting...
Running Cesanta flasher stub...
Erasing flash (this may take a while)...
Erase took 21.7 seconds

ダウンロードしてきたファームウェアを書き込みます。

$ sudo esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=32m 0 esp8266-20161110-v1.8.6.bin
esptool.py v1.2.1
Connecting...
Running Cesanta flasher stub...
Flash params set to 0x0040
Writing 569344 @ 0x0... 569344 (100 %)
Wrote 569344 bytes at 0x0 in 14.2 seconds (321.7 kbit/s)...
Leaving...

シリアルモニタを開いて確認する。

$ sudo screen /dev/ttyUSB0 115200

ESP8266を再起動し次のようなメッセージが表示されたら成功です。

could not open file 'main.py' for reading

MicroPython v1.8.6-7-gefd0927 on 2016-11-10; ESP module with ESP8266
Type "help()" for more information.
>>> 

Lチカしてみる

ESP8266の14番ピンにLEDをつなげる
Ctrl-E でペーストモードに入れる。Ctrl-Dで終了。
Ctrl-Cでキャンセル。

import machine
import time
pin=machine.Pin(14, machine.Pin.OUT)
while True:
    pin.high()
    time.sleep(1)
    pin.low()
    time.sleep(1)

Lチカしたら成功です!。

公式ドキュメントには、socket、GPIO、PWM、ADC等のチュートリアルが乗っているのでとても参考になリます。
またMicroPython用のライブラリは専用のライブラリがあります。

9
9
3

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
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?