keitanak が 2024年07月13日13時17分57秒 に編集
初版
タイトルの変更
Seeed XIAO BLE IoT センサーデータをThingsSpeakにアップロード
タグの変更
XIAO
Seeduino
nRF52840
RaspberryPi
ThingSpeak
メイン画像の変更
記事種類の変更
製作品
ライセンスの変更
(MIT) The MIT License
本文の変更
# はじめに [前回製作したBLE IoTセンサー](https://elchika.com/article/f73ccfb6-4120-4a2d-9c19-583e6c9817c6/)のデータを、ラズパイで取得して[ThinkgsSpeak](https://thingspeak.com/)にアップロードする簡単なゲートウエイプログラムを作成しました。 # 事前準備 [ThinkgsSpeak](https://thingspeak.com/)にアカウント作成を行います。無料で利用できる範囲で利用します。チャネルを作成しておき、以下のようにデータフィールドを設定します。  また、Write API Keyをメモしておきます。プログラムの中で利用します。  # 動作環境 ラズパイZeroを利用しました。以前[ウエザーステーション](https://elchika.com/article/9fe3a717-b788-4c86-90dc-e0ab1a5ad1dd/)として設定したものです。この上でバックグラウンドで動作させます。 # プログラム 環境センサーは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/