[UMEHOSHI ITA]基板のEEPROM領域にモータ制御プログラムを書き込んで制御するための変更
起動させた後、PCからのWifiを介した遠隔操作で操作するので、PCが接続するアクセスポイントをロボットの
アクセスポイント(SSID:pizero, パスフレーズ「abcd1234」)で接続します。
始めはWebサーバーが起動しているので、そして、
http://192.168.100.1/index.htmに接続します。
その後、quit.jpg閲覧で、Webサーバーの代わりに、TCP制御サーバーの状態にします。(次の行のクリック操作)
「Webサーバー終了してTCP制御サーバー起動」の隠し操作
[UMEHOSHI ITA]基板のEEPROM領域に書き込むにモータ制御プログラムは、このEEPROM用のコードは、
このリンク先ページで紹介したものを使います。
umehoshiEditの開発ツールで直接に書き込むこともできますが、
この翻訳済みファイル(
app_pwm_esp32.umh)を、Wifiを介した遠隔操作で転送します。
このファイルを、umeclient.pyで[UMEHOSHI ITA]に転送するだけです。
umeclient.pyのファイルは、そのリンク先の内容を使います。
app_pwm_esp32.c.hexと、umeclient.pyを同じフォルダに置いて、Pythonが動作するPC環境で次のようにapp_pwm_esp32.c.hexを送ります。
「ssh pi@192.168.100.1」で接続して、操作します。
(このページでセットアップしていれば[abc123]のパスワードで接続)
Are you sure you want to continue connecting (yes/no/[fingerprint])?でyesを入力します。
Host key verification failed.のエラーであれば「ssh-keygen -R 192.168.0.123」入力で、該当のIPアドレス情報を消して再接続します。)
UMEHOSI ITA のRAM領域に初期コードを転送して動作させる手法は、このサービスから
/home/pi/
umehoshi/umehoshi.pyを起動させていました。
umehoshi.py中で[UMEHOSHI ITA]のRAMに、モータ制御プログラムを転送していました。これを転送しないでROM利用するプログラムに変更した
/home/pi/
umehoshi2/umehoshi2.pyを使う変更です。
なお、umehoshi.serviceを動作させている場合は、『sudo systemctl stop umehoshi.service』で停止して作業します。
/home/pi/umehoshi2のフォルダを生成し、その中に以前に作った
umeusb.py、
umetcp.pyをいれます。
umetcp.pyの実行で受信ファイルを記憶するフォルダ『/home/pi/umehoshi2/datas』を作成します。
カレントディレクトリを『/home/pi/umehoshi2/』に変更し、『python3 umetcp.py』を実行することで、
Hexファイルの受信、実行ができれう
ROM領域へプログラムを書き込んでいますが、
その後も[UMEHOSHI ITA]基板のRAM領域を使ったプログラム転送や実行を可能にする目標で行います。
EEPRO領域には、モータ制御の関数部をだけを書き込んで、
後から転送するRAMプログラムが実行できるようにします。
そのためには、RAMプログラム利用するヒープ領域を使わずに、
このプログラムの転送には、umehoshi