« タイニーBASICの簡易拡張準備-3 各GPIO割り当て表作成 | トップページ | タイニーBASICの簡易拡張準備-4 拡張関数の仕様を策定 »

2024年3月29日 (金)

ワンショットリモコンシステムをTinyBasicでIoT化

全体の目次

別記事で、豊四季TinyBasic WiFiTelnet版へのGPIO操作の拡張をしました。
以前製作したESP32を使ったワンショットリモコンシステムのIoT環境は、そのまま残してあります。

せっかくなので、両方揃えば直ぐできる、TinyBasicでリモコンシステムのIoT化をしてみました。
なんとなく時代遅れな気もしますが、TinyBasicをマイコンボードに載せていれば、こんなことなら十分使えるし、何より簡単でカットアンドトライで操作できるのが実感でき、なかなか良い感じです。


全体構成図は ここ ですが、WiFiとGPIO26,27の同時使用は避けるべき事に気づいたので、GPIO32と33に変更しました。
ESP32にはGPIO操作を拡張したTinyBasicインタープリターを書き込みました。

使ったTinyBasicのプログラムは以下です。
C言語では、WiFi接続・リレー制御・HTML送信等やる事が多くて大変で敷居も高かったのですが、TinyBasicなら分かり易く簡潔ですね。
現在のリレーの状態を表示して、キー入力を待ち、エンターキーが押されたら、GPIO32でシステムにダイオードを100ms間接続し、その後GPIO33でダイオードの極性を切り替えています。

100 REM OneShotRemoconServer by TOYOSHIKI TinyBasic WiFi+GPIO
110 REM
120 GIOMODE 32,3; REM GPIO32 OUTPUT 100ms RELAY ON
130 GIOMODE 33,3; REM GPIO33 OUTPUT DIODE DIRECTION RELAY
140 A=0 ; REM DIODE DIRECTION SET TO 0
150 PRINT "\033[0m","\033[39m","\033[49m","\033[2J"; REM SCREEN CLEAR
160 PRINT "\033[9;27H","ESP32 Shot-Remocon-Server",
170 PRINT "\033[10;23H","by TOYOSHIKI TinyBasic WiFi+GPIO",
180 REM
200 PRINT "\033[12;29H",
210 IF A=0 PRINT "\033[42m"," Current State is OFF ",; GOTO 230
220 PRINT "\033[41m"," Current State is O N ",
230 INPUT ""B; GOSUB 300;
250 GOTO 200
260 REM
300 GIOOUT 32,1; WAITMS 100; GIOOUT 32,0; WAITMS 100
310 IF A=0 GIOOUT 33,1; A=1; GOTO 330
320 GIOOUT 33,0; A=0;
330 RETURN

PC上のメモ帳で編集して、コピペでTeraTerm画面に送れば、TinyBasicにはエディター機能なんて必要ない感じです。

PC上のTeraTermはエスケープシーケンスでの文字背景色の変更が効くのが分かったので、画面中央で色も付けそこそこIoT画面らしくなりました。以下TeraTermの画面で、左がリレーON時、右がリレーOFF時。エンターキーを押すたびにON/OFFを切り替える感じです。

On_20240329171401 Off_20240329171401

 

PC上で、WiFiで繋げたTeraTermで操作している動画です。TinyBasicの起動メッセージが出た後、メモ帳に書いたプログラムをTeraTermへコピペして、runで実行しています。

 

操作中のリモコンリレー側の動画です。リモコンリレーのON/OFF切り替え、リモコンスイッチ側赤緑LEDの連動も確認できます。

 

---------------------------------------
ArduinoIDEでのプログラム開発はなにかと面倒ですが、TinyBasicなら気楽な開発となるのが実感できます。
リレーのON/OFF程度なので、動作速度は気になりません。
見た目の恰好良さは期待できませんが、TinyBasicならやりたい事がサクッとできる点が良いですね。

豊四季TinyBasic WiFi Telnet版なら、WiFiで繋ぐのでIoT化しやすく、エスケープシーケンスも効くのが良いですね。
作者のrobo8080さんに感謝です。

---------------------------------------
スマホのMochaTelnetでは、文字色変更等のエスケープシーケンスが効かないようで、見た目がそっけない感じでした(下図)。
Img_0186 Img_0187

画面のタイトル文字は、ESP32 One-Shot-Remocon-Server にするはずが、One-が抜けちゃいました。
ばたばたコーディングして、動いちゃうと、ブログ作成の方に注力してしまうので、なかなか気づかないものです。 (笑)

 


続報あればまた。

 

本記事は、メーカーからの情報や公開された特許情報等を元に、動作理解とシミュレーションでの再現を目的に独自に調査したものです。従って、考察や実験結果はあくまで個人の範囲に留めるものであり、記事の内容には間違いがある可能性があります。参考にされる際は自己責任とし、メーカーや関連業者に迷惑を掛けるような事はしないでください。また、この記事を読まれて類似の事をされても、当方はいかなる責任も負いません。

 

« タイニーBASICの簡易拡張準備-3 各GPIO割り当て表作成 | トップページ | タイニーBASICの簡易拡張準備-4 拡張関数の仕様を策定 »

仕事」カテゴリの記事

電子工作:ESP32 TinyBasic」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« タイニーBASICの簡易拡張準備-3 各GPIO割り当て表作成 | トップページ | タイニーBASICの簡易拡張準備-4 拡張関数の仕様を策定 »