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