見出し画像

UIFlowのシリアル通信(UART)を使ってみた。【M5Stack】

通信準備

 送信するためには、PC側にもインターフェースが必要であるけど、もちろんWindowsには搭載されていない(たぶん)。そのため今回は「Teraterm」というフリーウェアを用いて、通信を行った。始める際には、「.zip」形式よりも「.exe」形式のほうが簡易的なようであり、私もそうした。基本的な初期設定は他サイト様を見てもらったほうが早いと思う。そのあと設定の保存を行わないとまた設定させられる派目になるのでご注意を。
下のような画面が出てきたら、シリアル通信成功の合図です。

UIFlowのM5Stackと接続した際のTeraterm
(もしかしたらプライバシー情報かもなので墨塗り)

データの受信

 ハードウェア☞UARTに存在する、プログラムブロックを用いて、下図のようなプログラムを作成した。

データの受信・表示を行う簡易的なプログラム

1.最初に送信ピンの番号、受信ピンの番号、通信速度と、使用UARTを1か2に設定する。(正直よくわかってないが、送信ピンと受信ピンの番号は適当で大丈夫そう)
2.ボタンが押された際に、teraterm上でデータの入力が行われている場合、画面の「TEXT」がその文字に代わる。

それだけのプログラムです。下図に結果画像を。

プログラムの実行結果
(ここでは数字だけだが文字でも動作していた)

データの送信

 次にデータの送信を行うプログラムを試してみる。

稼働時間をターミナルに表示するプログラム
プログラムの実行結果

おわりに

 検索をかけると「BLE-UART」についての記事は散見されるものの、UARTでの記事はあまり見かけなかった(下のほうに埋もれてる)のでやってみました。今回は簡易的なものでしたが、実際には読み取った文字によって、動かすプログラムを変えるなどによって用いられると思います。それでは(^^)/

背景

 今までこういう(機械系)分野に興味がなく、適当にM5Staclを使っていた。そのため一番簡単である、ブラウザのUIFlowで「リモコン」を用いて、動作させるという方法を今まで取っていたが、「リモコン」はあまりにもプログラム上のブラックボックスが多いため、信用が出来ない。そのため今回M5Stackを用いたシリアル通信で信号の送受信を行いセキュリティを高めることにした。

追記

今回起こったミスと、追加で作成してみたプログラムを載せておきます。
・文字化けが起こった。☞通信速度の同期で解決
・変数の保存、ifの処理が上手くいかない。☞デコードして、string形式にして保存する
↓作ったプログラムと結果↓

データの保管を行い、場合分け処理を行うプログラム
実行結果

この記事が気に入ったらサポートをしてみませんか?