電子工作好きのためのラズパイPico W拡張基板+マルチエアーセンサ―ボード

電子工作好きのためのラズパイPico W拡張基板+マルチエアーセンサ―ボード

配布プログラムのプロトタイプ制作

こんばんは、fireflakeのはちまるです。今回はプログラムの話です。このクラウドファンディングを始める前から、試作やテストのための小さなプログラムを幾つか書いてきましたが、支援していただける方向けのプログラムをそろそろ作ろう、という事で、本番配布向けプログラムのプロトタイプを作ってみました。 開発環境はThonnyというIDEを使っています。Pico Wの開発環境を調べたところ、Thonnyが多く出てきたというとっても軽い理由で選びました。
Thonny公式サイト
言語はMicroPythonを使っています。MicroPythonは、マイコン開発などの組込み向けに組まれたPython言語です。
ひとまず作ったプロトタイプは以下のような感じ・・・。 main.py(メインプログラム) config.py(コンフィグファイル) sensors.py(センサーから値を取得するプログラム) wifi.py(Wi-Fi通信をするプログラム) oled.py(ディスプレイ表示をするプログラム) まずはじめに、メインプログラムのmain.pyです。様々なプログラムを呼び出して動作するプログラムの本体です。はじめに初期設定を行ったら、あとはひたすら同じ動作を繰り返します。
main.py(写真は開発中のものになります)
これはconfig.py。各種設定をまとめています。
config.py(写真は開発中のものになります)
sensors.py。メインプログラムから呼び出されて、センサーの値を取得するプログラムです。繰り返し呼び出されて、そのたびにセンサーと通信をし続けるけなげなやつです。
sensors.py(写真は開発中のものになります)
wifi.py。同じくメインプログラムから呼び出されて、Wi-Fi通信を行うプログラムです。Google Sheets(スプレッドシート)に連携して、取得したセンサーデータのアップロードをする事も出来ます。
wifi.py(写真は開発中のものになります)
Googleスプレッドシートにデータをアップロードするとこんな感じになります。今回は、Google Sheets側で温度、湿度、CO2データを受け取るようにしました。Googleスプレッドシート側に簡単な設定をすれば、Web上にデータをたくさん保存出来るの仕組みがサクッと作れるで素晴らしいです。プログラムを工夫すれば、温度などのデータだけでなく、それを計算加工したものをアップロードして保存する事も出来ます。
Google Sheetsにアップロードしたデータ
oled.py。センサーデータをディスプレイ表示するプログラムです。ただそれだけ。だがそれがいい。
oled.py(写真は開発中のものになります)
今回は5つのファイル(と、Webからゲットした各センサーなどのライブラリ)ですべての動作が出来るようにしてみました。ファイル数が増えたりプログラムが長くなると、ソフトウェアの全体像を読み解きづらくなるので、配布するプログラムは、出来るだけ読みやすくシンプルなものにしようと思っています。 今回の話はここまでです。まだ書いていないプログラム(一部のセンサーとの通信処理など)もあるので、そこも少しずつ書いていこうと思います。あとは長めに動作テストをしながらのバグ取りをしっかり行って、良いソフトウェアに仕上げていきたいなと。 それと、思わずX/Twitterを始めてみたので良かったらフォローお願いします。
コメント