2021年3月31日水曜日

【Pythonスクリプト】Raspberry Pi Zero WHを使って、格安で温湿度データロガーを作る。

【準備編】Raspberry Pi Zero WHを使って、格安で温湿度データロガーを作る。」の続きです。

基本的な作業は「Raspberry Piで温度と湿度を定期的に取得してスプレッドシートに記録する。」と同じになります。

ただ、使用している温湿度センサー(DHT22/AM2302)のライブラリが異なりますので、そちらに対応したPythonスクリプトだけ載せておきます。


***

▼ Pythonスクリプト


Raspberry Piにて測定した温度と湿度の値を、スプレッドシートの「fromPi」シート(こちら参照)に書き込むためのPythonスクリプトです。

#!/usr/bin/env python3

import Adafruit_DHT
import time
import gspread
import json

from oauth2client.service_account import ServiceAccountCredentials

scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']

credentials = ServiceAccountCredentials.from_json_keyfile_name('JSONファイル名(絶対パスで記述)', scope)

gc = gspread.authorize(credentials)

SPREADSHEET_KEY = 'スプレッドシートID'

worksheet = gc.open_by_key(SPREADSHEET_KEY).worksheet('fromPi')

sensor = Adafruit_DHT.DHT22

pin = 4

while True:
    x = 0
    while x < 1:
        try:
            humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
            x = 1

        except:
            x = 0

    worksheet.update_cell(2,1, '{0:0.1f}'.format(temperature))
    worksheet.update_cell(2,2, '{0:0.1f}'.format(humidity))

    time.sleep(900)

書き換えが必要な箇所は、次の通りです。

・12行目「JSONファイル名(絶対パスで記述)」

こちら参照


・16行目「スプレッドシートID」

スプレッドシートを開いた状態でURLの下記部分に表示されます。ちょっと長めです。

https://docs.google.com/spreadsheets/d/ここの値をコピペ/edit#gid=0


・22行目「4」

接続したGPIO番号を記述。


・37行目「900」

測定の間隔です。秒数ですので、900ですと15分おきの測定になります。適宜変更してください。


あと、Macからリモートでぐちゃぐちゃ作業していたら、どこかのタイミングで上のPythonスクリプトの改行コードが<CR>になってしまっていて、デーモン化の際にエラーで引っ掛かりました……。

改行コードが<CR>の場合、viでファイルを開くと行末に「^M」と表示されるので、コマンドモードで一発(「:%s/^M//g」)で削除できます。(参考:「テキストファイルの行末に^Mが表示される」)


***

ということで、とりあえずはラズパイZeroを使ってスプレッドシートへの記録ができるようになりました。

夏場にハウスで使おうと思っているので、次なる課題は、電源と防水です。いろいろ試してみようと思います。


・関連投稿
【準備編】Raspberry Pi Zero WHを使って、格安で温湿度データロガーを作る。


雪柳が一斉に開花。春めいてきました。


Twitter(@nkkmd)日々更新中です。

2021年3月29日月曜日

リスクにいかに向き合うか。

確定的な正解を求めることが困難、もしくは不可能という場面において、どう振る舞うのか。

頻発する自然災害、終わりの見えない感染症、人口減少。こうしたリスクと否応なく向き合わなければならない時代にあって、どう舵を切っていくのか。

農業者としても、はたまた生活者としても、意識的に選択していくことが非常に大事だなと感じる、今日この頃です。

意識的に選択していればこそ、結果として、起こりそうもない事が起こったとしても、後悔なく受け止められるのではないかと思います。程度によるかと思いますが。

一方で、あふれる情報の中で、いかに適切な判断基準を形成していくのか。こちらも重要そうです。


難しい時代ですが、生き抜いていきましょう。


クレソン盛り。


Twitter(@nkkmd)日々更新中です。

2021年3月22日月曜日

【準備編】Raspberry Pi Zero WHを使って、格安で温湿度データロガーを作る。

以前、Raspberry Pi 4 Model Bを使って温湿度データロガー作ったのですが、今回はより安価なRaspberry Pi Zero WHを使って作ってみます。

特に、複数ヶ所で測定を行う場合、1つあたりの費用はできる限り安くしたいですからね。

Raspberry Pi Zero WHは、無線LANとBluetoothが搭載されたZero Wに、あらかじめピンヘッダが付いたモデルになります。

ということで、まずは作り方メモ【準備編】です。



***

▼ 必要となる機器類


実際に購入したものは、その時の金額を記載しています。電源アダプターについてはAndroidスマホのものを流用したので参考金額です。Raspberry Pi Zero WH本体とケースはスイッチサイエンス、その他はAmazonにて購入しました。

【必須】
・Raspberry Pi Zero WH ¥1,848
・microSDカード(16GB~32GB程度) ¥880
・電源アダプター(USB Micro-B) ¥1,000程度
・温湿度センサー(DHT22/AM2302) ¥999



【必要があれば】
・ケース ¥660

おそらくあった方がいいです。これはRaspberry Pi Zero公式ケースの価格です。

【最初だけ必要】
・モニター ¥7,276
・HDMIケーブル(HDMI A オス - miniHDMI C オス) ¥782
・キーボード、マウス(USB接続できるもの) ¥999 + ¥907 
・USBハブ(USB Micro-B オス - USB A メス) ¥520


【必須】でおよそ¥5,000、ケースを含めても¥6,000はかからずに作れる感じですね。

microSDカードは、スピードクラスがClass10/U1のものを選べば、とりあえずは問題ないようです。あとは、基本的に消耗品として壊れる前提でシステムを組むことが重要そうです。

別途、(当然ですが)パソコンと、OSを作るためにmicroSDカードのリーダーが必要になります。


▼ Raspberry Pi Zero WHの下準備


① Raspberry Pi OSのセットアップ
② IPアドレスの固定
③ VNC、SSHを有効化
④ PythonのデフォルトをPython3に変更

やり方は、検索すればたくさん出てきますので省略。

②③は、作業時に、いちいちモニターとキーボード、マウスをつなぐのが大変なので、リモートアクセスで作業できるようにします。


▼ Raspberry Pi Zero WHとDHT22の接続


DHT22側:Raspberry Pi側(ピン番号)
DAT:GPIO4(7)
VCC:5V(2)
GND:GND(6)

接続は適宜。今回はGPIO4を使いました。電源電圧については、3.3Vと5Vのどちらでも大丈夫みたいです。


▼ 温度・湿度データの取得


Githubから温湿度センサーの値を取得するライブラリのインストールを行います。

Raspberry Pi 4では使えたライブラリが、Zeroではなぜか使えなかったので、別のライブラリを使いました。このエラーにより丸一日停滞(笑)。
$ sudo git clone --recursive https://github.com/adafruit/Adafruit_Python_DHT.git
$ cd Adafruit_Python_DHT
$ sudo python setup.py install

作業フォルダの作成。
$ cd
$ mkdir Python
$ cd Python
$ mkdir DHT22

温度、湿度の値を取得するためのPythonコードを作成。「DHT22」フォルダに保存。 ファイル名は「te_hu.py」。
#!/usr/bin/env python3

import Adafruit_DHT

sensor = Adafruit_DHT.DHT22

pin = 4

humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

if humidity is not None and temperature is not None:
    print('{0:0.1f}'.format(temperature))
    print('{0:0.1f}'.format(humidity))
else:
    print('Failed to get reading. Try again!')

実行。
$ python te_hu.py
25.1
55.5

……ということで、無事に温度と湿度の値を取得できました。上が温度、下が湿度ですね。


次回は、スプレッドシートへの記録を行います。



・関連投稿
Raspberry Piで温度と湿度を計測する。(DHT22 AM2302使用)

Raspberry Piで温度と湿度を定期的に取得してスプレッドシートに記録する。


Twitter(@nkkmd)日々更新中です。

2021年3月10日水曜日

原木椎茸栽培の現状(2021年3月)

明日で、東日本大震災から10年になりますね。

ああした災害が起こり得るのだということを忘れずに、常に備え、日々の生活、仕事に向き合っていかねばと思うところです。新型コロナウイルス感染症然り、ですね。


さて、最近、特段触れていませんでしたが、良い機会ですので、震災後の原木椎茸栽培の現状について、少し書いてみようかと思います。

原木椎茸の栽培・出荷にあたっては、ホダ木、発生した椎茸、それぞれの段階で、県による放射能検査が行われています。結果は、県のサイトで公表されています。

また、さわの場合ですと、原木についても購入先の業者の方に、民間検査機関での放射能検査をしていただいています。

生産者の栽培しているきのこに関しては、しっかり検査されており、問題があればストップがかかります。どうぞご安心ください。

一方で、放射性物質は、あくまでも、数あるリスクの中の1つです。これだけ気を付けていればよいというものではありません。そのため、現在は、ブログでの公開については特に行っていません。過大評価にも過小評価にも偏ることなく、冷静に付き合っていきたいと思います。


***


植菌は後半戦です!


Twitter(@nkkmd)日々更新中です。

2021年2月26日金曜日

1000投稿

仕事と趣味を兼ねたこのブログも、10年とちょっと経ち、1000投稿になりました。

われながら、狂気を感じますね(笑)。書くということは、どこか中毒的なところがあります。このところは、だいたい月に3〜5投稿ペースに落ち着き、まぁ、良い塩梅かなと思っています。

最近は、自作スマート農業にハマっておりまして、ついついそちらに投稿内容が偏っています。

さわでは、今ある資源・身の回りの環境を活かした、ゆとりある農業を目指していますが、自作スマート農業は、そうした農業の一助となるのではなかろうかと思います。そして、自作スマート農業の高度化には、栽培データのオープンデータ化が不可欠なんじゃないかと、そんなことを夢想しています。

ということで話がずれましたが、今後とも、どうぞよろしくお願いいたします。

ちなみに、このブログはBloggerというブログサービスを利用しています。Googleのサービスの割にいまいちマイナー感がありますが、無料だし、勝手に広告入らないし、(多少知識があれば)それなりにカスタマイズできるし、機能的にはとてもオススメです。

また、ドメイン料金くらいになればとAdSenseをいれていますが、ドメイン料金くらいにはなっています。ありがたいことです。




Twitter(@nkkmd)、Instagram(@nkkmd)も日々更新中です。

2021年2月22日月曜日

栽培データのオープンデータ化

自作スマート農業の取っ掛かりとして、昨年より原木椎茸栽培の温度等のデータを取り始めたところですが、想像以上に効果的だなというのが手応えです。


具体的に、現状認識している効果は、

① 栽培管理の精度向上
→ 数値化され、24時間リアルタイムで把握できるので、細かく、ブレなく管理ができる。LINE等の通知機能を連携させると便利。

② 暗黙知の形式知化
→ 経験的に行っていた作業を、ある程度論理立てて説明できるようになる。③につながる。

③ 栽培技術の向上
→ データを分析することで、栽培における試行錯誤を(ただの勘より)高い精度で行うことができる。確実に、無駄な失敗は減らせる。

と、いったところでしょうか。

まだまだ、1シーズン(途中)のデータですから、これからのデータの蓄積が楽しみです。


そして、この栽培データをオープンデータとして農業者同士で共有したなら、より一層の効果が期待できるのではないかと思うのです。

というのも、栽培データというのは単体では、まだそれほど価値のある情報ではないと思うのですよね。やはり、たくさん集まってこそ、分析の幅も広がります。自分だけなら1シーズンに1データしか取れませんが、100人いれば100データ取れます。

調べてみたところ、サービス単位で栽培データを共有して利用するものはあるようです。でも、これってオープンデータとして栽培データを共有する環境さえあれば、全然自前でもできてしまうことなのですよね。むしろ、自前で分析からやってこそ栽培技術として身になるのではなかろうかと思ったりもするところです。

もちろん、栽培環境も異なる中でバラバラにデータを取るとなると、栽培品目ごとに必要になるデータ項目や、属性の定義は必須になりますね。

いやー、できたら面白いなぁ。

ちなみに、WAGRI(「農業データ連携基盤」)よりは一階層現場寄りのデータですね。


と、こんなことを、ぽつぽつ考えておりまして、まずは近々さわの原木椎茸の栽培データをオープンデータにしようと思っています。

-----
・追記(2021-2-22)

テスト版として、原木椎茸の栽培データ(温度)を公開しました。→こちら
-----


・関連投稿



Twitter(@nkkmd)、Instagram(@nkkmd)も日々更新中です。

2021年2月21日日曜日

六連穴あけドリル「一気」がやって来ました!【原木椎茸・植菌】

原木椎茸の植菌作業に欠かせないのが、なんといってもドリル!

今まで、調子が良かったり悪かったり、なかなか扱いが難しいガソリンエンジンの五連穴あけドリルを使っていたのですが、電気で動く六連穴あけ機「一気」(朝日産業)を格安で譲っていただきました!新品ではちょっと手が出ないお値段……(笑)。


100Vタイプのものなので、今まで植菌を行っていたハウスで同じように作業ができます。これは、非常に助かりますね。大切に使います!

ちなみに、調べてみたら、このドリルを作っている朝日産業では、包装・衛生・食品加工機器も作っていて、うちでは真空パック器(脱気シーラー)HIPPOを使っています。まさか同じところが作っているとは。

今年の植菌は、まぁまぁ良いペースで進んでいます。このまま、3月中には終わらせたいですね。



このタイプも、サブとして購入してあります。原木が数百本程度であれば、たぶんこれで十分ですね。


Twitter(@nkkmd)、Instagram(@nkkmd)も日々更新中です。