こんにちは。
現在スマホでメイン機器を制御する機能を検討しております。
簡単にいうと、
1.スマホでボタンを押すとスマホで予め決めた一連のデータをブルーツルースモジュールに送信し、
ブルーツルースモジュールからはそのデータをUARTにてホストマイコンへ伝達します。(送信機能)
2.またホストマイコンがある一連のデータをUARTにてブルーツルースモジュールへ転送し、モジュールはスマホにそのデータを伝達します。(受信機能)
全体的に非常に簡単な構成です。
弊社の機器への適用可能性を検討しており、現在簡単な機能テストを実施しています。
Google PlayからSmartConsoleとSmartConfigというアプリをそれぞれインストールしました。
まずは、SmartConfigを用いて、Device NameとDevice Name Lengthを変更し、UART boudrateを115,200 -> 57,600に変更し、Applyボタンを押しました。
その後、モジュールのコネクタにUSB-UARTケーブルをつなぎました。(PIN2 :MOSI, PIN3 : MISO, PIN5 : GND, PIN6 : 3V)
WindowパソコンでCooltermというシリアルモニタソフトをインストールし(他にもいろいろあります)、ASCIIデータをモジュールへ送信しました。
確認はスマホのSmartConsoleで、”Receive Console Mode Data”を用いました。
1番目の質問
シリアルモニタでデータを送信すると一回目に完璧にデータが転送され、スマホの受信データウィンドウにきちんと表示される場合もあるが、
かなり頻繁にデータが表示されない場合が多いです。連続で同一なデータを繰り返して送信すると転送できる場合もあります。これはスマホのアプリ問題ですか?
2番目の質問
今回は反対にスマホの”Send Console Mode Data”ウィンドウからデータを入力しSENDボタンを押します。パソコンのシリアルモニタからはなにも表示されません。
オシロを用いて直接にPIN3を確認しましが、何も変化がありません。つまり”送信(モジュールから外部へ)”ができないと意味です。
何が問題ですか?
3番目の質問
もし、ファームウェアをアップデートすると改善されるかと思いましたが、こちらで検討可能なマイコンボードはArduinoもしくはRaspberry PI picoしかありません。
なにか方法があれば教えてください。
以上よろしくお願いします。