スキップしてメイン コンテンツに移動

投稿

4月, 2021の投稿を表示しています

【入門】ESP32 × MicroPython ファームウェア書き込み ~ Pmod KYPD (キーパッド)を使ってみる

  今回は何度か扱ってきたESP32に ファームウェア を書き込んでMicroPythonを使ってPmodKYPD(キーバッド)を使っていきたいと思います。 MicroPythonの書き込みなどは思ったよりも簡単でしたが所々躓いた事なども説明していきたいと思います。 1. 動作環境 OS :  Microsoft   Windows  10 Home バージョン : 10.0.18363 ビルド 18363 モデル :  Surface  Laptop 3 Visual Studio Code  (ver : 1.52.1) or uPyCraft V1.1 Anaconda (ver : 4.8.3) Python  3.8.5 2. 使ったもの ESP32-DevKitC Pmod KYPD(以下キーバッド) ブレッドボード ジャンパワイヤ(オスーメス) 3. MicroPythonの書き込み 書き込みはとても簡単で特に気を使う場面はありませんでした。 と言うのも、公式が日本語の書き込み手順を出してくれているからです。公式のリファレンスに則って進めれば問題ありませんので下にそのリンクを貼っておきます。 注意:MicroPythonの ファームウェア を書き込む際に、使用しているPCに Python がインストールされている必要があります。本記事では Python のインストールに関しての詳しい記述は省いて説明します。 ファームウェア の書き込みまでの説明は、公式リファレンス通りに進めた場合の補足になりますのでリファレンスと併せて作業してください。 micropython-docs-ja.readthedocs.io ファームウェア のダウンロードの補足 強いて気を付けるべき場所は ファームウェア のダウンロードです。 ファームウェア入手  の項に記載があるようにMicroPythonの ファームウェア に毎日ビルド版、安定ビルド版、SPRAMサポート付きビルド版の3つの種類があると記載がありますが、執筆現在(2021.03.17)だとバージョン3系では更新が止まっていて毎日ビルド版がないようです。 それに加え執筆現在(2021/3/17)では、バージョンも3.Xと4.X代の2種類が存在し、3.Xと4.X代の違いは ダウンロードサイト に記載があります。表にまとめ

ESP32 MicroPython webサーバ~Lチカ

  今回はESP32でMicroPythonから Wi-Fi を使ってwebサーバを立てたり、その応用をやってみようと思います。 TODO:前の記事の作成とURL張り ESP32でMicroPythonを使えるようにするまでの記事があります。すでに書き込みと実行が出来る前提で話を進めていくので、そちらの記事も合わせて読んで頂けると嬉しいです。 準備したもの ESP32 LED ブレッドボード ジャンパワイヤ 抵抗(10kΩ,22kΩ) webサーバを立てる まずはwebサーバを立ててみましょう。 公式に情報が載っているのでこちらを参考に行っていきます。 micropython-docs-ja.readthedocs.io ↑のリンクにwebサーバを立てるシンプルなプログラムが載っているのでこれを参考に WiFi に接続して、ステーションモード(子機)として動くプログラムを作ります。 最初はとりあえず短く、最小限で hello world をやってみました。 import network import socket #///WiFiに接続 sta_if = network.WLAN(network.STA_IF) sta_if.active( True ) print ( 'connecting to network...' ) sta_if.connect( 'SSID' , 'PASS' ) #SSIDとPASSは書き換えが必要 while not sta_if.isconnected(): pass #/// #///ソケットの作成・登録・接続準備 addr = socket.getaddrinfo( '0.0.0.0' , 80 )[ 0 ][- 1 ] s = socket.socket() s.bind(addr) s.listen( 1 ) print ( 'listening on' , sta_if.ifconfig()[ 0 ]) #/// #///ソケットの接続待機・送信・切断 while True : cl, addr = s.accept() print ( 'client connected from