Мазмуну:

DIY - Автоматташтырылган бакча ирригациясы - (Arduino / IOT): 9 кадам (Сүрөттөр менен)
DIY - Автоматташтырылган бакча ирригациясы - (Arduino / IOT): 9 кадам (Сүрөттөр менен)

Video: DIY - Автоматташтырылган бакча ирригациясы - (Arduino / IOT): 9 кадам (Сүрөттөр менен)

Video: DIY - Автоматташтырылган бакча ирригациясы - (Arduino / IOT): 9 кадам (Сүрөттөр менен)
Video: Заработай $ 647.00 АВТОМАТИЧЕСКИ (Заработай в интернете п... 2024, Ноябрь
Anonim
DIY - Автоматташтырылган бакча ирригациясы - (Arduino / IOT)
DIY - Автоматташтырылган бакча ирригациясы - (Arduino / IOT)
DIY - Автоматташтырылган бакча ирригациясы - (Arduino / IOT)
DIY - Автоматташтырылган бакча ирригациясы - (Arduino / IOT)
DIY - Автоматташтырылган бакча ирригациясы - (Arduino / IOT)
DIY - Автоматташтырылган бакча ирригациясы - (Arduino / IOT)

Бул долбоор сизге үй бакчасы үчүн сугат контроллерин кантип курууну көрсөтөт. Топурактын нымдуулугунун көрсөткүчтөрүн өлчөө жана эгер топурак өтө кургак болуп калса, бактын крандан сугарууну активдештирүү. Контроллер ошондой эле температура жана нымдуулук сенсорун камтыйт. Температура өтө төмөн болсо контроллер бактын кранын иштетпейт. Сууну колдонуу / иштетүү убактысы жөнүндө сенсордун көрсөткүчтөрү жана статистикасы ThingsBoard IOTко визуалдаштыруу жана аналитика үчүн жазылат. Сугат контролери маалыматтарды берүүнү токтотсо, топурак өтө кургак же өтө каныккан болсо, эскертүүлөр жана электрондук каттар иштей баштайт.

Алдын ала шарттар

  • Arduino билими, анын ичинде жок дегенде Arduino үчүн негизги коддоо жана ширетүү.
  • 1x басымдагы бактын краны

Билл материалдар

  • Бакчаны сугаруу поли түтүк, учак, тамчылатуучу ж.
  • Эки терүүчү электрондук таптоочу таймер (б.а. Aqua Systems Electronic Digital Tap Timer)
  • Басымды кыскартуучу 300kpa
  • Arduino Uno
  • Лора Ардуино Шилд
  • Lora Gateway (Эгерде сизде Things Network жергиликтүү шлюзу бар болсо, кереги жок)
  • DHT11 Температура нымдуулук сенсору
  • 5v реле
  • Телефон кабели
  • Кабелдик байланыштар
  • Автоматтык бөлүнгөн гофрленген түтүктөр
  • Унаа терминалынын туташтыргыч тилкелери
  • 2х Гальванизацияланган мыктар
  • 1x резистор
  • Кремний / Калк
  • PVC цемент
  • PVC праймер
  • PVC Pipe 32mm туурасы х 60mm
  • PVC түтүк 90 мм туурасы x 30 см
  • 3x PVC Push End Caps 90mm
  • 1х ПВХ Бурамалуу Капкак 90мм
  • 1x PVC Threaded Insert Fitting 90mm
  • 1x PVC Push End капкактары 32мм
  • 1x 3.2V энергия булагы (таптоочу таймер) [батареялар, AC көп вольттуу адаптер]
  • 1х 6-12В кубат булагы (arduino) [батареялар, USB, USBден ACга адаптер]
  • жип мөөр тасмасы
  • электр тасмасы

1 -кадам: Garden Irrigation орнотуу

Garden Irrigation орнотуу
Garden Irrigation орнотуу
Garden Irrigation орнотуу
Garden Irrigation орнотуу

Полиэтопроводдун жайгашуусу, реактивдүү учактар, тамчылатуучу линиялар жана тамчылаткычтар. Сугат контролери ар кандай сугат жабдуулары менен иштейт. Негизинен бул топурактын нымдуулугун өлчөө жана эгерде топурак өтө кургак болсо, кран таймерин иштетүү. Контроллерди каныктыруунун эң төмөнкү чекитин коюу үчүн, калибрлөө убактысын канча убакытка чейин күйгүзүү керектигин жана контроллер канчалык каныккандыгын текшериши керек.

Бул орнотууларды arduinoдо өзгөртсө болот жана EPROM эсинде сакталат. Орнотуулар IOT интеграциясы аркылуу да жаңыртылышы мүмкүн. Бул долбоор контроллерди ар бир төрт саатта иштетет жана эгер топурак өтө кургак болсо, 3 мүнөт бою кранды ачат. Ал кургак/ысык болсо же бир күндө эки жолу бир нече жолу катары менен иштей алат.

2 -кадам: Fit Tap Timer

Fit Tap Timer
Fit Tap Timer

Сугат орнотуу үчүн эң ыңгайлуу болгон жыштыкты жана иштөө убактысын иштеп чыгуу үчүн таптоочу таймерди тууралаңыз жана жөнгө салынуучу терүүлөр менен тажрыйба жасаңыз. Биз таймерди алып салабыз жана аны Arduino менен иштөө үчүн өзгөртөбүз.

3 -кадам: Arduino Build

Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build

Куруу үчүн колдонмо катары зым диаграммасын колдонуу. Сүрөттөрдө телефон кабелинин зымдары колдонулган жана түйүндөр үчүн терминалдык тилкелер буралган. Кээ бир ширетүү талап кылынат.

Таймерди өзгөртүүгө тийип коюңуз

Таптоочу таймерди кылдаттык менен бөлүп алыңыз. Биз кол менен терүүнүн ордуна arduino тарабынан башкарылышы үчүн эки жөнгө салынуучу терүүнү зым менен өткөрөбүз. Оң жыштыкты күйгүзүү/өчүрүү абалына которуу үчүн сол жыштыктагы терүү абалга келтирүү абалына катуу зымдуу болот. Оң тергичте көрсөтүлгөндөй, борбордун оң байланышынан жана сырткы оң байланыштан бир зым болот. Демейки боюнча таймер өчүк абалда болот. Эгерде эки зым тийсе, таймер күйөт. Эки зым 5В релеге туташканда, ардуино эки зымдын ортосундагы байланышты жабып/ача алат. Бир зым жалпы релелик терминалда, экинчиси кадимки жабык терминалда, биз arduino өчүрүлгөндө таймердин өчүрүлүшүн камсыздайбыз. Реленин пинин ЖОГОРУ деп коюу таймерди күйгүзөт; аны LOW деп коюу таймерди өчүрөт.

Топурак зонду

Бул долбоор үчүн эки мык бурама терминалдарга туташкан зымга ширетилет. Бир мыктын терминалы түз жерге түшөт. Экинчиси arduinoдогу аналогдук кирүүгө жана резисторго туташат. Резистор arduinos 5v сигналына туташат. Бузуу диаграммасында көрсөтүлгөн.

Температура/нымдуулук сенсору

DHT11 Temp/Humidity Sensor arduino 5V, жерге жана arduinoдогу санариптик пинге туташтырылган.

Лора калканы

Бул долбоордо ошондой эле Dragino Lora Shield колдонулган (электр схемасында көрсөтүлгөн эмес).

ПВХ базасы

Бул долбоордо колдонулган arduino үчүн ПВХ базасы температура/нымдуулук сенсорунун ачык болушу үчүн иштелип чыккан, ал эми суу өткөргүс ПВХ корпусунун ичинде калган бардык компоненттерди сактап калган. Сенсор үчүн кичинекей тешик бурулат/кесилет жана нымдын ардуиного жетүүсүн токтотуу үчүн кремний колдонулат. Диаграммада көрсөтүлгөн.

4 -кадам: Arduino программалоо

Arduino программалоо
Arduino программалоо

Программалоо жана тестирлөө үчүн нанды же терминал тилкелери аркылуу компоненттерди бириктириңиз

EPROM конфигурациясы

Адегенде конфигурация өзгөрмөлөрүн EPROM эс тутумуна жазышыбыз керек. Ардуинодо төмөнкү кодду иштетиңиз:

Githubда жеткиликтүү код

Бул жерде DRY_VALUE 960 деп коюлган. 1024 топурак толугу менен кургак экенин билдирет, 0 толук каныккандыгын билдирет, 960 каршылаш үчүн жакшы каныккандыктын деңгээли, кабелдин узундугу жана мыктар колдонулат. Бул сиздин конфигурацияңызга жараша өзгөрүшү мүмкүн.

VALVE_OPEN 180000 милисекундга (3 мүнөт) коюлган. Качан/эгер таптоо таймери күйгүзүлгөн болсо, ал 3 мүнөт ачык бойдон калат.

RUN_INTERVAL 14400000 милисекундга (4 саат) коюлган. Бул контролер кыртыштын нымдуулугун ар бир төрт саатта текшерет жана каныктыруу төмөн болсо (960тан жогору) 3 мүнөткө кран таймерин күйгүзөт дегенди билдирет.

Жогорудагы кодду каалаган убакта өзгөртүүгө жана бул баалуулуктарды өзгөртүүгө болот.

Программа коду

Githubда жеткиликтүү код

Көз карандылыктар:

  • TimedAction
  • Радио башчысы

Бул мисалда Dragino Lora калканы жана өзгөчө Лора дал келүүчү мисал түз Dragino Lora Gateway менен туташкан.

Бул Things Networkту колдонууга ылайыкташтырылышы мүмкүн, "BEGIN: lora vars" бөлүмүнүн астындагы кодду алып салуу жана программаны төмөнкү Dragino мисалына өзгөртүү же башка радиолор/wifi калканчтары менен иштөөгө ылайыкташтыруу.

Берилген код DHT11_PIN санарип пин 4, RELAY_PIN санарип пин 3 жана топурактын нымдуулугу аналогдук пин аналогдук 0 деп болжолдойт.

Мүчүлүштүктөрдү оңдоо өзгөрмөсүн true деп койсо болот, андыктан Serial debug билдирүүлөрүн baudrate 9600 боюнча каттоого болот.

5 -кадам: Корпустун курулушу

Корпустун курулушу
Корпустун курулушу

ПВХ түтүгүн таптоо таймерине жана Arduino базасына ылайыкташтырып кесип алыңыз. Кран таймеринин кранын орнотуу жана шлангды орнотуу үчүн тешиктерди бургулаңыз. Трубада унаа өткөргүчтөрү үчүн кенен тешиктерди бургула, каналдын 10 см узундугун тешиктерге түшүрүп, зымдарды arduino менен таймерден тазалаңыз. Бул төмөнкүлөрдү камтышы керек:

Ардуинодон

  • Ардуинонун USB портунан электр менен камсыздоо зымдары жана/же USB кабели.
  • Топурактын нымдуулугу кабели (VCC, GND, A0)
  • NC & Common Relay терминалдарынан эки зым

Таптоо таймеринен

  • Электр менен камсыздоо кабелдери
  • Оң терүү байланыштарынан эки зым

6 -кадам: чаптоо алдында текшерүүчү контролеру

Жабыштыруудан мурун текшерүүчү контролер
Жабыштыруудан мурун текшерүүчү контролер
Жабыштыруудан мурун текшерүүчү контролер
Жабыштыруудан мурун текшерүүчү контролер

Баарын мөөр басуудан мурун дагы эле иштеп жаткандыгын текшериңиз.

Жогорудагы сүрөттөрдө топурактын нымдуулугун текшерүүчү идишке салынган жана крандын таймерине суусундук бөтөлкөсүнөн келген суу орнотулган.

Бир тамчылаткыч кран таймерине бекитилген.

Бул орнотуу өсүмдүктүн үстүндө же астында эмес экенин текшерүүнүн жакшы жолу болгон.

Бул мисал контроллерди калибрлөө үчүн керек болгонго чейин иштей алат.

7 -кадам: клей / суу өткөрбөй турган корпустар

Желим / Суу өткөрбөй турган корпустар
Желим / Суу өткөрбөй турган корпустар

Капкактарды жана кошкучтарды бекемдөө үчүн ПВХ праймерин жана ПВХ цементин колдонуңуз.

Авто өткөргүчтүн жана таймердин арматурасынын айланасындагы боштуктарды толтуруу үчүн кальций/кремнийди колдонуңуз.

Бул жерде жеткиликтүүлүк үчүн arduino корпусунда бурама учтуу капкак колдонулат.

8 -кадам: Орнотуу

Орнотуу
Орнотуу
Орнотуу
Орнотуу
Орнотуу
Орнотуу

Ачык күнү орнотуңуз. Компоненттер жана зымдар мөөр басылганга чейин кургак бойдон калышы керек.

Контроллерди бактын краны жайгашкан жер менен топурактын илгичи коюла турган жердин ортосуна жайгаштырыңыз.

Орнотуу аяктаганга чейин таптоочу таймерди орнотуп, анын кубаты өчүрүлгөнүн текшериңиз.

Топурак зондун тууралаңыз.

Ар бир компонентке тилкелүү терминалдарды бекиткиле, андан кийин ар бир компоненттин бурама терминалдарынан телефон кабелин салыңыз, бул кабелдин авто өткөргүч менен жабылганын текшериңиз. Баарын бириктирет

Бардык терминалдарды жана башка ачык жерлерди жип мөөрү тасмасы менен, андан кийин электр лента менен жабыңыз.

Бөлүнгөн өткөргүчтүн бош/ачык жерлерин жип мөөрү тасмасы менен, андан кийин электр лента менен жабыңыз.

Таймерди 3.2v кубат булагына туташтырыңыз. Батарея топтому же 3.2V DC - AC адаптери розеткага иштейт.

Arduino'ду 6-12В туруктуу ток булагына туташтырыңыз. Батарея топтому же USB розеткасына иштеген USB / DC-AC адаптери.

Күч жана сыноо!

9 -кадам: ThingsBoard интеграциясы - мониторинг жана отчеттуулук

ThingsBoard Integration - Мониторинг жана отчеттуулук
ThingsBoard Integration - Мониторинг жана отчеттуулук

Бул мисалда Dragino Lora Gateway менен туташкан Dragino Lora Shield колдонулган. Бул орнотууну колдонуп жатасызбы, башка Lora орнотуулары же башка IOT байланыштары, сугат контроллери тарабынан чогултулган маалыматтар Thingsboard сыяктуу IOT платформасына жөнөтүлүшү мүмкүн. Демейки боюнча, программа ар бир символдун байты он алтылыкка коддолгон төмөнкү маалымат сабын өткөрөт:

TXXXHXXXSXXXXRX

Бул жерде Т температурадан кийин, H артынан нымдуулук, S кийин каныккандык деңгээли жана R акыркы иштөө интервалында кандай иш -аракет кылганына байланыштуу бир сан келет. Бул 0-5 болушу мүмкүн, бул жерде ар бир сан билдирет:

0: Программа башталып жатат1: Температура сенсорунун бузулушу2: Температура иштетүү үчүн өтө төмөн болчу3: Топурактын нымдуулугу өтө кургак, ошондуктан крандын таймери иштетилген4: Топурактын нымдуулугу жакшы, ошондуктан крандын таймери иштетилген эмес5: Сугат контроллери өчүрүлгөн

Thingsboardдун көчүрмөсүн өз жабдууларыңызга орнотуунун бир нече жолу бар же бул жерде ThingsBoard орнотуубузда акысыз эсеп орното аласыз.

Thingsboardдо түзмөгүңүздү орнотуңуз

Thingsboardго "Irrigation Controller" деп аталган жаңы түзмөк кошуу үчүн бул көрсөтмөлөрдү аткарыңыз.

Телеметрия маалыматтарын түзмөктөн басыңыз

MQTT, HTTP же CoAp аркылуу телеметр маалыматын Thingboardго түртүү ыкмасын орнотуу үчүн бул көрсөтмөлөрдү аткарыңыз.

Биздин серверде, биз төмөнкү JSONду https://thingsboard.meansofproduction.tech/api/v1/… түзмөк иштетилгенде (жандуу маалыматтар менен) ар төрт саат сайын түртүп жатабыз:

Ошондой эле, биз төмөнкү атрибуттарды https://thingsboard.meansofproduction.tech/api/v1/… дарегине мезгил -мезгили менен түйүндүн акыркы жолу качан көрүлгөндүгү жөнүндө маалымат берип турабыз:

Бул түзмөк маалыматтарды берүүнү токтотсо, иштей турган эскертүүлөр үчүн колдонулат.

Куралдар тактасын түзүү

Бул жерде сүрөттөлгөндөй тактаны түзүңүз. Биздин виджеттерге төмөнкүлөр кирет:

LastRunResult телеметрия талаасынан түзүлгөн жөнөкөй карта виджети. Температура телеметрия талаасы үчүн вертикалдуу санариптик көрсөткүч Бул дайындарды кайра иштетүү функциясын колдонот:

кайтаруу 1024-мааниси;

Жана минималдуу жана максималдуу маанини 0-100 коёт. Бул жол менен каныктыруу деңгээли пайыз катары көрсөтүлүшү мүмкүн. Нымдуулуктун маанисин көрсөтүүгө багыттоо. Бул бизге төрт сааттык чуркоо иш -чарасы үчүн бир тилкени берет. Маалыматты иштетүүдөн кийинки функция суунун иштешине жараша 0 же 120 деп билдирүү үчүн колдонулат. Бул бактын сүрөтүн көрсөтүүчү статикалык HTML картасы.

Электрондук почта эскертмелери

Биз эрежелерди сугат контроллери үчүн электрондук почта эскертмелерин орнотуу үчүн колдондук. Баары билдирүү чыпкаларын жана Почта жөнөтүү аракетинин плагин аракетин колдонушат.

Эгерде ирригациялык контролер дайындарды жөнөтө албаса, электрондук почта эскертүүсүн жөнөтүү үчүн, биз "Аппарат атрибуттары чыпкасын" төмөнкү фильтр менен колдондук:

typeof cs.secondsSinceLastSeen! == 'undefined' && cs.secondsSinceLastSeen> 21600

Эгерде топурак өтө кургак болуп калса, электрондук кат жөнөтүү үчүн төмөнкү Телеметриялык чыпканы колдонуңуз

каныктыруунун түрү! = "undefined" && saturation> 1010

Эгерде топурак өтө нымдуу болуп калса, электрондук почтаны жөнөтүү үчүн төмөнкү Телеметриялык чыпканы колдонуңуз

typeof saturation! = "undefined" && saturation

Сунушталууда: