Raspberry Piとかを使ってて色々とやってます。
その一つになるんですが、ラズパイにセンサーをつないでそれをBluetoothにてシリアル通信を行い、WEBブラウザにグラフを表示させるというもの。
Raspberry Piとセンサーは手元にあるんですが、アナログ電圧を数値に変換するADコンバーターが届いていません。
Bluetoothによるシリアル通信が通ったので、色々と進めていきたいのですが、ADコンバーターが届かないとセンサー値が出ません。
手待ちになるのはどうかと思ったので、Raspberry Piから擬似的にセンサー値をシリアルに乗せて、Windows側でモニタリングできればいいんじゃないかと考えて、今日やっと実現しました。
Bluetoothの調子が悪く難航する
Raspberry Piが原因かWindows側が原因かはわかりませんが、午前中はずっとBluetoothの調子が悪く、Raspberry PiとWindowsとの接続がすぐに切れてしまいました。
原因究明を行っていましたが、かなり難航しました。
全くつながらないので、Bluetoothの接続を変えたり、Raspberry Pi側のGUIを変えて試してみたり。
それでもペアリングはできるのですが、すぐに切れてしまう始末。
諦めようと考えていたとき、たまたまiPhoneをつないだらすんなり繋がって、そのままWindowsもつなげると、なぜかあっさりとつながってしまうという。
それ以降すぐに繋がるようになりました。
原因は不明なのですが、内部のプログラム的なものではなく、結局の所電波的な物があったのかと考えています。
Pythonで乱数を発生させ、シリアル値として送信させる
Pythonは昔少しかじった程度ですが、乱数のライブラリをインポートさせて、0から4095までの整数でランダム値をシリアルとして送るというプログラムを書きました。
いや、なかなか慣れないことをすると本当に頭を使います。
肉体的にも朝5時から座りっぱなしだったので、これが結構疲れました。
ファイルを開いてテキストエディタとにらめっこです。
いろんなライブラリをインポートしながらエラーを乗り越えて実装していきます。
今日一日でかなり理解が深まったと思います。
値の受け渡しとか、もっとスマートなやり方があるとも思いますので、どんどんブラッシュアップ指定校と考えています。
Python、node.js、ターミナルと仲良くなる
やはりこういうことをやり始めて、一つの大きな問題が解決するとかなり楽しくなってきます。
なので、もっともっとやりたいことが増えてくるんですよね。
そのためにはやはりもっともっとプログラミングを身近にしていかなければならないと感じます。
たまに触るくらいではやはり物事は上達しないと思います。
今回Raspberry Piの調査依頼があって、正直なところ簡単に考えていました。
自分も実務で使う程度は難なくこなせるんですが、新しい領域になるとまだまだ知識が足りないことばかりですので、もっともっとプログラミング言語と仲良くなって、ドキュメントや先人のコードを読み解いて、しっかりとできるようになっていきたいですね。
ということで今後はRaspberry Piの制御を行うPythonやコマンドライン、Windows側のサーバーを構築するnode.jsなどをもっともっと使いこなせるようにしていきます。
毎日勉強、生涯学習です。