成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用 Arduino 來開發灌溉系統

開發 前端
以前灌溉就是大量線軸連接到水泵上,但是仍然會存在一些問題,比如缺電、管道連接不正確或管道需要加壓等。由于以上問題出現的突然性,一個及時提醒你并保存現場數據的系統是非常寶貴的, 即使你在事發12小時之后回到農場仍然會發現管道破損之前5分鐘灌溉現場狀況。

幾周之前,我展示了最近為父親做的一個項目:Remotely controlling IR/RF devices with an Arduino,他卻抱怨道我還沒有為他開發一個可遠程控制得灌溉系統。我們有幾英畝地需要灌溉,以前是通過中央水泵加管道的方式灌溉。然而在那時,事實是他需要一個遠程控制水泵,這對我來說是一個新的挑戰,正如對你們一樣,所以我詢問了父親他的具體的需求。

他告訴我他需要一個允許他向一個手機號打電話或者發短信以控制遠程的水泵開始或者關閉,以及如果灌溉系統出現問題,系統會發送短息并及時關閉水泵。

[[110171]] 

以前灌溉就是大量線軸連接到水泵上,但是仍然會存在一些問題,比如缺電、管道連接不正確或管道需要加壓等。由于以上問題出現的突然性,一個及時提醒你并保存現場數據的系統是非常寶貴的, 即使你在事發12小時之后回到農場仍然會發現管道破損之前5分鐘灌溉現場狀況。

Arduino 來拯救

Arduino非常適合這樣的項目:低成本、只需要一個電源、沒有系統會凍結/掛起、擁有眾多的標準周邊設備。聽起來這個想法適合我做,所以我通過互聯網搜索到Arduino GSM模塊。***,我發現一個模塊以及開放只需要30美元,非常便宜。完整的系統成本大約50美元,和大多數其他系統成本700美元形成鮮明對照。

幸運的是,GSMLib很容易使用,我一找出哪些針腳能用到,哪些沒用就開始動手去做。一個簡短的例子,當一個認證的手機號發短息給你時,你需要做的就是:

  1. stat = call.CallStatusWithAuth(number, 1, 3);if(stat == CALL_INCOM_VOICE_AUTH) {  
  2.     call.HangUp();  
  3.     sms.SendSMS(number, value_str);}  

系統描述

最終的水泵控制系統是相當簡單的。開始或者關閉的方法通過一個繼電器或者兩個繼電器系統模擬開/關按鈕實現。我想要的是兩種方法都支持,這并不是很困難。

除了輸出之外,也有輸入。當系統啟動并運行時,相應的繼電器開啟和關閉;當有一個錯誤時(斷電、低壓、高溫),三個繼電器可能會開啟。我們的軟件一般需要發送短信,當系統開始和停止運行時(無論任何原因,無論你是否通過電話開啟系統),當一個錯誤繼電器觸發時,一條帶有具體錯誤原因的短信將發送。

我們也想要一種取消SMS發送的方法,與確保你不會得到無關緊要的信息,如果你手動開啟/關閉系統,而你在水泵身旁(顯而易見的是當你站在水泵旁邊時,關閉水泵,壓力消失,你不在需要接受短信)通過簡單的選擇輸入可實現開啟短息發送功能或者關閉。

當然也有一些次要的問題需要考慮,比如錯誤繼電器和其他元件不相關聯(當關閉電源后,所有其他的錯誤繼電器將繼續運行,所以你只需要發送“電力消失”信息),錯誤條件具體到錯誤(例如,關閉系統觸發“壓力下降”錯誤),但這都非常簡單。

實現錯誤短信

實現錯誤短息的函數只需幾行。初始時,我們檢測繼電器的狀態是否改變(當一個錯誤繼電器保持激活狀態時,我們想要邊緣觸發以避免虛假循環。例如):

  1. for (char i=0; i < INPUT_LENGTH; i++) {  
  2.     pinState = digitalRead(inputPins[i]);  
  3.     if (pinState != pinStates[i]) {  
  4.         // If the pin's state changed, note it.  
  5.         statesChanged[i] = 1;  
  6.     }  
  7.     // Update the state.  
  8.     pinStates[i] = pinState;}  

然后我們掌握了所有狀態的改變以及新狀態,決定接下來做什么就不難了:

  1. // Decide what happens.if (statesChanged[0] == 1 && pinStates[0] == OFF) {  
  2.     // Phase dropped, send message regardless.  
  3.     sendSMS("Phase dropped.");} else if (statesChanged[1] == 1 && pinStates[1] == OFF) {  
  4.     sendSMS("Thermal dropped.");} else if ((statesChanged[2] == 1 && pinStates[2] == OFF) &&  
  5.            (statesChanged[3] == 1 &&  pinStates[3] == OFF)) {  
  6.     // Pressure dropped *and operation stopped simultaneously*.  
  7.     // This is because we don't want to be notified of normal  
  8.     // pressure drops after we stop the system ourselves.  
  9.     sendSMS("Pressure dropped.");} else if (statesChanged[3] == 1 && pinStates[3] == OFF) {  
  10.     sendSMS("Pump shut down.");} else if (statesChanged[3] == 1 && pinStates[3] == ON) {  
  11.     sendSMS("Pump started.");}  

結束語

最終完成的系統應當是即插即用的。如果你想要使用它,并且像我一樣擁有兼容好的錯誤繼電器,你可以安裝到 Arduino 并且運行它。

你能在GitHub上找到完整的代碼:https://github.com/skorokithakis/arduino-irrigation

非常樂見你提出系統功能上的需求,這是走向成功的故事。失敗的故事也是非常受歡迎的,但是它們使我不怎么幸福。我也將期待你后面的評論,或者你可以Tweet我。我希望基于Arduino的灌溉系統將至少給提供一些有用的東西,感謝你的閱讀!

英文原文:Arduino-powered irrigation system

譯文鏈接:http://www.oschina.net/translate/arduino-powered-irrigation-system

責任編輯:林師授 來源: 開源中國社區編譯
相關推薦

2020-10-30 16:12:48

網絡攻擊惡意軟件網絡安全

2014-08-25 12:14:02

Docker協助開發

2021-08-06 09:55:33

5G智慧農業物聯網

2019-03-04 10:45:57

Linux Cockp系統性能命令

2020-04-11 21:10:36

物聯網智能節水IOT

2021-08-25 09:00:00

開發軟件數據

2017-03-01 12:19:17

rsync Linux系統

2009-06-03 16:12:41

Eclipse開發AnAndroidEclipse

2011-03-16 09:05:29

iptablesNAT

2018-06-05 14:40:35

Linux樹莓派繪圖儀

2009-11-19 16:04:12

2021-01-31 10:48:24

命令Systemctl工具

2019-05-20 10:58:40

物聯網IOT技術

2020-03-06 08:00:02

Multipass系統虛擬機

2010-08-12 18:12:58

ibmdwRational

2016-03-31 09:18:11

xcodetargets管理

2023-02-03 11:40:49

機器學習分析情感

2021-11-22 09:00:00

后端開發CMS

2016-10-24 09:09:48

AnsibleVagrantFedora

2020-02-17 16:28:49

開發技能代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲第一在线视频 | 日韩日b视频 | 中文字幕一页二页 | 日韩视频一级 | 免费国产一区二区视频 | 亚洲视频在线看 | 激情福利视频 | ririsao久久精品一区 | 色香婷婷 | 日韩成人在线视频 | 亚洲一区综合 | 91亚洲精品国偷拍自产在线观看 | 午夜男人视频 | 亚洲成人a v | 国产精品成人一区二区三区 | 成人av在线播放 | 国产一区二区毛片 | 国产亚洲成av人片在线观看桃 | 三级黄色片在线播放 | 中文字幕国产精品 | 日韩成人一区 | 天天干夜夜操 | 91精品中文字幕一区二区三区 | 久久久久亚洲 | 黄片毛片在线观看 | 自拍偷拍亚洲一区 | 91在线网站| 99热在线免费 | 国产欧美精品区一区二区三区 | 欧美三区视频 | 欧美成人影院 | 国产精品久久久久久久久久久免费看 | 国产日韩欧美 | 精品成人av| 精品视频一区二区三区在线观看 | 老牛影视av一区二区在线观看 | 精品在线| 国产高清在线视频 | 欧美日韩高清一区二区三区 | 欧美精品在欧美一区二区 | www性色 |