タイトルが長いのですが、PicoとWireless PackでZabbixにデータを送ってみたかったのでやってみましたという話。
Raspberry Pi PicoとPico Wireless PackとBME280を組み合わせるには、Picoに複数のボードが接続できる必要があります。そういうボードはもちろんPimoroniなどから発売されているので、今回もPimoroniのPico Omnibusを購入しました。今回は珍しく直接ではなくスイッチサイエンスさんから購入しました。思いついたあとすぐ早く遊びたかったので。
Pico Omnibus (Dual Expander) – Pimoroni
裏面が可愛い。Omnibusとバスが掛かっていてバスが描かれています。Pimoroniのこう言うところほんとすき。
で、こいつにPicoとPico Wireless PackとBME280を載せていきます。
BME280はPico Breakout Gardenを使って接続しました。これブログに書き忘れてたのですが、こないだPimoroni9周年でセールだったときに購入していました。
Pimoroniの製品用のいろいろが入ったMicroPythonバイナリがPimoroniのリポジトリにあるので、これでMicroPython環境を作ります。
あとはリポジトリのPico Wireless PackとBME280のサンプルを組み合わせて、Zabbix Sender形式のデータをZabbixサーバーに送りつけるスクリプトを作成しました。
文字数のデータ作成はpy-zabbixのコードも参考にしています。
py-zabbix/sender.py at master · adubkov/py-zabbix · GitHub
Zabbixでデータを受け取った結果はこんな感じです。ふつう。
感想
現状はふつうのRaspberry Piを使ってセンサーでデータを取りZabbixに送っていますが、Picoなら省電力に実現できるのでありかなあと思いました。
が、多分ですが、Pico Wireless Packに使われているESP32とセンサーだけでも実現できるので、そっちのほうが省電力で済み、Picoでやる意味は薄そうです。Pico Wireless Packの使いどころの難しさは「それESP32単体でよくね?」とならないネタづくりにあるような気がしています、はい……。
最初から無線を積んだRP2040搭載ボードだったらそうはなりにくいような気はしますが、そういうのは日本ではいつものアレの問題があって、日本ではいつ使えるやらになりがちですし、悩ましいものですね。たとえばArduino Nano RP2040とかがもうあるにはあって、無線モジュール単体は認証取得済みのようですが、確実に国内で使えるとなればもう国内のショップがバンバン売ってるかと思うので、そうじゃないところを見るに多分まだだめな要素があるんだろうなあと今さっきググって知りつつ思いました。しらんけど。