Help us understand the problem. What is going on with this article?

esp8266でMicroPythonを動かす

More than 3 years have passed since last update.

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用のライブラリは専用のライブラリがあります。

koji14
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした