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

システム開発エンジニアの西田五郎が運営しております。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

執筆者:

関連記事

無線マイコン ToCoStick(トコスティック)をRaspberry Piで使ってみた

無線マイコンの ToCoStick(トコスティック)をRaspberry Piで使ってみました。前回の記事でブレッドボードが親機でToCoStickが子機という設定でとりあえずということで通信が出来る …

Raspberry PiでのNode.jsの導入(その1)インストールと動作確認

Node.jsとは、Node.js 日本ユーザグループのサイトから引用させて頂きますと、「Node.jsは高速でスケーラブルなネットワークアプリケーションを 簡単に構築するためにChrome の Ja …

温度センサADT7410(その1)i2C通信とは

温度センサのADT7410を使ってみます。ADT7410はアナログ・デバイセズ社の製品ですが、実際には以下の秋月さんのモジュールを使います。 ADT7410使用 高精度・高分解能 I2C・16Bit …

Raspberry Pi 3でモニタとキーボードなしで設定する方法

Raspberry Pi 3でモニタとキーボードなしで設定する方法についてです。 以下のような条件ごとに方法を確認しました。あちらこちらで書いてしまったのでここで整理させてください。当然環境によって違 …

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

Raspberry Piでセンサネットワークを構築して実際に稼働してみます。今回は、AWS SORACOM編として通信モジュールにSORACOMの3G対応データ通信端末 AK-020を使用してAWSに …