Мазмұны:

Жасыл үйді автоматтандыру: 11 қадам
Жасыл үйді автоматтандыру: 11 қадам

Бейне: Жасыл үйді автоматтандыру: 11 қадам

Бейне: Жасыл үйді автоматтандыру: 11 қадам
Бейне: Басқа тышты деген осы 😡 2024, Шілде
Anonim
Жасыл үйді автоматтандыру
Жасыл үйді автоматтандыру

Жасыл үйді автоматтандыру - бұл жасыл үйдің үш параметрін, яғни топырақтың ылғалдылығын, температурасын және ылғалдылығын пайдаланушы веб -браузер арқылы қашықтықтан бақылайтын жоба.

1 -қадам: Қажетті компоненттер

Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер

Кейбір қажетті компоненттер төменде келтірілген

1. Таңқурай PI моделі В.

2. NodeMCU дамыту басқармасы

3. ESP8266 Wifi модулі

4. Ылғал сенсоры

5. DHT11 температура мен ылғалдылық сенсоры

6. 5В бір арналы реле

7. 5В су асты сорғы

8. Нан тақтасы

9. Нан тақтасын электрмен жабдықтау модулі

2 -қадам: Тіл және протокол

Тіл және хаттама
Тіл және хаттама
Тіл және хаттама
Тіл және хаттама
Тіл және хаттама
Тіл және хаттама
  • C тілі микро контроллерлер үшін қолданылады.
  • MQTT хабарламасы: MQTT MQ телеметриялық тасымалдауды білдіреді. Бұл шектеулі құрылғыларға және өткізу қабілеттілігі төмен, кешігетін немесе сенімсіз желілерге арналған жариялау/жазылу, өте қарапайым және жеңіл хабар алмасу хаттамасы. Дизайн принциптері желінің өткізу қабілеттілігін және құрылғы ресурстарының қажеттілігін барынша азайту, сонымен қатар сенімділік пен жеткізілімнің белгілі бір дәрежесін қамтамасыз етуге тырысады. Бұл қағидалар протоколды «құрылғыдан машинаға» (M2M) немесе қосылған заттар әлемінің «Интернет заттары» әлеміне және өткізу қабілеттілігі мен батарея қуаты жоғары болатын мобильді қосымшаларға идеалды етеді.
  • Python бағдарламасы су ағыны мен дерекқорға қосылуды автоматтандыру үшін қолданылады.

3 -қадам: Eclipse Mosquitto MQTT брокері

Eclipse Mosquitto MQTT брокері
Eclipse Mosquitto MQTT брокері

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

Eclipse Mosquitto - бұл MQTT протоколының 5.0, 3.1.1 және 3.1 нұсқаларын іске асыратын ашық көзі (EPL/EDL лицензияланған) хабарламалар брокері. Mosquitto жеңіл және қуаты төмен бір тақталы компьютерлерден толық серверлерге дейінгі барлық құрылғыларда қолдануға жарамды.

MQTT хаттамасы жариялау/жазылу үлгісін қолдану арқылы хабар алмасудың жеңіл әдісін ұсынады. Бұл оны заттардың Интернеті арқылы хабар алмасу үшін қолайлы етеді, мысалы, қуаты төмен сенсорлармен немесе ұялы телефондар, ендірілген компьютерлер немесе микроконтроллерлермен.

Mosquitto жобасы сонымен қатар MQTT клиенттерін енгізуге арналған C кітапханасын және MQTT клиенттерінің mosquitto_pub және mosquitto_sub командалық жолын ұсынады.

4 -қадам: Тұтас жобадағы мәліметтер ағыны

Жоғарыдағы суретте түйіндер көрсетілген

  1. NodeMCU
  2. Таңқурай PI
  3. ESP8266

NodeMCU - бұл Жасыл үйдің сезімтал бөлігі, ал ESP8266 - сенсорларға сәйкес жер суға мұқтаж болған кезде сумен қамтамасыз ететін бөлік.

Raspberry PI құрамында Mosquitto Broker мен Python клиенті бар, ол MQTT брокерінен келетін хабарларға жазылады және деректерді SQL серверінде сақтайды.

5 -қадам: сенсорларды NodeMCU көмегімен қосу

Сенсорлардың NodeMCU көмегімен қосылуы
Сенсорлардың NodeMCU көмегімен қосылуы

DHT11 температура мен ылғалдылық сенсоры мен су ылғалдылығы сенсоры 3,3 вольтта жұмыс істей алады.

NodeMCU 3,3 вольттан артық бере алмайды. Сенсорлар NodeMCU микроконтроллер тақтасына тікелей қосыла алады.

6 -қадам: ESP8266 көмегімен су асты сорғысын қосу

Су асты сорғысының ESP8266 көмегімен қосылуы
Су асты сорғысының ESP8266 көмегімен қосылуы
Су асты сорғысының ESP8266 көмегімен қосылуы
Су асты сорғысының ESP8266 көмегімен қосылуы

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

Су сорғысының жұмыс істеуі үшін 5 вольтты қуат көзі қажет.

Қозғалтқышты қосу үшін бір арналы реле қажет. ESP8266 GPIO2 түйреуіші іске қосылған кезде реле қосылады және суды сорғы арқылы автоматты түрде береді.

Мұнда ESP8266 тақтасына, реле мен суасты сорғысына сыртқы қуат көзі беріледі.

Менің толық аппараттық байланыс жоғарыдағы суретте.

7 -қадам: Raspberry Pi -де москит брокерін орнату және Python бағдарламасын іске қосу

Raspberry PI жүйесінде Mosquitto брокерін орнатуға арналған қадамдар

Терминалды ашып, келесі пәрмендерді теріңіз

sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa

sudo apt-get жаңартуы

sudo apt-get mosquitto орнатыңыз

sudo apt-get москит-клиенттерді орнатыңыз

Ол масаларды автоматты түрде іске қосуы керек.

Маған қажет қызметті тоқтату және бастау үшін

sudo қызметі масаларды тоқтатады

sudo қызметі масаларды бастайды

Көптеген сайттар мен форматты қолданатын жерді таптым.

sudo /etc/init.d/mosquitto stop

8 -қадам: MQTT қалай жұмыс істейді?

MQTT қалай жұмыс істейді?
MQTT қалай жұмыс істейді?

MQTT - бұл IoT жобаларында жиі қолданылатын хаттамалардың бірі. Бұл Message Queuing Telemetry Transport дегенді білдіреді.

Сонымен қатар, ол клиенттер мен сервер арасында деректер алмасу үшін жариялау/жазылу операцияларын қолданатын жеңіл хабар алмасу хаттамасы ретінде жасалған. Сонымен қатар, оның шағын өлшемі, қуатты аз тұтынуы, деректер пакетінің азаюы және іске асырудың қарапайымдылығы хаттаманы «машинадан машинаға» немесе «заттар интернеті» әлемінің идеалына айналдырады.

Кез келген басқа интернет протоколы сияқты MQTT клиенттер мен серверге негізделген. Дәл осылай, сервер - бұл бір -бірінің арасында деректерді қабылдау немесе жіберу туралы клиенттің сұраныстарын өңдеуге жауап беретін адам. MQTT сервері делдал деп аталады, ал клиенттер - тек қосылған құрылғылар.

* Егер құрылғы (клиент) брокерге деректерді жібергісі келсе, біз бұл операцияны «жариялау» деп атаймыз.

* Егер құрылғы (клиент) брокерден деректерді алғысы келсе, біз бұл операцияны «жазылу» деп атаймыз.

9 -қадам: NodeMCU мен ESP8266 бағдарламалау

Төменде NodeMCU және ESP8266 микроконтроллер тақтасының бастапқы коды берілген

10 -қадам: Веб -бетті жобалау және SQL мәліметтер базасына қосылу

Web -бет HTML, CSS және PHP тілінің көмегімен жасалған.

PHP сенсордың көрсеткіштерін мәліметтер базасынан шығарып, оны HTML бетінде көрсету үшін қолданылады.

Бұл жобаның жүрегі ретінде питон бағдарламасы қолданылады.

Python бағдарламасында орындалатын жұмыстар келесідей.

  1. Ол сенсор сенсордың көрсеткіштерін жіберетін тақырыпқа жазылады.
  2. Ол MQTT брокеріне су сорғысын қосу/өшіру пәрменін жариялайды.
  3. Ол сенсордың оқуын SQL дерекқорында сақтайды.

Бұл жерде менің жағдайда python бағдарламасы мен SQL мәліметтер базасы ноутбукте болады. Жергілікті хост арқылы жұмыс істейтін веб -бет.

Төменде менің python бағдарламасының бастапқы коды берілген.

11 -қадам: жұмысты аяқтаңыз

Толық жұмыс
Толық жұмыс

Төменде процесс жалғасатын қадамдар берілген.

  1. NodeMCU сенсорлық бөлік ретінде жұмыс істейді және температураны, ылғалдылықты және топырақтың ылғалдылық деңгейін оқиды.
  2. Ол оқуларды MQTT брокеріне «1 тақырып» тақырыбымен жібереді.
  3. Ноутбукте python бағдарламасы жұмыс істейді және ол MQTT брокерімен «1 -тақырып» тақырыбына жазылады.
  4. NodeMCU оқуды жіберген кезде, Mosquitto MQTT брокері дереу деректерді python бағдарламасына жібереді.
  5. Содан кейін Python бағдарламасы Жасыл үйде судың бар -жоғын есептейді. Содан кейін ол оқуды SQL мәліметтер базасында сақтайды.
  6. Егер жасыл үйге су қажет болса, онда питон бағдарламасы Mosquitto MQTT брокеріне «2 -тақырып» тақырыбымен су сорғысын қосу/өшіру туралы хабарламаны жариялайды.
  7. ESP8266 жетегі ретінде жұмыс істейді. Ол питон бағдарламасы хабарламаны жариялайтын «2 -тақырып» тақырыбына жазылады. Python бағдарламасы кез келген хабарды жариялаған кезде, хабар бірден ESP8266 -ға жіберіледі. Қосу/өшіру хабарламасына сәйкес, ол су асты сорғыны қосады/өшіреді.
  8. Веб -бетте тікелей көрсеткіштерді көрсетудің соңғы кезеңі. Веб -бет деректерді python бағдарламасы сақтайтын SQL мәліметтер қорынан алады және беттегі көрсеткіштерді көрсетеді.

Ұсынылған: