keitanakのアイコン画像
keitanak 2024年07月13日作成 (2024年07月14日更新) © MIT
製作品 製作品 閲覧数 255
keitanak 2024年07月13日作成 (2024年07月14日更新) © MIT 製作品 製作品 閲覧数 255

Seeed XIAO BLE IoT センサーデータをThingsSpeakにアップロード

Seeed XIAO BLE IoT センサーデータをThingsSpeakにアップロード

はじめに

前回製作したBLE IoTセンサーのデータを、ラズパイで取得してThinkgsSpeakにアップロードする簡単なゲートウエイプログラムを作成しました。

事前準備

ThinkgsSpeakにアカウント作成を行います。無料で利用できる範囲で利用します。チャネルを作成しておき、以下のようにデータフィールドを設定します。

キャプションを入力できます

また、Write API Keyをメモしておきます。プログラムの中で利用します。

キャプションを入力できます

動作環境

ラズパイZeroを利用しました。以前ウエザーステーションとして設定したものです。この上でバックグラウンドで動作させます。

プログラム

環境センサーは10秒間隔でのアドバタイズを行う想定です、CO2センサ付きと、CO2センサ無しの1台づつ構成を想定しています。(CO2なし=室外、CO2付き=室内) 10秒間スキャンして、取得データを60秒毎に、6回分の平均値計算してThingSpeakに送信します。

https://github.com/keitanak/XIAO-BLE-IoT-Sensor/tree/main/Gateway/BLEGatewayThingsSpeak

事前にBLEライブラリのインストールが必要です。

sudo pip3 install bluepy

systemctrlで制御できるようにこんなファイルを/etc/systemd/system/bletp.serviceとして作成します。

[Unit] Description=BLE to ThingsSpeak [Service] ExecStart=/usr/bin/python3 /home/pi/tp/BleSendtoTP.py [Install] WantedBy=multi-user.target

以下コマンドで実行開始です。

sudo systemctl start bletp.service

データアップロード状況

まだ1週間程度のデータですが、継続してデータアップロードされています。バッテリは相当持ちそうです。

https://thingspeak.com/channels/2588539

参考リンク

ThingsSpeakの利用方法について参考になりました。
https://remoteroom.jp/diary/2020-12-20/

Gatewayプログラムはこちらで公開されているものを元にして作成しました。
https://ambidata.io/samples/temphumid/ble_gw/

ログインしてコメントを投稿する