ラズパイからAmbientへデータ送信


画像の拡大

この記事では、Raspberry Piなどのセンサーのデータをグラフ化してくれる無料サービス「Ambient」へ、データを送信する方法を解説していく。 Ambientは、送信したデータをウェブブラウザでグラフ表示してくれる素晴らしいサービス。今回はRaspberry Piに繋いだ照度センサーと温度センサーのデータを、Ambientへ送信してみた。

照度センサーと温度センサーの使い方はこちらを参考に

Raspberry Pi Zero W - ヘッダー ハンダ付け済み
Raspberry Pi Zero W - ヘッダー ハンダ付け済み
Amazon

AmbientのPythonライブラリのインストール

Raspberry PiのPythonでAmbientを使えるようにするため、次のようにしてライブラリをインストールする。

$ pip3 install git+https://github.com/AmbientDataInc/ambient-python-lib.git
$ pip3 list | grep ambient
ambient       0.1.6 

実際にPythonプログラムで使う場合は、次のようにモジュールをインポートする。

import ambient
import requests

Ambientライブラリの詳しい説明はこちらを参考に

Ambientへデータ送信

Ambientにデータを送るのは簡単。下のプログラムのように、チャネルIDライトキーを設定し、 am.send({'d1': 数値, 'd2': 数値}) の形でデータを送信するだけ。

am = ambient.Ambient(チャネルId, ライトキー)

try:
    res = am.send({'d1': 数値, 'd2': 数値})
    print('sent to Ambient (ret = %d)' % res.status_code)
except requests.exceptions.RequestException as e:
    print('request failed: ', e)

ただし、Ambientに送へ送れる一日のデータ件数は、1チャネルあたり3000件となっている。それ以上を超えると413エラーが返ってきてしまう。だから30秒以上の間隔を空けて送信すれば、制限以内におさまるだろう。

Ambientの利用制限についてはこちらを参照

照度と水温をAmbientへ送信してみた

水耕栽培の水温と照度をラズパイで測定
水耕栽培の水温と照度をラズパイで測定

実際にベランダの照度と水耕栽培の水温を測って、Ambientにデータを送信してみた。図のように、データの推移をウェブブラウザからグラフで確認できるようになった。

Ambient照度グラフ
Ambient照度グラフ

Ambient水温グラフ
Ambient水温グラフ

SSHで実行するとプログラムが途中で止まってしまう場合

Raspberry PiをSSHでリモートコントロールしている場合、SSHをログアウトすると実行しているプログラムも終了してしまう。それを回避するには、$ nohupコマンドを使えば良い。

$ nohup python3 photo-temp.py > out.log &

nohupで実行したプログラムを終了させる場合は、$ ps x でプロセスIDを調べて $ kill PID しよう。

  PID TTY      STAT   TIME COMMAND
 1197 ?        Ss     0:00 /lib/systemd/systemd --user
 1200 ?        S      0:00 (sd-pam)
 1215 ?        S      0:00 sshd: pi@pts/0
 1218 pts/0    Ss     0:00 -bash
 1267 pts/0    S      0:02 python3 photo-temp.py
 1275 pts/0    R+     0:00 ps x

人気のラズパイ

Raspberry Pi 4 Model B 8GB 技適マーク入 正規品!ラズベリーパイ4 モデルB
Raspberry Pi 4 Model B 8GB 技適マーク入 正規品!ラズベリーパイ4 モデルB
Amazon
TRASKIT Raspberry Pi 4 Model B Starter Kit
TRASKIT Raspberry Pi 4 Model B Starter Kit
Amazon
Raspberry Pi Zero W - ヘッダー ハンダ付け済み
Raspberry Pi Zero W - ヘッダー ハンダ付け済み
Amazon

人気のラズパイ周辺機器

10 インチRaspberry Pi用タッチモニター EleDuino HDMI モバイルディスプレイ
10 インチRaspberry Pi用タッチモニター EleDuino HDMI モバイルディスプレイ
Amazon
Raspberry Pi4 Model B /アルミニウム金属ケース/ファンレス/放熱シート付き
Raspberry Pi4 Model B /アルミニウム金属ケース/ファンレス/放熱シート付き
Amazon
Freenove Raspberry Pi 4 B 3 B+ 400用の究極のスターターキット
Freenove Raspberry Pi 4 B 3 B+ 400用の究極のスターターキット
Amazon
KEYESTUDIO DC 5V 4チャンネル リレーシールドモジュール 拡張ボード for Raspberry Pi
KEYESTUDIO DC 5V 4チャンネル リレーシールドモジュール 拡張ボード for Raspberry Pi
Amazon

Raspberry Piのオススメ入門書

Raspberry Piクックブック 第3版 (Make:PROJECTS)
Raspberry Piクックブック 第3版 (Make:PROJECTS)
Amazon
これ1冊でできる! ラズベリー・パイ 超入門 改訂第6版 Raspberry Pi 4/Zero W対応
これ1冊でできる! ラズベリー・パイ 超入門 改訂第6版 Raspberry Pi 4/Zero W対応
KindleAmazon
写真や図解でよくわかる ラズパイZeroを使い倒す本 Raspberry Pi Zero W対応
写真や図解でよくわかる ラズパイZeroを使い倒す本 Raspberry Pi Zero W対応
KindleAmazon
記事に関するご質問などがあれば、ぜひTwitterへお返事ください。