あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

Raspberry Pi PicoとPico Wireless PackとBME280でZabbixにデータを送ってみる

タイトルが長いのですが、PicoとWireless PackでZabbixにデータを送ってみたかったのでやってみましたという話。

Raspberry Pi PicoとPico Wireless PackとBME280を組み合わせるには、Picoに複数のボードが接続できる必要があります。そういうボードはもちろんPimoroniなどから発売されているので、今回もPimoroniのPico Omnibusを購入しました。今回は珍しく直接ではなくスイッチサイエンスさんから購入しました。思いついたあとすぐ早く遊びたかったので。

Pico Omnibus (Dual Expander) – Pimoroni

f:id:Akkiesoft:20210901211150j:plain

裏面が可愛い。Omnibusとバスが掛かっていてバスが描かれています。Pimoroniのこう言うところほんとすき。

f:id:Akkiesoft:20210901211159j:plain

で、こいつにPicoとPico Wireless PackとBME280を載せていきます。

f:id:Akkiesoft:20210901211141j:plain

BME280はPico Breakout Gardenを使って接続しました。これブログに書き忘れてたのですが、こないだPimoroni9周年でセールだったときに購入していました。

f:id:Akkiesoft:20210901211529j:plain

Pimoroniの製品用のいろいろが入ったMicroPythonバイナリがPimoroniのリポジトリにあるので、これでMicroPython環境を作ります。

github.com

あとはリポジトリのPico Wireless PackとBME280のサンプルを組み合わせて、Zabbix Sender形式のデータをZabbixサーバーに送りつけるスクリプトを作成しました。

github.com

文字数のデータ作成はpy-zabbixのコードも参考にしています。

py-zabbix/sender.py at master · adubkov/py-zabbix · GitHub

Zabbixでデータを受け取った結果はこんな感じです。ふつう。

f:id:Akkiesoft:20210901212440j:plain

感想

現状はふつうのRaspberry Piを使ってセンサーでデータを取りZabbixに送っていますが、Picoなら省電力に実現できるのでありかなあと思いました。

が、多分ですが、Pico Wireless Packに使われているESP32とセンサーだけでも実現できるので、そっちのほうが省電力で済み、Picoでやる意味は薄そうです。Pico Wireless Packの使いどころの難しさは「それESP32単体でよくね?」とならないネタづくりにあるような気がしています、はい……。

最初から無線を積んだRP2040搭載ボードだったらそうはなりにくいような気はしますが、そういうのは日本ではいつものアレの問題があって、日本ではいつ使えるやらになりがちですし、悩ましいものですね。たとえばArduino Nano RP2040とかがもうあるにはあって、無線モジュール単体は認証取得済みのようですが、確実に国内で使えるとなればもう国内のショップがバンバン売ってるかと思うので、そうじゃないところを見るに多分まだだめな要素があるんだろうなあと今さっきググって知りつつ思いました。しらんけど。