FTBUG-研究專用系統

最後編輯:2017-07-10 建立:2017-03-29 歷史紀錄

 

WUULONG S概述

  • 大部分的實驗與研究設計,在主要的系統需求上,一般是類似的。
  • 這個研究系統的目標是讓 研究與實驗能有效地展開,資料能夠被感測,收集,分析,並能將資料公開給大家使用

 

文件狀態

  • 草稿狀態,請大家隨意補充

系統需求

  • 土壤濕度感測
  • 定時量測
  • 針對特定區域範圍給水
  • 拍照
  • 分析生長指標
  • 照片,感測值,生長指標需能保持歷史紀錄
  • 照片,感測值,生長指標需能被存取與分析,進行後續研究
  • 系統記錄與資料存取架構

 

情境要求

  • 能定時,定點進行澆水任務,照相,儲存
  • 能順利接軌後續分析工作

 

規格

  • 給水子系統給水量須控制在 TBD CC 以內

系統設計

  • 量測紀錄記錄在 DB, 照片放檔案系統
  • 主要程式語言使用 Python (版本待訂)
  • RPI 主環境: RASPBIAN
  • DB:? (量測資料未自動收值時, 初期先存在 MS Access; 需評估自動收值後所需的資料空間需求)
  • Script 自動化:Camera Commander
  • 時間自動化:使用 系統 crontab 發命令給 Camera Commander
  • Log 設計: file based log, 使用 logrotate 做每日 log
  • python module
    • opencv
  • 跟氣象站介接
  • 跟外部資料介接
  • 提供資料給其他系統
    • 量測記錄匯出格式:CSV, JSON, JPEG

 

系統架構

 

 

FBTUG Cloud Manager 設計

 

FarmBot 預計用 JSON 格式上傳,預期包含 檔名,照相位置,時間,辨識補充資料 等

 

JSON Example

{

"Metadata":{

"PathName":"Case1/I20170407105501-0.jpg",

"TimeStamp":"20170407105501",

"Area":"地點#1",

"Position":"拍照位置",

"Camid":"相機編號",

"XYZPosition": "X-100 Y-200 Z-300",

"Temperature":35,

"Humandity":65

},

"Shape":{

"Width":400,

"Height":600,

"Size":35000

},

"ColorSpace":{

"Format":"RGB",

"Channels":3

},

"Identify":{

"PlantsArea":{

"Green":0.3432,

"Red":0.1282

},

"WeedsDetect":{

"Weeds-type":5,

"Weeds-ratio":0.1532

},

"SeedsStatus":{

 

},

"WateringStatus":{

 

}

}

}

 

感測,照片資料格式定義

一圖多 Tag 架構

  • Tag 用 JSON 格式,可多個檔案以因應不同系統陸續產生的資料

 

圖檔名定義

  • IYYYYMMDDhhmmss-%seq.jpg, seq 從零開始編起
  • ex: I20170407105501-0.jpg

 

Tag 檔名定義

  • T%圖檔名_%tagseq.json, tagseq 從零開始編起
  • ex: T20170407105501-0_0.json

 

Tag0 資訊

  • 照相位置,時間,環境資訊,取照片原因等其他資訊
  • JSON
  • {
  • CHENG T "Metadata":{
  • "PathName":"Case1/I20170407105501-0.jpg",
  • "TimeStamp":"20170407105501",
  • "Area":"地點#1",
  • "Position":"拍照位置",
  • "Camid":"相機編號",
  • "XYZPosition": "X-100 Y-200 Z-300",
  • "Temperature":35,
  • "Humandity":65
  • },
  • "Shape":{
  • "Width":400,
  • "Height":600,
  • "Size":35000
  • },
  • "ColorSpace":{
  • "Format":"RGB",
  • "Channels":3
  • }
  • }

 

WUULONG STag1 資訊

  • 影像處理後的輸出資訊,比方說 N01-植栽覆蓋率 (unit %)
  • JSON
  • "Identify":{
  • CHENG T "PlantsArea":{
  • "Green":0.3432,
  • "Red":0.1282
  • },
  • "WeedsDetect":{
  • "Weeds-type":5,
  • "Weeds-ratio":0.1532
  • },
  • "SeedsStatus":{
  • },
  • "WateringStatus":{
  • }
  • }
  • WUULONG S

系統介面

  • RPI<->FBTUG Cloud Manager
    • Mount file system 到 local, 圖存在 file system 中
      • 將對應的 photo tag 用 JSON 格式也存一份一對一的檔案
    • 將 JSON 上傳 Cloud Manager

 

給水控制

  • 需知道育苗盤容量,乾土到滿水土所需的水量,以提供給水控制設計參考

 

系統實現

  • RPI 環境 github : https://github.com/FBTUG/DevZone/tree/master/firmware/rpi_env

 

  • Directory
    • ~/farmabot
      • rpi_env

 

 

系統安裝

  • 安裝 RASPBIAN
  • Setup
    • 第一次開機
      • Raspberry Pi Configuration
        • 手動連上 wifi
        • Enable Camera,SSH
        • JOE H可參考 https://www.raspberrypi.org/documentation/remote-access/ssh/
    • WUULONG Scheck out DevZone
      • mkdir farmbot; cd farmbot
      • git clone https://github.com/FBTUG/DevZone.git
    • run installation script
      • ./DevZone/firmware/rpi_env/script/setup.sh

 

JOE H[實際安裝問題解決-by Joe]

setup.sh 內的 minicom 在安裝時, 如有show error message -- "package minicom is not available"

  1. 請執行以下 command --(可以先試item 2, 如果可行的話就略過此點)
  • sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get install minicom

2. 如果還是failed, 請更改 \etc\apt\source.list (權限問題, 請下 chmod a+w source.list 才能更改)

在source.list 新增以下的path --

重新下command:

sudo apt-get update

sudo apt-get install minicom

 

WUULONG S系統討論會議-1

時間: 2017/4/7,QNAP會議摘要,哈爸與 Jarvis

快速結論:

1. 哈爸會將討論的系統大架構,說明記錄在共筆

2. 分工方式為,Jarvis 會補充 QNAP 內的一些架構說明以及協助設計界接的 API

3. 基本 FarmBot <-> QNAP 介面為: file system based photo, JSON upload by RaspAPI

 

系統討論會議-2

時間: 2017/4/8,哈爸與幸延

快速結論:

  1. 氣象站會有 RespAPI, G0v 專案也會匯集氣象站的資料,提供 Api, 需要時可以考慮要用哪一個
  2. 已經請幸延提供 API 相關資訊,以提供系統設計參考
  3. 目前研究 QNAP 平台是否能融合 FBTUG, Open Hack Farm 情境,提供單一後台平台

 

 

Q&A

Q1: 為何不使用 FarmBot 原廠系統,還需要另外做?

A: FarmBot 原廠系統主要設計針對使用者情境,對研究相當不方便。由於系統也相當龐大,修改相對不容易。所以目前的方向是,能使用原廠功能的部分,還是盡可能使用跟原廠同步,針對研究需求,我們會建構與維護另外一個研究系統。個別系統會有不同的 SD card, 換卡就能換系統

 

Q2: 一圖多 tag 架構,上傳到 Cloud Manager 要如何管理?

A:

 

參考