UMEHOSHI ITA TOP PAGE COMPUTER SHIEN LAB
ロボットのハード構成は、こちらのページで紹介しています。
MicroPythonのインストールは、こちらのページで紹介している内容で行います。
これを行うには、UMEHOSHI ITAをスルーモードで行います。
この状態は、PCとUSBで接続してPC側の「Tera Term」のターミナルで、MicroPythonの会話モードが動作できます。
(UMEHOSHI ITAをスルーモードにする操作:
SW1とSW2を押し、SW1を離してLED1が消灯に変わるまでSW2を押す。約3秒)
UMEHOSHI ITAをスルーモードとは、接続したUSBでPCから送った情報がそのままUARTを介してESP32に送られるモードで、逆にESP32が出力した情報はPCへ送信されます。
この状態で、PC側のampyコマンドを使うことにより、ESP32へのファイル転送操作やESP32側でのpythonプログラムの実行ができす。
ampyの使い方は、こちらのページで紹介しています。
EEPROM化は、こちらのページで紹介している内容で行います
これを行うには、UMEHOSHI ITAをUART1コマンドモードで行います。
この状態は、UARTでUMEHOSHI ITAで、UART1やUSBで受信した'S'、'R'、'G'から始まる文字列命令「UME専用Hexコマンド」を処理できます。
(UMEHOSHI ITAをUART1コマンドモードにする操作:
SW1とSW2を押し、SW1を離してLED1が消灯し、それから点灯に変わるまでSW2を押す。約4秒)
ROM化により、PCとUSBで接続してPC側の「Tera Term」のターミナルで
EEPROM内のエントリーポイントの文字列を送るだけで、対応する関数を起動できます。
例えば、「Tera Term」からEEPROMのブザーを鳴らすエントリポイントを実行する"R009D020D00003B"の文字列を送ると、
START:9D020D00の応答文字列で応答すると共にブザーが鳴ります。
R009D020D00003B
START:9D020D00
なお、ESP32の起動メッセージなど余計な文字列も表示されますが、それは無視してください。
そして、
UMEHOSHI ITAをUART1コマンドモードでは、ESP32がUMEHOSHI ITAをのUART1に接続されるため、
ESP32のMicroPythonのprintで出力した'S'、'R'、'G'から始まる文字列は、UMEHOSHI ITAの命令「UME専用Hexコマンド」として処理されます。
現状では上記で示したように、スルーモードで起動するとampyコマンドでPCからPythonファイルを実行できます。
ですが、UMEHOSHI ITAの制御をPythonからできません。
UART1コマンドモードで起動すると、ESP32のPythonのprintでUMEHOSHI ITAのエントリポイントを起動できます。
ですが、PCからPythonファイルの転送や起動ができません。
最終的に、 UMEHOSHI ITA基板を制御する目標なので、UMEHOSHI ITAをUART1コマンドモードで使います。
これでampyコマンドが使えなくなりますが、代わりにPCからのPythonファイルの転送や起動を自作のTCPプログラムで実現します。
以上を実現するUMEHOSHI ITA基板は、次の@〜BのMicroPython群を配置することで出来上ります。
これらの配置は、UMEHOSHI ITAをスルーモードで行います。
(UMEHOSHI ITAをスルーモードにする操作:
SW1とSW2を押し、SW1を離してLED1が消灯に変わるまでSW2を押す。約3秒)
import setap import ume_tcp_esp32ampy -p COM3 -b 11500 put boot.pyでESP32に転送します。
import time # setap.py time.sleep(5) import network ap = network.WLAN(network.AP_IF) # create access-point interface ap.config(essid='ESP-AP') # set the ESSID of the access point ap.config(max_clients=10) # set how many clients can connect to the network ap.ifconfig(('192.168.222.1', '255.255.255.0', '192.168.222.1', '8.8.8.8')) # set (ip address, subnet mast, default gateway, dns ip address) ap.active(True) # activate the interfaceampy -p COM3 -b 11500 put setap.pyでESP32に転送します。
上記コードの解説: 起動時に ampy -p COM3 -b 11500 put ume_tcp_esp32.pyでESP32に転送します。