步驟1:安裝花園灌溉
布局多管道,適合噴射,滴灌線和滴頭。灌溉控制器將適用于任何灌溉裝置。它的核心是測量土壤濕度讀數并在土壤過于干燥時激活水龍頭計時器。可以校準控制器以設置飽和點的低點,點亮定時器的開啟時間以及控制器檢查飽和度的頻率。
這些設置可以在arduino上更改并存儲在EPROM記憶中。 IOT集成也可以更新設置。該項目將每四個小時運行一次控制器,如果土壤太干,則打開水龍頭3分鐘。如果干/熱,它可以連續運行幾次,否則每天運行一次或兩次。
步驟2:適合分接計時器
安裝水龍頭計時器并嘗試使用可調節的刻度盤來計算出最適合灌溉安裝的粗略頻率和運行時間。我們將刪除計時器并修改它以使用Arduino。
步驟3:Arduino Build
使用接線圖作為構建指南。在照片中,使用了電話線和用于連接點的螺釘端子條。需要進行一些焊接。
點擊定時器修改
小心拆開分接計時器。我們將對兩個可調節表盤進行硬接線,這樣它們就可以通過arduino而不是手動撥盤進行控制。左側頻率撥盤將硬連線到復位位置,以便右側撥盤可以在開/關位置之間切換。如圖所示,右側刻度盤將有一條來自中間右側觸點和外側右側觸點的電線。默認情況下,計時器將處于關閉位置。如果兩根導線接觸,定時器將打開。將兩根導線連接到5V繼電器,然后arduino可以在兩根導線之間閉合/斷開接觸。通過公共繼電器端子中的一根導線和常閉端子中的另一根導線,我們將確保在arduino關閉時關閉定時器。將繼電器引腳設置為HIGH將打開定時器;將其設置為LOW將關閉計時器。
土壤探測器
對于這個項目,兩個釘子被焊接到連接到螺釘端子的電線上。一個釘子的終端直接接地。另一個連接到arduino中的模擬輸入和電阻。電阻連接到arduinos 5v信號。如圖所示。
溫度/濕度傳感器
DHT11溫度/濕度傳感器連接到arduino的5V,接地和數字引腳arduino。
Lora shield
這個項目還使用了Dragino Lora Shield(未在接線圖中顯示)。
PVC底座
本項目中使用的arduino的PVC底座設計為可以暴露溫度/濕度傳感器,同時將所有其他組件固定在防水PVC外殼內。為傳感器鉆一個小孔,用硅將其固定到位,同時阻止水分到達arduino。如圖所示。
步驟4:Arduino編程
通過面包板或端子板將組件連接在一起用于編程和測試
EPROM配置
首先,我們需要將配置變量寫入EPROM存儲器。在你的arduino上運行以下代碼:
Github上可用的代碼
這里DRY_VALUE設置為960. 1024表示土壤完全干燥,0表示完全飽和,960表示電阻,電纜長度和指甲的良好飽和水平用過的。這可能會因您自己的配置而異。
VALVE_OPEN設置為180000毫秒(3分鐘)。當/如果點擊計時器打開,它將保持打開3分鐘。
RUN_INTERVAL設置為14400000毫秒(4小時)。這意味著控制器將每四小時檢查一次土壤濕度,如果飽和度低(大于960),則打開水龍頭定時器3分鐘。
上面的代碼可以更改,這些值在任何時候。
Github上可用的代碼
依賴關系:
Radio Head
這個例子使用Dragino Lora盾牌,特別是Lora并發示例,盾牌直接連接到Dragino Lora Gateway。
這可以通過刪除“BEGIN:lora vars”部分下的代碼并更改程序以包含以下Dragino示例或適用于其他無線電/wifi屏蔽等來使用物聯網。
提供的代碼假定DHT11_PIN是數字引腳4,RELAY_PIN是數字引腳3,土壤濕度模擬引腳是模擬輸入0.
調試變量可以設置為true以便串行調試消息可以在波特率9600中記錄。
步驟5:機箱構建
切割PVC管道以適應點擊計時器和Arduino基地。為龍頭定時器水龍頭配件和軟管接頭鉆孔。在管道上鉆孔足以容納汽車導管,將10厘米長的導管滑入孔中,并從arduino和tap定時器中取出導線。這應包括:
來自Arduino
土壤濕氣電纜(VCC,GND,A0)
繼電器NC和公共螺釘端子的兩根電線
來自分接計時器
電源線
右撥號觸點的兩根電線
步驟6:粘合前測試控制器
確保一切正常,然后密封所有內容。
上面的照片顯示了esky中的樣品設置,其中土壤濕度探頭放在鍋中,水龍頭計時器裝有來自軟飲料瓶的水。
一個滴頭連接到點擊計時器。
這是一個很好的方法來測試設置沒有在水上或水下工廠。
這個例子可以運行,只要需要校準控制器。
步驟7:膠水/防水外殼
使用PVC底漆和PVC水泥固定端蓋和聯軸器。
使用填縫料/硅填充自動導管周圍的任何空隙并敲擊定時器配件。
此處,arduino外殼上使用螺釘端蓋以便于操作。
步驟8:安裝
在晴朗的日子安裝。元件和電線在密封之前需要保持干燥。
將控制器放置在花園龍頭所在位置和土壤探針放置位置之間的某個位置。
適合在安裝完成之前,請確定它是無動力的。
安裝土壤探針。
將條形端子連接到每個組件,然后從每個組件的螺絲端子上鋪設電話線確保電纜被汽車導管覆蓋。將所有部件連接在一起
用螺紋密封膠帶密封所有端子和任何其他暴露部件,然后用電工膠帶密封。
用螺紋密封膠帶密封分流管的任何松動/暴露區域,然后用電工膠帶密封
將定時器連接到3.2v電源。電池組或連接到電源插座的3.2V DC-AC適配器。
將Arduino連接到6-12V DC電源。電池組或連接到電源插座的USB/DC-AC適配器。
啟動并測試!
步驟9:ThingsBoard集成 - 監控和報告
此示例使用連接到Dragino Lora網關的A Dragino Lora Shield。無論是使用此設置,另一個Lora設置還是任何其他IOT連接,灌溉控制器收集的數據都可以轉發到物聯網等物聯網平臺上。默認情況下,程序發送以下數據字符串,其中每個字符字節為十六進制編碼:
TXXXHXXXSXXXXRX
其中T后跟溫度,H后跟濕度,S后跟飽和度等級和R后跟一個數字,與其在上一次運行間隔執行的操作有關。這可以是0-5,其中每個數字表示:
0: The program is initialising
2: Temperature was too low to run
3: Soil moisture too dry so the tap timer was activated
4: Soil moisture fine so the tap timer was not activated
5: The irrigation controller has been deactivated
有幾種方法可以在您自己的設備上安裝Thingsboard的副本,或者您可以在我們的ThingsBoard安裝上設置一個免費帳戶這里。
在Thingsboard中設置你的設備
按照這些說明在Thingsboard中添加一個名為“Irrigation Controller”的新設備。
從設備推送遙測數據
按照以下說明設置通過MQTT,HTTP或CoAp將遙測數據從設備推送到Thingboard的方法。
在我們的服務器上,我們將設備運行時每隔四小時將以下JSON推送到https://thingsboard.meansofproduction.tech/api/v1/。..:
{“temperature”:13, “humidity”:78, “active”: true,“saturation”:941,“lastRunResult”:“RUN_RESULT_NO_WATER”}
此外,我們還定期將以下屬性推送到https://thingsboard.meansofproduction.tech/api/v1/。..并提供有關上次查看節點的數據:
{“lastSeen”:“2018-06-04 12:00:00”, “secondsSinceLastSeen”:1543}
用于設備停止傳輸數據時觸發的警報。
創建儀表板
按照此處的說明創建儀表板。我們的小部件包括:
從lastRunResult遙測領域創建的簡單卡片小部件。
用于溫度遙測領域的垂直數字控制器。從lastRunResult遙測領域創建的時間序列表,顯示最后幾天的數據。
一個顯示飽和遙測場的水平條。這使用數據后處理功能:
return 1024-value;
并設置最小值和最大值0-100。這樣,飽和度可以表示為百分比。
顯示濕度值的量具。
時間序列條形圖,包括溫度,濕度和運行結果,分為5上周的小時數,匯總顯示最大值。這為我們提供了一個四小時跑步活動的酒吧。數據后處理功能用于將運行結果表示為0或120,具體取決于是否運行水。這提供了一個簡單的視覺反饋,以查看一周內水的運行頻率。
一張靜態HTML卡,顯示花園的圖像。
電子郵件提醒
我們使用規則為灌溉控制器設置電子郵件警報。全部使用消息過濾器和發送郵件操作插件操作。
要在灌溉控制器無法發送數據時發送電子郵件警報,我們使用“設備屬性過濾器”使用以下過濾器:
typeof cs.secondsSinceLastSeen !== ‘undefined’ && cs.secondsSinceLastSeen 》 21600
如果土壤變得太干,要發送電子郵件,請使用以下遙測過濾器
typeof saturation != “undefined” && saturation 》 1010
要根據土壤變得過于潮濕而發送電子郵件,請使用以下遙測過濾
-
控制器
+關注
關注
112文章
16382瀏覽量
178309 -
定時器
+關注
關注
23文章
3250瀏覽量
114912
發布評論請先 登錄
相關推薦
評論