■ESP8266 系開発ボードと,Wemos_D1-Mini,NodeMCU 用テストプログラム

■ESP8266 系開発ボード,Wemos_D1-Mini,NodeMCU 用テストプログラム

ESP8266系の開発ボードのMicroPython 情報を読み出す方法

 

更新日 2023/08/23
■ESP8266 系,Wemos_D1-Mini,NodeMCU 用テストプログラム

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

■使い方
1, PC(Windows10)にThonny の最新版をインストールして、Thonny を起動する。
2, ESP8266 系開発ボードをUSBケーブルでPCに接続する。
3, 開発ボードが認識されない場合は、USBチップのドライバーを入れる。
4, Thonny で ESP8266 系ボードの MicroPython ファームウェアを入れる。
5, Thonny とボードを USBで接続してプログラムを実行します。
6, 実行エラーが出た場合、エラーメッセメッセージの出た行を # コメントアウトして再実行する。

■ESP8266系ボード (ESP8266-DevKit, NodeMCU-v2,v3, Wemos D1-Mini など)で、以下のプログラムを実行する。

Get_Board_Info-ESP8266-08.py ( コピペで入力する。 )

# Get Board Info-ESP8266-08 #
# 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
import network

# 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)

# i2C and SPI Default value
print("********")
print('Defauit value for Hardware I2C & SPI of ESP8266/ESP32') 
#print('I2C(0):', I2C(0))
#print('I2C(1):', I2C(1))
print('SPI(1):', SPI(1))
#print('SPI(2):', SPI(2))
print("********")
### WiFi Scan around & print AP by MicroPython #2023/04/06
#wlan = network.WLAN(network.STA_IF)
#wlan.active(True)
#aplist = wlan.scan()
#print('WiFi-AP List:', aplist)
#print("********")
# Print the Functions of Board on MicroPython
# MicroPython for Pico, RP2040, ESP32, ESP8266 
#import machine
help(machine)

 

●実行結果 @WeMos_D1-Mini の場合

・MicroPython のFirmware 「ESP8266 with 2MiB+ flash」を入れると4MB が認識されます。

WeMos_D1-Mini での実行画面


■<実行結果の画面の例>

MPY: soft reboot
MicroPython: 3.4.0; MicroPython v1.19.1 on 2022-06-18
CPU Frequency in MHz: 80.0
Firmware Name: ESP module with ESP8266
Flash size in Byte: 4194304
Disk size in MB: 2.98047
Free space in MB: 2.71094
Free Memory in kB: 34.375
********
Defauit value for Hardware I2C & SPI of ESP8266/ESP32
SPI(1): HSPI(id=1, baudrate=80000000, polarity=0, phase=0)
********
object <module 'umachine'> is of type module
  __name__ -- umachine
  mem8 -- <8-bit memory>
  mem16 -- <16-bit memory>
  mem32 -- <32-bit memory>
  freq -- <function>
  reset -- <function>
  soft_reset -- <function>
  reset_cause -- <function>
  unique_id -- <function>
  idle -- <function>
  sleep -- <function>
  lightsleep -- <function>
  deepsleep -- <function>
  disable_irq -- <function>
  enable_irq -- <function>
  bitstream -- <function>
  time_pulse_us -- <function>
  RTC -- <class 'RTC'>
  Timer -- <class 'Timer'>
  WDT -- <class 'WDT'>
  Pin -- <class 'Pin'>
  Signal -- <class 'Signal'>
  PWM -- <class 'PWM'>
  ADC -- <class 'ADC'>
  UART -- <class 'UART'>
  I2C -- <class 'SoftI2C'>
  SoftI2C -- <class 'SoftI2C'>
  SPI -- <class 'HSPI'>
  SoftSPI -- <class 'SoftSPI'>
  DEEPSLEEP -- 4
  PWRON_RESET -- 0
  HARD_RESET -- 6
  DEEPSLEEP_RESET -- 5
  WDT_RESET -- 1
  SOFT_RESET -- 4
>>> 

 

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

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

・esptool.py  flash_id
・esptool.py  chip_id

以上

プログラムは実行環境にあわせて適当に編集してください。Have a nice day!