Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Pe-field × SORACOMでキャベツ圃場を定点監視してみた!

Yota Sekiguchi
March 29, 2024
290

Pe-field × SORACOMでキャベツ圃場を定点監視してみた!

Yota Sekiguchi

March 29, 2024
Tweet

Transcript

  1. 要件 • 稼働期間: 半年 • 毎日キャベツの画像を報告 • 電源はない ↓ •

    屋外に長期間合っても壊れない • 自分で発電するor低消費電力で 大容量の電源リソースが必要 DALL-E画伯の秀作 「キャベツ畑」
  2. What is Pi-field 機能 • 高耐久性(防水ボックス) • 間欠動作可能(slee-Pi 3) •

    太陽電池で電源レスで動く • SIM通信モジュール(4GPi) →畑のモニタリングには最適! https://mechatrax.com/products/pi-field/ Pi-field Liteさん
  3. 通信・クラウド側Tips あまりにもBeamのtutorial記事が良すぎて何も困らなかった...!! SORACOM document - IAM 認証を利用して Amazon S3 にファイルをアップロードする

    強いて言えば, 開発時にWiFiとLTEを一緒に使う時は注意! Qiitaに記事を載せています デバイスに証明書置かなくていいの,本当に楽です...
  4. 間欠動作 slee-pi3 • ラズパイ専用の電源管理・死活監視モジュール • 電源電圧のチェックや間欠動作, RTCの利用などが可能 • slee-piの機能にアクセスするLinuxコマンドも •

    電源ボタンアリ!!(これがテストに便利...) →ざっくりいうと、使用したい時だけラズパイを起動できる! slee-pi: https://mechatrax.com/products/slee-pi/#description slee-pi3で何が可能か?: https://mechatrax.com/blog/what-is-possible-with-sleepi3/
  5. 間欠動作 set_alarm.sh send_images.sh shutdown.sh set_alarm.sh: 次の予約時刻を現在時間から決定. 15分以内に次の時刻がある時, さらに次の時刻を予約. 実行前に30秒のスリープ処理を入れる. send_images.sh:

    カメラ撮影・アップロード処理スクリプト shutdown.sh: 10分後にshutdownを予約するスクリプト. 次の起動予約がない場合, 実行せずラズパイは起動し続ける. 全体をデーモン化
  6. 当日あると便利な道具 • PC+ポケットWiFi → NapterでSSHするために使用 • マルチメータ • その他諸々の工具 •

    植え込み用のハンマー 納期が迫っていても、リハーサルはしましょう!!見落としを当日カバーするの は至難の業です! 特に南京錠は忘れがちです!!!!
  7. Harvestのデータ 一度電圧が落ちたものの , 正常に 復旧 mechatrax, sleepi3ctl, https://github.com/mechatrax/sleepi3-utils sleepi3ctlを使用して電圧を取得 ↓

    Harvestに送信 from subprocess import run, PIPE import requests def get_voltage () -> tuple[str, str]: cmd1 = ['sudo', 'sleepi3ctl' , 'get', 'voltage', '1'] cmd2 = ['sudo', 'sleepi3ctl' , 'get', 'voltage', '2'] cp_result1 = run(cmd1, stdout=PIPE, check=True, encoding='utf-8') cp_result2 = run(cmd2, stdout=PIPE, check=True, encoding='utf-8') return (cp_result1.stdout, cp_result2.stdout)