
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51


Салам достор
Бул көрсөтмө интернетте орнотулган сугат насосун кантип алыстан көзөмөлдөө жана көзөмөлдөө жөнүндө.
Окуя: Менин фермамда мен жергиликтүү тармактан күнүнө болжол менен 6 саат электр энергиясын алам. Убакыттар туруктуу эмес, электр энергиясы эртең менен же кечинде же түн ортосунда болушу мүмкүн. Электр энергиясынын жеткиликтүүлүгүн текшерүү үчүн, кудуктун жайгашкан жерине барган сайын, моторду иштетүү же токтотуу абдан оор процесс болчу. Мындан тышкары, тамчылатуу системасына жетиштүү суу жеткирүү үчүн мотордун күнүнө жок дегенде 2-3 саат иштешин камсыздоого туура келди. Бир топ убакыттан бери мен моторду алыстан иштетүү менен бул маселени чечүү жолдорун изилдеп, статусун билгем. Базарда жеткиликтүү түзүлүштөр бар, алар моторду электр менен камсыз кылаар замат иштете башташат, бирок алар каалаган убакта моторду токтотуу мүмкүнчүлүгүнө ээ эмес. Ошондой эле, мотордун күйгүзүү/өчүрүү абалын билүүнүн эч кандай жолу жок. Бул адатта ашыкча сугатка алып келет, кыртыштын түшүмдүүлүгүнүн жоголушуна жана электр энергиясынын текке кетишине алып келет. Акырында мен өзүм чечтим, анда моторду алыстан мобилдик/планшеттен/компьютерден каалаган убакта баштайм жана токтото алам … !!. Ошондой эле, мен дайыма курдун электр менен камсыздалышын, ошондой эле мотордун абалын (ON/OFF) көзөмөлдөй алам. Бул өлкө тараптагы фермерлерге сугат тутумун башкарууга жардам берет деп үмүттөнөм.
Жабдуулар
Алдын ала шарттар:
Бул түзмөктү орноткуңуз келген жердин интернети болушу керек (wifi/мобилдик интернет менен кең тилкелүү)
Сиз керек:
- NodeMCU /ESP12
- Эки канал релеси
- WCS1700 - Учурдагы сенсор
- TP4056 батареяны заряддоо модулу
- LD313, Capacitor - 1000uF Реестр - 5k Ом эки реестр
- Hotspot /интернети бар каалаган (Эски) Смартфон.
Бул кантип иштейт:
NodeMCU/ESP12 жана алыскы MQTT брокерин колдонуп, IOTтун жөнөкөй булут негизделген чечими. NodeMCU IOT шлюзу катары иштейт, ошондой эле DOL стартерин көзөмөлдөйт. Бул интернет аркылуу алыскы MQTT брокерине туташат. Android мобилдик системасында иштеген колдонмо брокерге туташат, анын жардамы менен биз сугат насосубузду көзөмөлдөп, башкара алабыз. Мен Adafruit IOнун бекер жеткиликтүү MQTT брокерин колдондум. Чиркей, cloudmqtt ж. NodeMCU мобилдик түйүндөн WiFi аркылуу интернетке туташат. Yon эски же арзан баада мобилдик телефонду колдонуп, Wi -Fi аркылуу туташуу түйүнүн же Wi -Fi аркылуу интернетти камсыз кылуунун башка каражаттарын колдоно алат. Мобилдик заряддагычка туташтырылышы керек, анткени ал 24X7де болушу керек.
NodeMCU мотордун башталышын жана ишин токтотууну көзөмөлдөө үчүн эки реле менен туташтырылган. Мотордогу токту сезүү үчүн мен WCS1700 ток сенсорун колдондум. Сенсордон чыккан аналогдук чыгаруу мотор ON же OFF экенин билүү үчүн колдонулат. Ал ошондой эле тармактын кубаттуулугун сезет жана брокерге жарыялайт, ошондо биз каалаган убакта тордун статусун биле алабыз. Моторду күйгүзүү жана моторду өчүрүү өтүнүчүн алуу үчүн түзмөк эки түрмөккө жазылат. Бул түрмөктөргө конкреттүү баалуулуктарды жөнөтүү менен биз моторду БАШТООГО же ТОКТОТУУГА башкара алабыз.
Акыры мен MQTT Dash тиркемесин андроид телефонума орнотуп, аны MQTT брокерине туташуу жана анын панелиндеги/гуидагы каналдарды колдонуу үчүн конфигурацияладым. Колдонмодо жагымдуу тактаны түзүү үчүн баскычтар, ченегичтер, которгучтар жана башкалар менен абдан жакшы сүрөтчөлөр бар. Бирок сиз mqtt протоколун колдогон IOT үй автоматташтыруу мобилдик тиркемесин колдоно аласыз.
WCS1700 кантип иштейт:
WCS1700 негизинен Холл эффекти сенсору болуп саналат, ал магнит талаасына пропорциялуу чыгыш чыңалуусун чыгарат, ал токтун катмары аркылуу агат. Бул жердеги катушка моторго туташтырыла турган электр менен камсыздоо линиясы. Бул 70 амперге чейин AC токту өлчөй алат. Иштөө чыңалуусу 3.3төн 12 Вге чейин. Көбүрөөк маалымат алуу үчүн анын маалымат барагына кайрылыңыз. Мен ESP12ди колдонуп жатканымда, WCS1700 үчүн иштөө чыңалуусу катары 3.3V электр энергиясын колдондум. 3.3 В маалымат баракчасында көрсөтүлгөндөй, аппарат катушка аркылуу токтун бир ампине болжол менен 32-38 мВ дифференциалдуу чыңалуу жаратышы керек. Бирок ал катушка өлчөмүнө / аба боштугуна жана түзмөктөгү өзгөрүүлөргө жараша өзгөрүшү мүмкүн. Ошондуктан мен аны Ampere Meter менен текшерүү аркылуу калибрлешим керек болчу. Мен түзмөктүн тактыгына кубанычтамын, бирок анын күйгүзүү/өчүрүү абалында Мотордун статусун чечүү үчүн жетиштүү. WCS1700 чыгаруу пини ESP12деги A0 менен туташат. Эч кандай ток болбогондо, ESP12 556. тегерегиндеги маанини окушу керек. Катушканын учурдагы өсүшү кабелдин сенсор аркылуу кантип өткөнүнө негизделген чыңалуунун эки тарабын тең алат. Коддо мен маанилердин айырмасын абсолюттук мааниси катары кабыл алдым (x - 556). Жыйынтыгын 15ке бөлүү менен сенсор аркылуу агып өткөн болжолдуу токту алдым. Сизге туура номерди алуу үчүн муну эксперимент кылышыңыз керек болот. Түзмөктүн 5 Амперден жогору болгон бардык өлчөөлөрүн мен мотор КҮЙҮК деп эсептейм жана мотор ӨЧҮК болгондо 5 Амперден төмөн. Эксперимент жүргүзүү менен түзмөгүңүзгө туура номерди колдонсоңуз болот. Сиз ошого жараша коддогу WCS1700_CONST жана MIN_CURRENT өзгөртүшүңүз керек.
1 -кадам: Аппаратты куруу


Жогорудагы диаграмма бардык компоненттерди зым менен жабуу боюнча толук маалымат берет.
Электр энергиясы менен камсыздоо: Мен TP4056 батарейкаларын кубаттоо үчүн жана LM313 менен 3.7V - 4.2V батареянын кубаттуулугун 3.3 В чейин NodeMCU жөнгө салуу үчүн колдондум. 3.3V туруктуу камсыздоо үчүн LM313 менен Виндин ортосунда 1000мФ конденсатор колдонулган. Сиз TP4056 кубаттоо үчүн кадимки USB мобилдик заряддагычын колдоно аласыз. Батареяны ашыкча кубаттоодон коргоо үчүн батареяны коргоо схемасы бар.
Электр энергиясы менен камсыздоо сезгичтиги: 5k Ом чыңалуу бөлүштүргүч 5 Вдон 2,5 В чейин төмөндөтөт. NodeMCU Pin D5 чыңалууну сезет.
WCS1700 чыгаруу пини аналогдук чыңалууну сенсордон окуу үчүн A0го туташкан. Электр тармагы токту өлчөө үчүн тешиктен өтүшү керек. Мен 0.01 uF конденсаторун колдонуп, WCS1700 туруктуу окуу формасын алам.
NodeMCUнун D1 жана D2 реле киргизүү казыктарынын IN0 жана IN1 туташуусу керек.
2 -кадам: DOL Starter Connections


Мен START жана STOP которгучтун дагы бир топтомун киргизүү үчүн DOL стартеринин башкаруу схемасын өзгөрттүм. Бул өзгөртүү кол менен баштоо/токтотуу ишине таасир этпейт жана алар мурдагыдай эле иштей беришет.
Абайлаңыз !!!! DOL стартери жогорку чыңалуудагы түзмөк болгондуктан, кутучаны ачардан мурун негизги которгучтун өчүрүлүшүн камсыз кылыңыз. Түз зым менен түз байланыш коркунучтуу болушу мүмкүн. Эгер ишенбесеңиз, байланыштарды түзүү үчүн электриктен жардам сураңыз
Мен 2 канал 5 В релелик модулду START жана STOP которгуч катары колдондум. Бул реле ESP12 тарабынан көзөмөлдөнөт.
Реле - 0 БАШТОО которгуч катары иштейт - NO катары зымдуу (Адатта Ачык).
Реле -1 STOP которгуч катары иштейт - NC катары зымдуу (Адатта жабык). Стартерде жогорку контактордон NVCге туташкан зым болот. Сиз аны алып салып, көрсөтүлгөндөй реле -1 зымдарына алмаштырышыңыз керек болот.
Стартер менен Реле модулдарынын ортосундагы байланыштар коопсуздук үчүн толугу менен изоляцияланганын текшериңиз. START/STOP баскычын басууну тууроо үчүн ESPти эки релени 2 секунд кармап турууга программаладым.
3 -кадам: Adafruit IO менен эсеп түзүү (io.adafruit.com)
Мен Adafruit io mqtt брокерин колдондум, аны бир нече чектөөлөр менен бекер колдонсо болот, бирок ал биздин колдонуубузга ылайыктуу. Мен муну артык көрөм, анткени мен аны башка долбоорлордо да колдонгом жана ишенимдүү деп таптым, ошондой эле панели сыяктуу көптөгөн башка функциялары бар, жакшы интерфейси бар жана биз триггерлерди колдоно алабыз. Adafruit io колдонуу үчүн сиз каттоо эсебин түзүп, Колдонуучунун атын жана Активдүү ачкычты белгилешиңиз керек.
4 -кадам: Программаны куруу жана орнотуу
Толук код эскизде бар. Сиз муну Arduino IDEде ачып, программаны түзүүдөн жана жүктөөдөн мурун бир аз өзгөртүүлөрдү киргизишиңиз керек. NodeMCU 1.0 катары тактанын түрүн тандаңыз. IDE жана тиешелүү китепканаларды орнотуу бул документтердин алкагына кирбейт.
Төмөнкү коддорду эгин катары өзгөртүү.
#define WLAN_SSID "xxx" // Сиздин мобилдик Hotspot WiFi SSID
#аныктоо WLAN_PASS "……" //
/************************* Adafruit.io орнотуусу ******************** *************/
#аныктоо AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT 1883 // SSL үчүн 8883 колдонуңуз
#deifine AIO_USERNAME "xyz" // Сиздин adafruit каттоо эсебиңиздин колдонуучу аты
#аныктоо AIO_KEY "abcd ……" // активдүү ачкычыңыз…
MQTT каналдары жөнүндө: Түзмөк жана кардар (мобилдик колдонмо) MQTT брокери аркылуу пабдын суб моделин колдонуп, билдирүүлөр аркылуу маалымат алмашат. Кабарды алуу үчүн каалаган кардар же түзмөк алдын ала аныкталган түрмөккө жазылуусу керек жана каналга билдирүү жөнөтүү үчүн жарыялоо ыкмасын колдонушу керек. Биздин долбоор үчүн бизге 5ке жакын канал керек. Төмөндө коддо жана алардын иштөө тартибинде көрүнүп тургандай, ар бир түрмөктүн түшүндүрмөсү келтирилген.
Тордун статусу: Тордон энергия менен камсыздоонун болушу /feeds/grid. Adafruit_MQTT_Publish grid_stat = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/grid") басылмасында жарыяланган;
0 электр энергиясы менен камсыздоонун жоктугун жана 1 менен камсыз кылуу бар экенин көрсөтөт.
Мотор абалы: Түзмөк мотордун абалын түрмөктө жарыялайт…/feeds/grid.
Adafruit_MQTT_Publish motor_status = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/feeds/motor")
OFF үчүн 0 жана ON үчүн 1 мааниси
Motor ON баскычы: Бул түрмөк моторду баштоо өтүнүчүн алуу үчүн колдонулат. Түзмөк = 1 мааниси менен моторду баштоо өтүнүчүн алуу үчүн түрмөккө жазылат жана ырастоо билдирүүсүн 0 деп жарыялоо үчүн ошол эле түрмөктү колдонот. Ошентип, биз баштоо сурамынын билдирүүсү түзмөк тарабынан кабыл алынганын ырастай алабыз.
Adafruit_MQTT_Subscribe motoronbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_on");
Моторду өчүрүү баскычы:
Start сурамына окшош бул түрмөк моторду токтотуу өтүнүчүн алуу үчүн колдонулат. Түзмөк = 1 мааниси бар токтотуу өтүнүчүн алуу үчүн түрмөккө жазылат жана ырастоо билдирүүсүн 0 катары жарыялоо үчүн ошол эле түрмөктү колдонот.
Adafruit_MQTT_Subscribe motoroffbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/feeds/motor_off");
Туташуу:
Бул "акыркы каалоо" опциясы иштетилген атайын түрмөк. Түзмөк ар бир белгиленген интервалда жакшы иштеп жатканда, колдонуучуга баары жакшы экенин айтыш үчүн, байланыш = 1 жарыяланат. Эгерде система иштебей калса же байланыш үзүлсө, анда аппарат брокер менен байланыша албайт. Мындай учурларда MQTT брокеринин өзү колдонуучуга бир нерсе туура эмес кеткенин жана түзмөк интернет аркылуу жеткиликсиз экенин билдирүү үчүн, түрмөккө байланыш = 0 катары жарыялайт. Биз физикалык түрдө барып, аппаратты текшеришибиз керек. Код абдан жөнөкөй. "Last Will" кантип иштээри жөнүндө көбүрөөк маалымат алуу үчүн MQTT документтерине кайрылыңыз.
эгер (itr <= 0)
{
mqtt.publish (AIO_USERNAME "/feeds/connection", "1", 1);
itr = CON_LIVE_ITR;
}
Калган коддор түшүнүктүү жана эч кандай өзгөртүү талап кылынбайт. Көбүрөөк маалымат керек болсо комментарий жазыңыз.
5 -кадам: Уюлдук телефонуңузга MQTT Dash APP орнотуп, конфигурациялаңыз



- Android телефонуңузга MQTT Dash орнотуп, колдонмону ачыңыз
- Түзмөктү кошуу үчүн жогорку оң бурчтагы + сөлөкөтүн басыңыз.
- Биринчи сүрөттө көрсөтүлгөндөй, түзмөгүңүзгө "MyFarm-IPSet" деп ат коюңуз. Дарек талаасы io.adafruit.com жана 1883 катары порт, колдонуучунун аты сиздин adafruit колдонуучу атыңыз болушу керек жана сырсөзүңүз adafruitтен активдүү ачкычыңыз болушу керек. Калган талааларды ошол бойдон калтырыңыз. Акырында сактоо дегенди басыңыз.
- Сиз түзмөгүңүздү түздүңүз. Эми ага тактаны кошуу үчүн чыкылдатыңыз.
- + Дегенди басыңыз жана которуштуруу/баскыч катары түрдү тандаңыз. Жогоруда көрсөтүлгөндөй, аталыш талаасына sys киргизиңиз. жана тема талаасына түрмөктүн атын киргизиңиз. ар бир түрмөк колдонуучунун аты менен башталууга тийиш/лента/. бул үчүн биз /каналдарды /байланышты. Жарыялоону иштетүү өчүрүлгөнүн текшериңиз. Көрсөтүү үчүн сөлөкөттү чыкылдатуу менен сиз панелдеги сөлөкөттүн түрүн тандай аласыз. 1 мааниси үчүн түстөрдүн бирин тандаңыз (жашыл дейли) жана 0 мааниси үчүн боз же кызыл түстү тандаңыз. Акыр -аягы, жогорку оң бурчта сактоо дегенди басыңыз. Ошо сыяктуу эле, Grid үчүн дагы эки сүрөтчөнү түзүңүз, колдонуучу аты/лента/сетка менен тема жана Мотор менен колдонуучу/лента/мотор. Жарыялоону иштетүү өчүрүлгөнүн текшериңиз.
- Акырында Моторду иштетүү баскычын түзүңүз. Бул дагы которуу/баскычтын түрү менен бирдей. Тема /feeds /motor_on болушу керек жана бул жолу Жарыялоону иштетүүнү камсыз кылуу жана QOS = 1. Моторду өчүрүү үчүн дагы бир баскычты түзүңүз. Тема /ücretli /motor_off болушу керек.
6-кадам: Акыркы кадам:-) Testing and Finetuning
- Коопсуз болуу үчүн, релелерди DOL стартерине туташтыруудан мурун, аппаратты СТАРТ жана ТОКТОТ операциялары үчүн биринчи текшерүүңүз керек. Интернет иштетилгенде мобилдик телефондо Hotspotту иштетүү. Өнүгүү чөйрөсү бар ноутбукту NodeMCU USB портуна түз эле TP4056га туташкан башка заряддагыч менен туташтырыңыз. Эгерде түзмөк интернетке ийгиликтүү туташкан болсо, смартфондо туташуу чекитине туташкан 1 түзмөктү көрүшүңүз керек.
- MQTT Dash орнотулган башка смартфондо колдонмонун тактасын ачыңыз. Сиз NET сөлөкөтү жашыл жана Grid сөлөкөтү жашыл түстө экенин көрүшүңүз керек. 1 катары.
- Мотор ON баскычын басканыңызда, старт релеси эки секунддук аралыкта эки чыкылдатуу үнүн чыгарышы керек. Моторду өчүрүү баскычы да ошондой.
- Коопсуздук үчүн азыр DOL стартеринин негизги берүүсүн өчүрүп, релелерди DOL стартерине жогоруда көрсөтүлгөндөй кадам-2 менен туташтырыңыз. Мотор өчүрүлгөнүн текшериңиз. NodeMCUдагы баштапкы абалга келтирүү баскычын басыңыз. Сериялык монитордун чыгарылышынан сиз WC1700 сенсорунун, дельтанын жана катуштагы эсептелген токтун маанилерин басып чыгарган мүчүлүштүктөрдү көрө аласыз. Мотор өчүк абалда жана "#define WCS1700_CONST 15" менен maxCur ырааттуу түрдө 2ден аз болушу керек. Эгерде ал 2ден чоң болсо, WCS1700_CONST жогорку баалуулуктары менен аракет кылыңыз. Ар бир жолу кодду кайра компиляциялоого жана программаны жүктөөгө туура келет.
- Эми моторду күйгүзүңүз жана учурдагы көрсөткүчтөрдү кайра издеңиз. Моторду болжол менен 10-15 мүнөткө күйгүзүңүз жана туруктуу токтун көрсөткүчүн жазыңыз. Ток болжол менен 10-20 амперге чейин өзгөрүшү мүмкүн жана так болушу керек эмес.
- Кайра кодго кайтыңыз жана "#define MIN_CURRENT X. Бул жерде X сандык мааниге жакындатылган максималдуу токтун 40 пайызын түзөт. Менин учурда мен MIN_CURRENTти 5ке койдум. Камтылган программаны NodeMCUге кайра жүктөңүз.
- USB кабелин NodeMCUдан алып салыңыз. ӨЧҮРҮҢҮЗ жана TP4056га туташкан USB кубаттагычы бар түзмөктү күйгүзүңүз. Мобилдик тиркемедеги Мотор ON баскычын басуу моторду иштетиши керек. Мотор күйгүзүлгөндөн кийин, колдонмонун тактасында ON деп чагылдырылышы керек. Токтотуу баскычын басуу моторду токтотушу керек.
Ырахат !!!!
Сунушталууда:
[Кийилүүчү чычкан] Windows 10 жана Linux үчүн Bluetooth негизделген кийилүүчү чычкан контролери: 5 кадам
![[Кийилүүчү чычкан] Windows 10 жана Linux үчүн Bluetooth негизделген кийилүүчү чычкан контролери: 5 кадам [Кийилүүчү чычкан] Windows 10 жана Linux үчүн Bluetooth негизделген кийилүүчү чычкан контролери: 5 кадам](https://i.howwhatproduce.com/images/006/image-17131-j.webp)
[Кийиле турган чычкан] Windows 10 жана Linux үчүн Bluetooth негизделген кийилүүчү чычкан контролери: Мен чычкандын көрсөткүчүн көзөмөлдөө жана PC-чычканга байланышкан операцияларды эч кандай бетке тийбестен аткаруу үчүн колдонула турган Bluetooth негизиндеги чычкан контроллерин жасадым. Мээлейге камтылган электрондук схема, h көз салуу үчүн колдонулушу мүмкүн
Алыстан сугат системасын иштетүү жана көзөмөлдөө үчүн микроконтроллерлерди колдонуу: 4 кадам

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

Arduino негизделген сугат системасы: Контексуализации Бразилия планетанын жана жердин сугат планетасы 65%, экстра жана организма боюнча уюштуруу иштерин жүргүзүү үчүн айыл чарба (FAA) жана Айыл чарба (FAA). Мүмкүнчүлүктөрү бар
NodeMCU ESP8266 колдонуп IOT негизделген суу деңгээлинин контролери: 6 кадам

NodeMCU ESP8266 колдонуп IOT негизделген суу деңгээлинин контролери: Бул IOTго негизделген суу деңгээлинин контролерун кантип түзүү керектиги боюнча көрсөтмө. Бул долбоордун өзгөчөлүктөрү:- Android колдонмосунда реалдуу убакытта суу деңгээлинин жаңыртылышы Суу минималдуу деңгээлден төмөн болгондо суу насосун автоматтык түрдө күйгүзүү. Ау
DIY нымга негизделген акылдуу сугат: 10 кадам (сүрөттөр менен)

DIY Нымга негизделген Smart Irrigation: Биз билебиз, өсүмдүктөр ээриген кантты жана башка азык заттарды өсүмдүк аркылуу ташуу менен азык заттар үчүн транспорт каражаты катары сууну талап кылат. Суу болбосо өсүмдүктөр куурап калат. Бирок, ашыкча сугаруу топурактагы тешикчелерди толтуруп