Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

221203_stpnode.pdf

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Prochain SlideShare
自作OSでWSN
自作OSでWSN
Chargement dans…3
×

Consultez-les par la suite

1 sur 16 Publicité

221203_stpnode.pdf

Télécharger pour lire hors ligne

夏場に大量死してしまうことがある屋外設置水槽を監視する仕組みを作成しました。
浜松ITコミュニティ忘年会2022の発表資料です。

夏場に大量死してしまうことがある屋外設置水槽を監視する仕組みを作成しました。
浜松ITコミュニティ忘年会2022の発表資料です。

Publicité
Publicité

Plus De Contenu Connexe

Plus récents (20)

Publicité

221203_stpnode.pdf

  1. 1. 屋外設置水槽向け 環境監視システムの製作 Hamamatsu.rb / Xiao Project / Rowan Tools Langur Last update: 2022/12/03
  2. 2. ごめんなさい Rubyの話はないです
  3. 3. Introduction
  4. 4. ミナミヌマエビ 4 • 体長2~3cm程度 • 水槽のコケ掃除用によく飼育される • コケというか藻 • 死骸も捕食する→魚や貝の死骸は骨や殻だけになる • 卵から稚エビとして産まれる • 他種はプランクトンとして産まれるものが 多く繁殖困難 • 屋外で飼育すると爆殖する • 発泡スチロールに水を張っておくだけでよい • ザリガニの餌を与えるともっと増える • 釣りで餌に使える 画像出典: [a] https://ja.wikipedia.org/ ミナミヌマエビの画像の著作表示 Sasapy, 2007 ミナミヌマエビ[a] CC-表示 3.0
  5. 5. 飼育環境 5 • 天面に寒冷紗を貼付け • 通気口 • 蚊や他の昆虫の侵入防止 • 万が一蚊が湧いたら近所迷惑… • エビがボウフラやヤゴ等に捕食される… • ソイル(土)の設置 • エビの足場用 • 糞の分解促進用 • 浮遊性の水草の設置 • エビの足場用 • 飼育水の富栄養状態化の防止用 • マツモやアナカリス(オオカナダモ)を栽培 • メンテナンスは水の注ぎ足し、水草を間引く程度
  6. 6. エビの大量死 6 屋外に設置した水槽で夏にエビの大量死が発生。 飼育水が熱かったことから、太陽光や外気温により茹ったと思われる。 また、酸素欠乏が疑われる。 画像出典: [b] エビ水槽以外 https://www.irasutoya.com/ [c] エビ水槽 https://www.gex-fp.co.jp/fish/blog/columns/vol-08-2/ [d] 水中の飽和溶存酸素量 https://www.toadkk.co.jp/ 外気温・水温から取得を始めてみる 環境の実態把握が急務
  7. 7. Solution
  8. 8. システム構成 8 収集した データの閲覧 データの 蓄積・解析 LAMP構成 - Linux - Apache - MySQL - PHP RESTful API データの収集 WSNノード - Wi-Fi接続 - 外気温・水温計測 屋外設置 - 要高温環境耐性 - 要防水性 Raspberry Piの採用 - Wi-Fi対応 - センサの接続 - 高温環境耐性 →防水加工耐性 Shrimp Tank Pi Nodeと命名 [1] 小野田晃久, 峰野博史, 施設園芸環境向け無線センサノードの開発, 農業情報学会2020年度年次大会講演要旨集, vol. 2020, pp. 162-163, May. 2020 高温環境耐性はPiNode[1]で実証済
  9. 9. STP Node 9 Hardware / Software構成 • メイン基板 • Raspberry Pi Zero W • Raspberry Pi OS • ApplicationはPythonで作成 • 水温センサ • DS18B20 … 1-Wireで接続 • ファイル読出しでOK • 温湿度センサ • SHT31 … I2Cで接続 • pisht30[2]を使用 … PyPIで公開済 • GPIOの操作にpigpiodを使用 • Pythonのセミナで利用するために作成・公開 • M5StickC用のEHV III HATを利用するために作成 • ENV III HATにSHT30が搭載されている Raspberry Pi Zero W DS18B20 SHT31 [2] Akihisa ONODA, pisht30, https://pypi.org/project/pisht30/, PyPI, Jan. 2022 画像出典: [e] Raspberry Pi Zero W https://www.raspberrypi.com/ [f] DS18B20 / SHT31 https://akizukidenshi.com/ [g] ENV III HAT https://www.m5stack.com 温度センサはアナログセンサ + A/Dコンバータ を使う手もあるが、利便性のためモジュール化 されたものを採用(お金で解決)。
  10. 10. STP Node 10 部品 数量 調達先 備考 画像 Raspberry Pi Zero W 1 KSY 昔購入した在庫 microSDカード 1 Amazon 高耐久モデル推奨 Ex. SanDisk Extreme Pro シリーズ DS18B20 1 Amazon 水温センサ 1-Wire SHT31 1 秋月電子通商 温湿度センサ I2C 主な部品と調達先
  11. 11. STP Node 11 Application #- -*- coding: utf-8 -*- import pisht30 as SHT31 import time import json import requests URL = “サーバーのURL" AUTH = “サーバーの認証情報" DS18B20 = "/sys/devices/w1_bus_master1/28-012025646549/temperature" def read_ds18b20(): val = 0.0 try: file = open(DS18B20) wt_str = file.read() val = float(wt_str.strip()) / 1000.0 except Exception as e: print(e) finally: file.close() return val def read_sht31(): config = {'address': SHT31.Address.HIGH.value} obj = SHT31.PiSht30(config) return obj.read() ds18b20 = read_ds18b20() sht31 = read_sht31() value = {} value['wt'] = round(ds18b20, 2) value['at'] = round(sht31['temperature'], 2) value['rh'] = round(sht31['humidity'], 2) value['time'] = int(time.time()) value['auth'] = AUTH data = json.dumps(value) body = {'record': data} #print(body) res = requests.post(URL, body) DS18B20の読み出し SHT31の読み出し センサの読み出し データの加工 データの送信
  12. 12. Results
  13. 13. 計測結果 13 11/04 11/11 11/18 11/25 12/02 • 日中: 気温 > 水温 • 夜間: 気温 < 水温 • peakが水温のほうが遅れる • 水の方が温度変化が少ない 猛暑日のエビの死滅は 気温のピークより遅れる 可能性がある 対策を取れる可能性がある 水の方が空気よりも比熱が高い → 温まりにくく冷めにくい … 意図せず確認できた
  14. 14. Conclusion
  15. 15. まとめ 15 • 屋外設置水槽を監視する仕組みはできた • STP Nodeによる外気温・湿度、水温の監視 • サーバーへのデータ蓄積 • 今後の展望 • 可視化や通知の仕組みの構築 • 気象庁のデータとの連携 • FAQ • pHや溶存酸素などの対応予定はない • センサーが高い(安いもので、pH $70、溶存酸素 $170くらい) • 2w~4w毎に校正が必要 (校正に劇薬が必要、個人で調達は厳しい) • 試薬の方が安価で対応しやすい • センサーの寿命が長くて1年
  16. 16. Thank You!

×