ゲートウェイと土壌センサーをワイン用ブドウ園に設置しました

イメージ
 つくば市にあるワイン用ブドウ園「TsukubaVineyard様」( http://tsukuba-vineyard.sakura.ne.jp/blog/ )に、LoRaWANゲートウェイと土壌センサー(土壌水分、土壌温度、土壌導電率)の設置を行いました。   ■ゲートウェイ:Dragino社 屋外向け 8ch LoRaWANゲートウェイ DLOS8-JP http://sales.dragino.jp/ca1/13/p-r-s/  ゲートウェイは屋外で4mほどの高さに設置しました。 ■土壌センサー:Dragino社 LSE01 http://joomlaweb.blog117.fc2.com/blog-entry-1718.html 土壌センサーは40cmほどの深さの穴を掘り設置、ノード(アンテナ)は支柱に設置しました。     通信費無料のパブリックLoRaWANの The Things Network(TTN) にゲートウェイとセンサーを登録し、LinuxサーバにinfluxDB、Grafana環境を構築しNode-REDで連携を行いました。 TTN: https://www.thethingsnetwork.org/country/japan/  土壌センサーが取得した土壌温度・土壌湿度・土壌導電率は、PC・スマホ・タブレットのWEBブラウザで確認が行えます。  土壌センサーからは6時間おきの1日4回のデータ送信を行い、ブドウ栽培に活かせるように データの蓄積と解析を行いたいと思います。 電脳郷: https://www.dennogo.jp/

Raspberry Piで水温計を作る(1)

やりたいこと

私は小さな水槽で熱帯魚を飼っているのですが、夏場はあっというまに水温が上がってしまい、仕事中も魚たちが茹だっていないか、たいへん心配です。
そこで遠隔地から水温をモニタリングしたい。観測してそのあとどうするかはそのときに考えます。

完成イメージ

下記のサイトをなぞりながら、遠隔値の水温計をスマートフォンでモニターすることを目指します。
センサから拾った温度を適当なサーバにアップし、Web APIとしてスマートフォンから確認できればよさそうだなと思っています。
まずはRasberry Piをセットアップするところから始めましょう。なお、電子工作は未経験です。

https://learn.adafruit.com/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing/overview

Raspberry Pi セットアップ

Raspberry Pi の初期設定にとりかかります。

用意したもの

(以下はセットアップ時のみ使用)
  • HDMIディスプレイ / ケーブル
  • USBマウス / キーボード

OSのセットアップ

NOOBSというブートローダ込みのパッケージを利用してOSをセットアップします。
詳細は公式のガイドラインを参照してください。
https://www.raspberrypi.org/learning/software-guide/quickstart/
(日本語) https://okuzawats.com/noobs-20150603/

NOOBSのダウンロード

NOOBSとNOOBS Liteの2種類のパッケージを選択できます。
NOOBSはOSイメージも含んでいるのに対し、Liteはインストール時にダウンロードするのが違いです。
ここではNOOBSを採用しました。

https://www.raspberrypi.org/downloads/noobs/

NOOBSの準備

NOOBSのアーカイブを展開し、できたフォルダ配下のファイルをすべてSDカードにコピーします。
アーカイブは再セットアップにそなえ、適当な場所に保管しておきましょう。

ハードウェアの準備

電源を入れる前に、SDカード(とキーボードなど)を取り付けておきます。

OSのインストール

  1. 基板上のmicro USB端子にUSBケーブルを差し込む。
    電源スイッチはないため、これだけで起動する。
  2. 画面下部のプルダウンで適切なキーボードレイアウトを選択する。
  3. 画面中央のダイアログで Raspbian を選択し、「インストール」をクリック。
  4. インストール開始時に「SDカードの内容が失われる」旨の確認ダイアログが表示される。「Yes」を選択。
  5. あとは自動で進行する。
  6. インストール終了後に初期ユーザでログインした状態でGnomeが起動する。

OS初期設定

あとは通常のdebianのようにapt-upgrade, 各種設定などを必要に応じてやっておきます。

sshで操作したい場合、初期ユーザは説明書に記載されている通り、
ID: pi
pass: raspberry
となっています。

水温計をRaspberry Piへ取り付ける


使用したRaspberry Piのモデルがチュートリアルと違っていたため、配線図はそのまま使用できませんでしたが、次のようになりました。


温度計から出ているケーブルの色がチュートリアルと違っていたため、だいぶ悩みましたが、
赤 : VDD
黄色 : DQ
黒 : GND
で良かったようです。

なお、仕上がりはこうなりました。



Raspberry Pi上での設定

センサが1-Wireという規格でデータ転送を行うため、OS側でもそれに対応するモジュールをロードさせるようです。(どう見てもセンサからは3本ケーブルが出ていますが…)
https://learn.adafruit.com/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing/ds18b20

(/boot/config.txt)
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
dtoverlay=w1-gpio
※編集後にrebootすること

sudo modprobe w1-gpio
sudo modprobe w1-therm

ここまで問題なく進んでいれば、 /sys/bus/w1/devices/28-xxxx/ (xxxxは任意) というディレクトリが現れ、w1_slave というファイルにセンサーから拾った温度が書き込まれているはずです。

動作確認

w1_slaveはアクセスされるたびに更新される仕様のようです。
定番のtail -f が使えないのでwatchで毎秒内容を表示して確認としましょう。

watch -n1 -e 'cat w1_slave'

(出力)

右下の "t=29312" の部分が摂氏を1000倍した値になります。

今後

以後はプログラムで適当なサーバにデータを転送し、Web APIとして配信できるようにすることが目標です。

コメント

このブログの人気の投稿

ゲートウェイと土壌センサーをワイン用ブドウ園に設置しました

Raspberry Piで水温計を作る(2)