Мазмұны:

DIY - автоматтандырылған бақша суландыру - (Arduino / IOT): 9 қадам (суреттермен)
DIY - автоматтандырылған бақша суландыру - (Arduino / IOT): 9 қадам (суреттермен)

Бейне: DIY - автоматтандырылған бақша суландыру - (Arduino / IOT): 9 қадам (суреттермен)

Бейне: DIY - автоматтандырылған бақша суландыру - (Arduino / IOT): 9 қадам (суреттермен)
Бейне: $ 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 электрондық цифрлық түрту таймері)
  • Кран қысымын төмендететін 300 кпа
  • Ардуино Уно
  • Лора Ардуино Қалқан
  • Lora шлюзі (егер сізде Things Network жергілікті шлюзі болса қажет емес)
  • DHT11 температуралық ылғалдылық сенсоры
  • 5в реле
  • Телефон кабелі
  • Кабель байланыстары
  • Автомобильді гофрленген құбырлар
  • Автомобильдік терминалдың қосқыш жолақтары
  • 2x мырышталған шегелер
  • 1x резистор
  • Кремний / кальций
  • ПВХ цементі
  • ПВХ праймері
  • ПВХ құбыры ені 32 мм ұзындығы 60 мм
  • ПВХ құбыры ені 90 мм ұзындығы 30 см
  • 3x ПВХ итергіш қақпақтары 90 мм
  • 1x ПВХ бұрандалы ұшының қақпағы 90 мм
  • 1x ПВХ бұрандалы кірістіру қондырғысы 90 мм
  • ПВХ итергіш қақпақтары 32 мм
  • 1х 3,2В қуат көзі (кран таймері) [батареялар, айнымалы токтың көп вольтты адаптері]
  • 1x 6-12В қуат көзі (arduino) [батареялар, USB, USB айнымалы ток адаптері]
  • жіпке арналған таспа
  • электр таспасы

1 -қадам: Бақшаға суаруды орнатыңыз

Бақшаға суаруды орнатыңыз
Бақшаға суаруды орнатыңыз
Бақшаға суаруды орнатыңыз
Бақшаға суаруды орнатыңыз

Поли құбырдың орналасуы, ағынды ағындар, тамшылау желілері мен тамшылар. Суару реттегіші кез келген суару қондырғысымен жұмыс істейді. Негізінде ол топырақ ылғалдылығын өлшейді және топырақ тым құрғақ болған кезде шүмек таймерін қосады. Контроллерді қанықтылықтың төменгі нүктесін орнату үшін калибрлеуге болады, шүмек таймері қанша уақыт қосылуы керек және контроллер қанықтығын қаншалықты жиі тексеруі керек.

Бұл параметрлерді arduino -да өзгертуге және EPROM жадында сақтауға болады. IOT интеграциясы арқылы параметрлерді де жаңартуға болады. Бұл жоба әр төрт сағат сайын контроллерді іске қосады және топырақ тым құрғақ болса, шүмекті 3 минутқа қосады. Егер ол құрғақ/ыстық болса немесе күніне бір немесе екі рет болса, ол бірнеше рет қатарынан жұмыс істей алады.

2 -қадам: Түрту таймерін салыңыз

Fit Tap Timer
Fit Tap Timer

Суару қондырғысы үшін ең қолайлы жұмыс жиілігін және жұмыс уақытын анықтау үшін кран таймерін орнатыңыз және реттелетін тергіштермен тәжірибе жасаңыз. Біз таймерді алып тастап, оны Arduino -мен жұмыс істейтін етіп өзгертеміз.

3 -қадам: Arduino Build

Arduino құрастыру
Arduino құрастыру
Arduino құрастыру
Arduino құрастыру
Arduino құрастыру
Arduino құрастыру
Arduino құрастыру
Arduino құрастыру

Құрылымға арналған нұсқаулық ретінде электр схемасын қолданыңыз. Фотосуреттерде телефондық кабель сымдары және түйісу нүктелері үшін бұрандалы қысқыш жолақтар қолданылған. Кейбір дәнекерлеу қажет.

Таймерді өзгерту түймесін түртіңіз

Таймерді абайлап бөліп алыңыз. Біз қолмен терудің орнына arduino арқылы басқарылатын екі реттелетін тергішті қосамыз. Оң жақ теруді қосу/өшіру позициясына ауыстырып қосуға болатындай, сол жақ жиілікті қалпына келтіру қалпына қатты қосылады. Оң жақ циферблатта суретте көрсетілгендей орталық оң жақ контактіден және сыртқы оң контактіден келетін бір сым болады. Әдепкі бойынша таймер өшірулі күйде болады. Егер екі сым түйіссе, таймер қосылады. Екі сым 5В релеге қосылған кезде, ардуино екі сым арасындағы контактіні жабады/ашады. Бір сым жалпы реле терминалында, ал екіншісі әдетте жабық терминалда, біз arduino өшірілгенде таймердің өшірілуін қамтамасыз етеміз. Реле түйреуішін ЖОҒАРЫ күйге қою таймерді қосады; LOW режиміне қою таймерді өшіреді.

Топырақ зонды

Бұл жоба үшін екі шегелер бұрандалы терминалдарға қосылған сымға дәнекерленген. Бір тырнақтың терминалы тікелей жерге түседі. Екіншісі ардуинодағы аналогты кіріске және резисторға қосылады. Резистор arduinos 5v сигналына қосылады. Сығу диаграммасында көрсетілген.

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

DHT11 Temp/Dumidity 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 -та код бар

Тәуелділіктер:

  • Уақытша әрекет
  • Радио бастығы

Бұл мысалда Dragino Lora қалқаны және дәл Лораның ілеспе үлгісі қолданылды, ол тікелей Dragino Lora шлюзіне қосылады.

Мұны Things Network пайдалану үшін «BEGIN: lora vars» бөліміндегі кодты алып тастау және бағдарламаны келесі Dragino мысалына өзгерту арқылы өзгерту немесе басқа радио/wifi қалқандарымен жұмыс істеуге бейімдеу арқылы бейімдеуге болады.

Берілген код DHT11_PIN цифрлық түйреуіш 4, RELAY_PIN цифрлық түйреуіш 3 және топырақ ылғалдылығының аналогтық түйіні 0 аналогты кіріс екенін болжайды.

Отладка айнымалысын шын мәніне орнатуға болады, осылайша сериялық отладтау хабарлары baudrate 9600 бойынша тіркелуі мүмкін.

5 -қадам: қоршауды құрастыру

Қоршау құрылысы
Қоршау құрылысы

ПВХ құбырын кран таймері мен Arduino негізіне сәйкес кесіңіз. Шүмек таймерінің шүмегіне және шлангқа арналған бұрғылау тесіктері. Құбырға көлікті өткізуге жеткілікті кең тесіктер бұрғылаңыз, құбырдың ұзындығы 10 см болатын тесіктерге сырғытыңыз және сымдарды ардуино мен таймерден ажыратыңыз. Бұл мыналарды қамтуы керек:

Arduino -дан

  • Arduino USB портынан қуат сымдары және/немесе USB кабелі.
  • Топырақ ылғалдылығы кабельдері (VCC, GND, A0)
  • NC және Common Relay терминалынан екі сым

Түрту таймерінен

  • Электрмен жабдықтау кабельдері
  • Оң жақ теру контактілерінен екі сым

6 -қадам: Желімдеу алдында контроллерді тексеріңіз

Желімдеу алдында тест -контроллер
Желімдеу алдында тест -контроллер
Желімдеу алдында тест -контроллер
Желімдеу алдында тест -контроллер

Барлығын жаппас бұрын бәрі жұмыс істейтініне көз жеткізіңіз.

Жоғарыдағы фотосуреттерде топырақтың ылғалдылығын өлшейтін зауыт кастрюльге салынған және шүмегінің таймері алкогольсіз сусын бөтелкесінен келетін сумен жабдықталған, қараңғыда орнатудың үлгісі көрсетілген.

Кран таймеріне бір тамшылатқыш бекітілген.

Бұл қондырғы зауыттың үстінде немесе су астында болмағанын тексерудің жақсы әдісі болды.

Бұл мысал контроллерді калибрлеу үшін қажет болғанша жұмыс істей алады.

7 -қадам: желім / су өткізбейтін қоршаулар

Желім / су өткізбейтін қоршаулар
Желім / су өткізбейтін қоршаулар

ПВХ праймері мен ПВХ цементін қолданып, қақпақтарды және муфталарды бекітіңіз.

Автокөлік құбыры мен таймер фитингтеріндегі бос жерлерді толтыру үшін тығыздағыш/кремнийді қолданыңыз.

Мұнда қол жетімділік үшін arduino корпусында бұрандалы ұштық қақпақ қолданылады.

8 -қадам: Орнату

Орнату
Орнату
Орнату
Орнату
Орнату
Орнату

Ашық күнде орнатыңыз. Компоненттер мен сымдар тығыздалмас бұрын құрғақ күйде қалуы керек.

Контроллерді бақша шүмегі мен топырақ зондының орналасатын жерінің ортасына орналастырыңыз.

Кран таймерін орнатыңыз және орнату аяқталғанша оның қуаттан ажыратылғанына көз жеткізіңіз.

Топырақ зондын салыңыз.

Әр компонентке жолақ терминалдарын бекітіңіз, содан кейін әр компоненттің бұрандалы терминалдарынан телефон кабелін салыңыз, кабельдің автоматты өткізгішпен жабылғанына көз жеткізіңіз. Бәрін біріктіру

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

Бөлінген құбырдың бос/ашық жерлерін жіппен, содан кейін электрлік таспамен тығыздаңыз.

Таймерді 3.2 В қуат көзіне қосыңыз. Батарея жиынтығы немесе ток розеткасында жұмыс істейтін тұрақты токтың 3.2В айнымалы ток адаптері.

Arduino-ны 6-12 В тұрақты ток көзіне қосыңыз. Батарея жиынтығы немесе розеткаға қосылған USB / DC-AC адаптері.

Қуат және тест!

9 -қадам: ThingsBoard интеграциясы - мониторинг және есеп

ThingsBoard интеграциясы - мониторинг және есеп
ThingsBoard интеграциясы - мониторинг және есеп

Бұл мысалда Dragino Lora шлюзіне қосылған Dragino Lora Shield қолданылды. Бұл қондырғыны пайдалансаңыз да, басқа Lora қондырғысы немесе басқа IOT қосылымы суару контроллері жинаған деректерді Thingsboard сияқты IOT платформасына жіберуге болады. Әдепкі бойынша, бағдарлама әр таңбаның байты он алтылық кодталған келесі деректер жолын жібереді:

TXXXHXXXXXXXXRX

Т -дан кейін температура, H -ден кейін ылғалдылық, S -нен кейін қанықтылық деңгейі, ал R -дан кейін соңғы орындалу интервалында қандай әрекетті орындағанына қатысты бір сан болады. Бұл 0-5 болуы мүмкін, мұнда әр сан мынаны білдіреді:

0: Бағдарлама инициализациялануда1: Температура сенсорының ақаулығы2: Температура жұмыс істеуге тым төмен3: Топырақ ылғалдылығы тым құрғақ, сондықтан шүмек таймері белсендірілді4: Топырақ ылғалдылығы жақсы, сондықтан шүмек таймері қосылмады5: Суару реттегіші сөндірілді

Thingsboard көшірмесін жеке жабдыққа орнатудың бірнеше жолы бар немесе біздің ThingsBoard қондырмасында ақысыз есептік жазбаны орнатуға болады.

Thingsboard -да құрылғыны орнатыңыз

Thingsboard -да «Ирригациялық контроллер» деп аталатын жаңа құрылғы қосу үшін осы нұсқауларды орындаңыз.

Құрылғыдан телеметрия деректерін жіберіңіз

Құрылғыдан MQTT, HTTP немесе CoAp арқылы телеметриялық деректерді Thingboard -қа жіберу әдісін орнату үшін осы нұсқауларды орындаңыз.

Біздің серверде біз келесі JSON -ды құрылғы іске қосылған сайын әр төрт сағат сайын https://thingsboard.meansofproduction.tech/api/v1/… сілтемесіне жібереміз (тірі деректермен):

{«температура»: 13, «ылғалдылық»: 78, «белсенді»: шын, «қанықтылық»: 941, «lastRunResult»: «RUN_RESULT_NO_WATER»}

Сонымен қатар, біз келесі атрибуттарды https://thingsboard.meansofproduction.tech/api/v1/… сілтемесіне мезгіл -мезгіл енгізіп отырамыз, түйін соңғы рет қашан көрінгені туралы мәліметтермен:

{«lastSeen»: «2018-06-04 12:00:00», «secondsSinceLastSeen»: 1543}

Бұл құрылғы деректерді беруді тоқтатқан кезде басталатын ескертулер үшін қолданылады.

Бақылау тақтасын жасаңыз

Мұнда сипатталғандай бақылау тақтасын жасаңыз. Біздің виджеттерге мыналар кіреді:

LastRunResult телеметрия өрісінен жасалған қарапайым карта виджеті. Температуралық телеметрия өрісінің тік сандық көрсеткіші LastRunResult телеметрия өрісінен соңғы күндер мәліметтерін көрсететін Timeseries кестесі. Қанықтылық телеметрия өрісін көрсететін көлденең жолақ. Бұл деректерді өңдеуден кейінгі функцияны қолданады:

1024 мәнін қайтару;

Және минималды және максималды мәнді 0-100 құрайды. Осылайша, қанықтылық деңгейін пайызбен көрсетуге болады. Ылғалдылық мәнін көрсетуге арналған нұсқаулық. Температураны, ылғалдылықты және жұмыс нәтижесін қамтитын уақыттық сериялы диаграмма, соңғы аптаның 5 сағаттық кезеңіне топталған, максималды мәндерді көрсету үшін жинақталған.. Бұл бізге төрт сағаттық жүгіруге арналған бір жолақты береді. Деректерді өңдеуден кейінгі функция судың ағып тұрғанына немесе болмауына байланысты 0 немесе 120 түрінде нәтижені көрсету үшін қолданылады. Бұл бір апта ішінде судың қаншалықты жиі ағып жатқанын көру үшін қарапайым визуалды кері байланыс береді. Бақшаның суретін көрсететін статикалық HTML картасы.

Электрондық пошта ескертулері

Біз суару контроллеріне электрондық пошта ескертулерін орнату үшін ережелерді қолдандық. Барлығы хабар сүзгілерін және поштаны жіберу әрекеті плагин әрекетін қолданады.

Егер суару контроллері деректерді жібере алмаса, электрондық пошта ескертуін жіберу үшін біз келесі құрылғылармен «Құрылғы атрибуттары сүзгісін» қолдандық:

typeso cs.secondsSinceLastSeen! == 'undefined' && cs.sececondSinceLastSeen> 21600

Егер топырақ тым құрғақ болса, электрондық поштаны жіберу үшін келесі телеметриялық сүзгіні қолданыңыз

қанықтылық түрі! = «анықталмаған» && қанықтылық> 1010

Егер топырақ тым ылғалды болса, электрондық поштаны жіберу үшін келесі телеметриялық сүзгіні қолданыңыз

қанықтылық түрі! = «анықталмаған» && қанықтылық

Ұсынылған: