株式会社インデペンデンスシステムズ横浜

システム開発エンジニアの西田五郎が運営しております。Raspberry Pi や Arduino その他新規開発案件のご依頼をお待ちしております。

Raspberry Pi

Raspberry Piでセンサネットワーク稼働試験(基本編)構成・課題等

投稿日:2018年8月9日 更新日:

Raspberry Piでセンサネットワークを構築して実際に稼働してみます。基本編としてRaspberry Piにセンサを直接接続する構成です。その構成で安定して稼働させるにはどういった課題があるか書いてみます。

システム構成
ハードウェア系
Raspberry Pi Zero WH と公式のACアダプタ
Aitendo BME280(温度、湿度、気圧センサ)Aitendoで購入
Adafruit TSL2561(光センサ)スイッチサイエンスで購入
その他 GROVE I2Cハブ、ブレッドボード、ケース、ジャンパワイヤ等
  スイッチサイエンスで購入

クラウド系
Ambient(IoTデータの可視化サービス)

以下のようなデータの流れになります。
Rapberry Pi本体(センサは直接接続) => (Wi-Fi) ==> インターネット ==> Ambient(ここでデータを確認)

ソフトウェア系
Python系のI2C、各センサのライブラリとAmbientのライブラリ

以下のように接続してWi-Fi経由でAmbientにセンサのデータをアップします。ブレッドボードの左側がTSL2561で右側がBME280です。画像には入っていませんが、GROVE I2Cハブからの配線がRaspberry Piと繋がっています。

(※今回はプログラム詳細については取り上げません。こういった構成で稼働試験をやってみますということが要点です。必要な場合はページ最後の関連リンク等を参照して下さい。)

課題
この構成で安定してセンサのデータをアップするには何が課題というか問題になってくるかです。今までの経験も踏まえてSDカードWi-Fiの接続について考えてみました。

SDカード
Raspberry Piを使っていて急に起動しなくなったという経験をお持ちの方もいらっしゃるかもしれませんが、SDカードに問題が起きることがあります。そこでここでは以下のSDカードを使用しています。

もう少し高額の製品からいろいろと種類があるようです。SDカードのタイプについては以下等を参照して下さい。
SDカードの話 ”産業用SDカード”について

ちなみに、産業用の利用を想定しているRaspberry Pi Compute Moduleの場合はeMMCから起動するようです。

Wi-Fiの接続
Wi-Fiの接続ですが、どうしても切れてしまう瞬間があると思います。Raspberry Piは今現在、接続が切れてまた接続可能な状態になっても自動的に再接続はしません。その対応として以下のような再接続のスクリプトを用意してcronで定期的に実行するという処理を追加しました。

#!/bin/sh
ping -c 1 192.168.3.1
test $? -ne 0 && sudo /etc/ifplugd/action.d/action_wpa wlan0 up

実際の稼働状況
実際の稼働状況ですが、20分毎にセンサのデータを送信するようにして今現在一ヶ月以上経過しました。間違って電源を落とした時以外は正常に稼働し続けています。以下はAmbientのグラフのスクリーンショットです。BME280の温度、湿度、気圧のグラフです。別途TSL2561の照度データも蓄積出来ています。
しばらくはこのままで様子を見たいと思います。

2018/10/22追記
今現在も無事に動作しています。3ヶ月以上経過しました。間違えて電源を切った以外は問題なく動作しています。

2019/12/29追記
稼働を終了しました。最後まで稼働していました。Raspberry Pi Zeroでの実験でしたが今回のような内容であれば十分に実用性があると思います。

プログラム関係の関連リンク
当サイトの記事
Raspberry PiでIoT(温度・湿度・気圧データ編 その1)BME280でデータ取得
Ambientのサイト
AmbientのデーターをPythonで扱う
今回利用したTSL2561のライブラリ
Python library for TSL2561

最後に自社PRですが、Raspberry Pi 関連のご依頼お待ちしております。本記事と同様のセンサネットワークの試用、試作等対応可能です。

AdSense

AdSense

-Raspberry Pi

執筆者:

関連記事

Raspberry PiでのNode.jsの導入(その2)Webサーバ的なプログラム

Raspberry PiでのNode.jsの導入の2回目です。前回はインストールと動作確認でした。今回はもう少しWebサーバ的なプログラムを作成してみます。今現在で日本のNode.jsの公式ページにも …

Raspberry PiでIoT(MQTTで遠隔操作編 その4)Raspberry PiのGPIOとHeroku連動Pub編

Raspberry PiでIoT MQTTで遠隔操作編の4回目です。2台のRaspberry Piでインターネット経由でGPIOを操作するというテーマで書いています。 前回はMQTTのSub側となるR …

Raspberry Piをモニターとキーボードなしで導入する(その2)初期設定とリモートデスクトップ

(※2021/05/02追記 現時点で最新版のRaspberry PI OSでモニターとキーボードなしで導入する手順を書きました。ぜひこちらを見て下さい。) Raspberry Piをモニターとキーボ …

Raspberry PiでIoT(温度・湿度・気圧データ編 その1)BME280でデータ取得

Raspberry PiでIoTに取り組んでみるという内容で実際に動作させながら書きたいと思います。まずは、IoTとは、Internet of Thingsの略です。もう既にこの言葉も普及していて様々 …

Raspberry PiでKivy2.0.0を導入する

Raspberry PiでKivy2.0.0を導入してみます。Kivyとは、PythonのNUI(Natural User Interface)開発のためのオープンソースライブラリです。(個人的にはN …