何でも実習生の実習日誌

電子工作、模型スチームエンジン工作など、何でも工作が大好きです。
手持ちの工作機械は卓上ボール盤だけ、全て手作りです。

不要な文字?がやっと消せた。 ー ESP-WROOM-02どうしのUDP通信実験 ー

2020-07-06 18:44:50 | 電子工作
2020/07/06 (月曜日) 雨

先日からESP- WROOM-02をサーバー、クライアントにしてその間をWiFi規格の無線LANで
接続してUDP通信を行う実験をしている。
クライアントにはアナログ(電圧)信号をデジタルに変換してサーバーに送信する機能を、
サーバーには受信したデータを液晶ディスプレイ(LCD)に表示する機能を持たせてある。
そしてサーバー、クライアント間はUDP通信によるデータの送受を行うのだ。
今までもESP-WROOM-02をWiFiで接続してデータを送受信する実験をしたことはあるが、
パソコンに接続したルータに取り付けてある無線LANアダプタ(WiFi親機)を経由した接続で
WiFi親機がない環境では実験ができない。
そこでWiFi親機を介さないESP-WROOM-02どうしの接続はどうするのか?と思ってWebに
アップされた記事を検索してみたところ、2,3の参考記事が見つかった。
さっそくそれらを参考に(真似して)工作を始めた。



       (以上前置き 相変わらず前置きが長いね(笑い))

参考記事には通信機能だけでアナログ・デジタル変換や液晶表示はない。
それは今までの実験の成果を応用してみることにした。
その基本回路での実験は案外すんなりとうまくいった。
ところが液晶表示器(LCD)に文字を表示する段になってちょっと問題がでてきた。
サーバーのLCDにはクライアントが得た電圧値を数値で表示するのだが、その数値以外に
何だか制御符号のような文字?(記号)も表示されてしまう。



その記号のような文字を調べてみると「1101・・・・」 「1010・・・・」という4bit並びになっている。
ちなみに数値は「0」は「110000」(HEX表示では「30」、「1」は「110001」(同じく「31」、「2」は「110010」
(「同じく「32」)、小数点は「1001110」(同じく「2E」・・・・というお馴染みの文字コードだ。
「1101」とか「1010」は文字コードではないので処理するのはなかなか難しいだろう?。

もし、同じ桁位置に表示されるのならその桁を消去するという方法もあるが、データの数値によって桁位置が
上下するのでそれはできない。
仕方がないから(オイらの考え付くのはこれくらい)一文字(一桁)ごとに「0」~「9」の文字、小数点「.」と比べて
一致すればその数値を保存、一致しない文字は「数値ではない」と判断して無視することにしてみた。

これをプログラムにするにはいろいろな方法があると思うけどオイらは一番単純な「switch-case」制御文を
使ってプログラムを組んだ。
コンパイルも正常にできた。
さぁ、うまく動作するかな? 心を弾ませてRUNさせてみると・・・・・
ガっビーン!!! 変なメッセージが表示された・・・



何度やっても同じメッセージが出てきておかしな動きになる。

‟Exception (28):” って何だろう? 辞書で調べてみると「例外、除外、異議」という意味らしい。
>>>stack>>>なんていう文字もみえる。 stackなんてシステムが使う用語だ。
これは何だかバグなんかとは違う、もっと重要なトラブルかもしれない。

もしかすると書き込んだコードが長ったらしくてメモリーが不足しているのかな?
(フラッシュメモリは4MBだから書き込みエリアは十分だろう。)
RAMは36KBしかない・・・
プログラム走行で得た情報やデータはRAMに書き込まれるはずだからやたらとエリアを使うプログラムは
エラーになるのかもしれない。
試しに、追加した部分を削除すると正常に動作した。

さぁ、処理を簡略化して、余分な定義は削除して身軽なプログラムにしなくっちゃ・・・
(これが大変・・・基礎がないオイらにはとても難しい作業になる。)
マニュアルを見ては基礎的なプログラムで試行錯誤を繰り返し、3歩進んで2歩下がる・・・を繰り返す。

これでどう?・・・・ダメだ!
これではどうだ?・・・・ダメだ!
これではどうですか?・・・・おっ、動いた! やったよー 
思わず拍手してしまったよ(オイらは単純だよねぇ)。



今日で3日目、やっと動いてくれた。
その動画をご覧くださいませ。



「それを何に使うの?」 ですかぁ・・・・・・

何に使うか? って聞かれても別に使う予定はありません。
ただ、動かしてみる・・・・ただそれだけ。

「なーんだ、バカみたい・・・」

そうです。 バカみたいです。 でもそれが面白いんです。
なかなか動作してくれないものが苦労してやっと動いてくれたときの嬉しさ・・・
ただそれだけです。
さぁ、次は何をしようかな?









コメント (2)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« UDP通信とかいうものの実験 | トップ | 月下美人の花が咲きました »
最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
UDP通信 (団塊工房)
2020-07-07 10:55:12
 見事にトラブルの解決が出来たようです。
この達成感が活力の原点ですよね・・・・。
LAN通信が出来れば、話題の「IOT」が
自由に構築できそうですね、楽しみです。
返信する
まだ真似をすることで精一杯です (実習生)
2020-07-08 19:52:43
団塊工房さん、こんばんは。 コメントありがとうございました。
プログラム作りは面白いですね。 と言っても諸先輩方が作成されたものを
真似することで精一杯です。 
でも、作成された方と当方とはハードや開発環境も異なり、なかなかすんなりとは
動作してくれません。 それをあれこれ試行錯誤しながらやっと動かせた時は
とても嬉しいです。
本当のIoTは家の外から(遠方から)アクセスできなくてはならないのでしょうが
難し過ぎて私には無理です。 例のバックライト付きLCDは未だに動かせません。
その節はお世話になりました。ありがとうございました。

返信する

コメントを投稿

電子工作」カテゴリの最新記事