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

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

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

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 Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレス
Raspberry Pi Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレス

Amazon
正規代理店商品 Raspberry Pi 4 Model B (8GB) made in UK element14製 技適マーク入
正規代理店商品 Raspberry Pi 4 Model B (8GB) made in UK element14製 技適マーク入

Amazon

Raspberry Piの参考書

Raspberry Pi クックブック 第2版 (Make:PROJECTS)
Raspberry Pi クックブック 第2版 (Make:PROJECTS)

本書は、全世界で多くのユーザーの支持を集めているマイコンボード「Raspberry Pi」を使いこなすためのレシピ集です。ハードウェアの基本、オペレーティングシステムの使い方、ネットワーク接続、Pythonプログラミングの基本を紹介した上デ、実際の作品製作に必要になる、高度なPythonプログラミング、GPIO(汎用入出力)、モーター、センサー、ディスプレイなどの使い方へと解説を進めていきます。

Amazon
写真や図解でよくわかる ラズパイZeroを使い倒す本 Raspberry Pi Zero/Zero W対応
写真や図解でよくわかる ラズパイZeroを使い倒す本 Raspberry Pi Zero/Zero W対応

本書ではRaspberry Pi Zero / Zero Wの概要から必要な周辺機器の説明、OSの導入やセットアップなどといった準備、そしてLinuxに初めて触れる人に向けてLinuxの基礎やシェルの操作などを解説しています。また、準備が整ったら実際に電子部品をRaspberry Pi Zero / Zero Wで制御する方法も解説しました。

KindleAmazon
Raspberry Pi ZeroによるIoT入門- Zero W 対応
Raspberry Pi ZeroによるIoT入門- Zero W 対応

本書は、大人から子供まで、初心者の方でも、ラズパイZeroとラズパイZero WをIoTのデバイスとして使いこなせるようになることを目的とした入門書です。また、ラズパイZeroとラズパイZero WをUSBケーブル1本でパソコンに接続できる便利な「Zero over USB」について、日本で初めて詳しく解説しました。

Amazon

最後まで読んでいただきありがとうございました。

「この記事が参考になったよ」という方は、ぜひ記事をシェアをしていただけるととても嬉しいです。

今後も有益な記事を書くモチベーションにつながりますので、どうかよろしくお願いいたします。↓↓↓↓↓↓↓

あなたにおすすめ