esp --- ESP8266 と ESP32 に関連する関数¶
esp モジュールは、ESP8266 と ESP32 の両方のモジュールに関連する固有の機能を提供します。一部の機能はこれらのポートのどちらか一方でしか使えません。
関数¶
- esp.sleep_type([sleep_type])¶
注記: ESP8266 のみ
スリープのタイプを取得/設定します。
sleep_type にパラメータが与えた場合、スリープのタイプをその値にを設定します。この関数がパラメータなしで呼び出された場合は、現在のスリープのタイプを返します。
指定可能なスリープのタイプは定数として定義されています:
SLEEP_NONE-- すべての機能が有効SLEEP_MODEM-- モデムのスリープ、WiFi モデム回線をシャットダウンSLEEP_LIGHT-- 軽量スリープ、WiFi モデム回路をシャットダウンし、プロセッサを定期的に停止
可能であれば、システムは自動的に設定されたスリープモードに入ります。
- esp.deepsleep(time_us=0, /)¶
注記: ESP8266 のみ - ESP32 では
machine.deepsleep()を使用ディープスリープに入ります。
RTC クロック回路を除いてモジュール全体がパワーダウンします。RTC クロック回路は、ピン16がリセットピンに接続されている場合、指定時間後にモジュールを再起動するのに使えます。それ以外の場合、モジュールは手動でリセットされるまでスリープします。
- esp.flash_id()¶
注記: ESP8266 のみ
フラッシュメモリのデバイスIDを取得します。
- esp.flash_size()¶
フラッシュメモリの合計サイズを取得します。
- esp.flash_user_start()¶
ユーザフラッシュスペースが始まるメモリオフセットを取得します。
- esp.flash_read(byte_offset, length_or_buffer)¶
- esp.flash_write(byte_offset, bytes)¶
- esp.flash_erase(sector_no)¶
- esp.osdebug(uart_no)¶
注釈
This is the ESP8266 form of this function.
Change the level of OS serial debug log messages. On boot, OS serial debug log messages are disabled.
uart_nois the number of the UART peripheral which should receive OS-level output, orNoneto disable OS serial debug log messages.
- esp.osdebug(uart_no[, level])
注釈
This is the ESP32 form of this function.
Change the level of OS serial debug log messages. On boot, OS serial debug log messages are limited to Error output only.
The behaviour of this function depends on the arguments passed to it. The following combinations are supported:
osdebug(None)restores the default OS debug log message level (LOG_ERROR).osdebug(0)enables all available OS debug log messages (in the default build configuration this isLOG_INFO).osdebug(0, level)sets the OS debug log message level to thespecified value. The log levels are defined as constants:
LOG_NONE-- ログを出力しないLOG_ERROR-- 重大なエラー、ソフトウェアモジュールが自力で回復できない場合LOG_WARN-- 回復措置がとられたエラー状態LOG_INFO-- 正常なイベントの流れを記述する情報メッセージLOG_DEBUG-- 通常の利用には必要のない余分な情報(値、ポインタ、サイズなど)LOG_VERBOSE-- デバッグ情報の大きな塊、あるいは出力があふれる可能性のあるメッセージを頻繁に出力
注釈
LOG_DEBUGandLOG_VERBOSEare not compiled into the MicroPython binary by default, to save size. A custom build with a modified "sdkconfig" source file is needed to see any output at these log levels.注釈
Log output on ESP32 is automatically suspended in "Raw REPL" mode, to prevent communications issues. This means OS level logging is never seen when using
mpremote runand similar tools.
- esp.set_native_code_location(start, length)¶
注記: ESP8266 のみ
ネイティブコードがコンパイルされた後に実行のために配置される場所を設定します。
@micropython.native,@micropython.viper,@micropython.asm_xtensaデコレータが関数に適用されると、ネイティブコードが生成されます。ESP8266は iRAM または(メモリマップされている)フラッシュの下位 1MB のいずれかからコードを実行する必要があり、この関数はその位置を制御します。start と length がどちらも
Noneであった場合、ネイティブコード位置は iRAM1 領域の最後にあるメモリの未使用部分に設定されます。この未使用部分のサイズはファームウェアによって異なり、通常は非常に小さく(約500バイト)、非常に小さな関数を格納するのに使います。この iRAM1 領域を使用する利点は書き込んでもメモリの寿命が縮まないことです。start と length のどちらも
Noneでない場合はどrちらも整数でなければならず、 start はネイティブコードを格納するフラッシュの先頭からのバイトオフセットを指定する必要があります。 length はネイティブコードを格納するために最初から何バイトのフラッシュを使用できるかを指定します。 start と length は、セクタサイズの倍数(4096バイト)にしてください。フラッシュする前にフラッシュは自動的に消去されるので、他(たとえばファームウェアやファイルシステム)では使用されないフラッシュの領域を使うようにしてください。フラッシュを使用してネイティブコードを格納する場合、 start+length は1MB以下でなければなりません。繰り返し消去(および書き込み)を行うとフラッシュは寿命を縮めていくので、この機能は控えめに使ってください。特に、ネイティブコードは起動ごとに再コンパイルしてフラッシュに書き換える必要があります(スリープ解除からの起動の場合も含みます)。
上記のどちらの場合も、iRAM1 またはフラッシュを使って指定領域に空きがなくなった後、関数にネイティブデコレータを使うとその関数のコンパイル中に
MemoryError例外が発生します。