micropythonでESP8266をプログラムする準備

Micropythonは、マイクロコントローラ用に最適化されたCで記述されたPython 3の実装です。 Nodemcu v1.0は、ESP8266マイクロコントローラーとWi-Fiサポートを備えた最も便利なマザーボードです。 それとmicropythonの組み合わせは、パワー、スピード、書きやすさです。 これはマイクロパイソン(および原則としてMK )での初めての経験であるため、多くのニュアンスに出会い、その方法を読者と共有したいと思います。 例はMacOS用ですが、LinuxおよびWindows用に簡単に適合させることができます。
画像


運転手


まず、ドライバーをインストールする必要があります。 簡単です、ここでやめません。 MacOSの場合、 ch340g-ch34g-ch34x-mac-os-x-driverを使用しました

ファームウェア


次に、micropythonファームウェアをESP8266にアップロードする必要があります。 このプロセスは、ESP8266のmicropython ドキュメントで詳細かつ正確に説明されているため、主な点について簡単に説明します。

ここからファームウェアをダウンロードします。 最新の安定ビルドをお勧めします。
esptoolをインストールします。

pip install esptool 

Pipは、Python用のパッケージ管理システムです。 一般にpipまたはpythonがない場合は、最初にそれらをインストールする必要があります。

次に、デバイスのフラッシュメモリをクリアします。

 esptool.py --port /dev/ttyUSB0 erase_flash 

点滅:

 esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin 

ポート/dev/ttyUSB0は独自のものに置き換える必要があります。 MacOSの場合、単に/dev/$(ls /dev | grep cu.wchusbserial)/dev/$(ls /dev | grep cu.wchusbserial)で、目的のポートが自動的に/dev/$(ls /dev | grep cu.wchusbserial)ます。
例:

 esptool.py --port /dev/$(ls /dev | grep cu.wchusbserial) erase_flash 

Espの標準としてボーレート115200を使用していることに注意してください。

REPL


さて、マイクにはmicropythonが搭載されています。つまり、マイクに接続して、 REPL (Read Evaluate Print Loop)でコマンドを実行できます。 実際、これは古典的なPythonのコマンドラインインタープリターに類似しています。 シリアルポートまたはWiFi経由で接続できます。 詳細な使用法の情報はここにありますが、いくつかのコメントを提供します。

MacOSの場合、picocomを使用すると便利です。

 picocom /dev/$(ls /dev | grep cu.wchusbserial) -b115200 

コマンドを実行すると、コンソールは対話モードになります。
終了するには、Control-Aを使用してからControl-Xを使用します(Controlを押さずに)。
ユーティリティの作成者は、GitHubの問題に積極的に回答します。重要な役割を果たすことができる人のために。 また、バージョン3以降、非対話型モードが追加され、独自のスクリプトを記述する際にpicocomを使用できるようになりました。

画面を使用することもできます:

 screen /dev/$(ls /dev | grep cu.wchusbserial) 115200 

終了するには:Control-A、Control- \

プログラミングに進む前に、チュートリアルを完全に完了することをお勧めします。数時間しかかからず、メリットは明確です。

IDE


REPLでプレイし、ダイオードで点滅させ、TCPソケットを使用しました。 次は? コードをespに迅速に配信する方法が必要です。 REPLを使用してすべてを書くわけではありません。 IDEはすぐに思い浮かびます。 そこで、 ESPlorer 0.2.0-rc6をダウンロードしました 。 micropythonのサポートは活発に開発中であり、私が理解しているように、最近rc3に追加されました。 このIDEでしばらく過ごした後、フラッシュにファイルを書き込んでコードを実行することを妨げる多くのバグに遭遇しました。 私はgithubで問題を書き、より良い時までESPlorerを延期しました。 Windowsには、 espcutEsPyのいくつかの選択肢があります。

Sublimeでコードを書くことにしました-すべてがシンプルで明確です。 そして、それをミクロンに届ける方法は?
幸い、 ampy呼ばれるすばらしいユーティリティがあり、必要なことだけを行います。シリアル接続を介してファイルを転送できます。 また、ファイルを実行し、フォルダを作成/削除することもできます。

使いやすくするために、十分な量のラッパーである単純なスクリプトを作成しました。
彼は2つのことしかできません。

  1. -fオプションを指定して呼び出された場合、スクリプトが置かれているフォルダーと同じフォルダーにあるすべてのPythonファイルがMKに転送されます。
  2. パラメーターなしで呼び出された場合、すべての引数は直接ampyに渡されます(ポートを常にampyで指定する必要がなくなります)。

このスクリプトはgithubで入手できます。 コードがあるフォルダーに配置します。
ヘルプを表示するには、スクリプトを引数なしで呼び出します。

ESP8266は主に単純なタスクに使用されるため、これらの単純なツールで十分です。

まとめ


合計で、esp8266をフラッシュし、MKと通信するために必要なソフトウェアをセットアップし、ampyとampywを使用して迅速で便利な開発を確保しました。これにより、IDEから独立できます。 これで、あなたに必要なのは、コードを書いて夢のデバイスを作成することだけです!

Source: https://habr.com/ru/post/J345912/


All Articles