ESP32系開発ボード用テストプログラム

更新:2023/08/28

ESP32系開発ボードで MicroPython の情報を読み出すプログラム


■ESP32開発ボードの Micropython 環境での情報を読み出す
・ネット通販で入手したESP32系開発ボードの死活を MicroPython で調べるプログラムです。
・ボードの情報をなるべく多く読み出すことで、トラブル時の不良や故障の発見にも役立ちます。
・このプログラムはネットでみつけたシンプルなテストプログラムを単純に1個につなげただけものです。
・ESP-23系開発ボード、ESP32-WR**, ESP32/C*/S* と互換ボードで使用できます。
・ESP-23系開発ボードに MicroPython のファームウェアをインストールすることで利用できます。
・ MicroPython のESP32 系ファームウェアは Thonny-4.4.1 からインストールできます。
・このプログラムの実行に必要な追加のライブラリーやモジュールはありません。
・プログラムはご自由に書き直してカスタマイズして下さい。
・実行してエラーが出たら、問題の行の行頭に#を入れて除外し再実行すれば結果を得られます。
・MicroPython のハードウェアI2C と SPI のデフォルト値を読み出して確認ができます。
・ソフトウェア I2C、SPI の設定値の確認はできません。
WiFi の動作確認は、最下部の WiFi_AP_List のプログラム部の行頭の # を削除して利用できます。

■ESP32 系開発ボード用のテストプログラム
 Get_ESP32_Board_Info-09.py

# Get Board Info. ESP32-09 #
# CPU Fre4qency, Firmware Name, Disk_Size, Free Space, CPU Tempareturs
# Print I2C & SPI Defaults for Pico
import os
import sys
import platform
import gc
import machine
import utime
from machine import I2C, SPI
import esp
import esp32

# Get MicroPython Version of board
print("MicroPython:", sys.version)
# CPU Frequency
print("CPU Frequency in MHz:", machine.freq() / 1000000)          # CPU の現在の周波数を取得
# Firmware Name in the board
print("Firmware Name:", os.uname().machine)
print("Flash size in Byte:", esp.flash_size())
fs_stat = os.statvfs('/')
print("Disk size in MB:", fs_stat[0] * fs_stat[2] / 1024 / 1024)
print("Free space in MB:", fs_stat[0] * fs_stat[3] / 1024 / 1024)
print("Free Memory in kB:", gc.mem_free() / 1024)
# Hall sensor value
print("Hall sensor value: ", esp32.hall_sensor())
# CPU Temperature in F
#print("CPU Temperature raw:", raw_temperature() )
print("CPU Temperature C:", round((((esp32.raw_temperature() - 32) / 1.8)), 1))

# i2C and SPI Default value
print("********")
print('Defauit value for Hardware I2C & SPI of ESP32') 
print('I2C(0):', I2C(0))
print('I2C(1):', I2C(1))
print('SPI(1):', SPI(1))
print('SPI(2):', SPI(2))

 

■Thonny-4.4.1 でのプログラム実行の画面

ESP32 ボードでのプログラム実行画面


■実行結果の例(1):Wemos ESP32-OLED ボードの実行結果

Wemos-ESP32-OLED でプログラムを実行した・・・・

MPY: soft reboot
MicroPython: 3.4.0; MicroPython v1.19.1-996-g783ddfc26 on 2023-04-04
CPU Frequency in MHz: 160.0
Firmware Name: ESP32 module with ESP32
Flash size in Byte: 4194304
Disk size in MB: 2.0
Free space in MB: 1.882813
Free Memory in kB: 105.5781
Hall sensor value:  46
CPU Temperature C: 41.1
********
Defauit value for Hardware I2C & SPI of ESP32
I2C(0): I2C(0, scl=18, sda=19, freq=400000)
I2C(1): I2C(1, scl=25, sda=26, freq=400000)
SPI(1): SPI(id=1, baudrate=500000, polarity=0, phase=0, bits=8, firstbit=0, sck=14, mosi=13, miso=12)
SPI(2): SPI(id=2, baudrate=500000, polarity=0, phase=0, bits=8, firstbit=0, sck=18, mosi=23, miso=19)
>>>

 

■esptool.py でハードウェアの仕様をチェックする
 このプログラムでは、その開発ボード上の Micropython で認識された情報を知ることができます。
さらに開発ボードの物理的な仕様を知るには esptool.py を利用できます。
 Espresshif 社の ESP8266、ESP32 系チップについては、esptool.py を使ってボードの物理仕様などを調べることができます。esptool.py は、調べたい開発ボードに MicroPython が入っていてもいなくても使用できます。

ボードを(Windows)PCに接続して、黒画面のコマンドプロンプトで以下のコマンドを入力する。

・esptool.py  flash_id
・esptool.py  chip_id

以上