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から独立できます。 これで、あなたに必要なのは、コードを書いて夢のデバイスを作成することだけです!




All Articles