Мазмуну:

Жашыл үйдү автоматташтыруу: 11 кадам
Жашыл үйдү автоматташтыруу: 11 кадам

Video: Жашыл үйдү автоматташтыруу: 11 кадам

Video: Жашыл үйдү автоматташтыруу: 11 кадам
Video: Ушундай да адамдар бар экен э, бир чети күлкүң келет... 2024, Ноябрь
Anonim
Green House Automation
Green House Automation

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

1 -кадам: компоненттери талап кылынат

Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер

Кээ бир керектүү компоненттер төмөндө келтирилген

1. Raspberry PI модели В.

2. NodeMCU өнүктүрүү кеңеши

3. ESP8266 Wifi модулу

4. Нымдуулук сенсору

5. DHT11 Температура жана нымдуулук сенсору

6. 5В бир каналдуу реле

7. 5V чөгүүчү суу насосу

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

9. Нан тактасынын электр менен камсыздоо модулу

2 -кадам: Тил жана протокол

Тил жана протокол
Тил жана протокол
Тил жана протокол
Тил жана протокол
Тил жана протокол
Тил жана протокол
  • C тили микро контроллерлер үчүн колдонулат.
  • MQTT Messaging: MQTT MQ Telemetry Transport дегенди билдирет. Бул чектелген түзмөктөргө жана өткөрүү жөндөмдүүлүгү төмөн, кечигүүчүлүккө же ишенимсиз тармактарга арналган жарыялоо/жазылуу, өтө жөнөкөй жана жеңил билдирүү протоколу. Дизайн принциптери - бул тармактын өткөрүү жөндөмдүүлүгүн жана түзмөктүн ресурстарына болгон талапты азайтуу, ошол эле учурда ишенимдүүлүктү жана жеткирүүнүн кандайдыр бир деңгээлде кепилдигин камсыз кылууга аракет кылуу. Бул принциптер протоколду туташкан түзмөктөрдүн "машинадан машинага" (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 китепканасын жана эң популярдуу mosquitto_pub жана mosquitto_sub буйрук сабы MQTT кардарларын камсыз кылат.

4 -кадам: Бүтүндөй Долбоордо Маалыматтардын Агымы

Жогорудагы сүрөттө түйүндөр бар

  1. NodeMCU
  2. Raspberry PI
  3. ESP8266

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

Raspberry PI Mosquitto Broker жана Python кардарын камтыйт, ал MQTT Brokerден келген билдирүүлөрдү жазат жана маалыматтарды 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де Mosquitto Broker & Running Python программасын орнотуу

Raspberry PIде Mosquitto брокерин орнотуу кадамдары төмөндө

Терминалды ачып, төмөнкү буйруктарды териңиз

sudo apt-add-repository ppa: чиркей-dev/mosquitto-ppa

sudo apt-get update

sudo apt-get чиркейди орнотуңуз

sudo apt-get чиркей-кардарларды орнотуңуз

Ал автоматтык түрдө чиркейлерди башташы керек.

Мен колдонуу керек болгон кызматты токтотуу жана баштоо үчүн

sudo кызматы чиркейди токтотот

sudo кызматы чиркейди баштайт

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

sudo /etc/init.d/mosquitto stop

8 -кадам: MQTT кантип иштейт?

MQTT кантип иштейт?
MQTT кантип иштейт?

MQTT - IoT долбоорлорунда эң көп колдонулган протоколдордун бири. Бул Message Queuing Telemetry Transport дегенди билдирет.

Мындан тышкары, ал кардарлар менен сервердин ортосунда маалымат алмашуу үчүн жарыялоо/жазылуу операцияларын колдонгон жеңил билдирүү протоколу катары иштелип чыккан. Мындан тышкары, анын кичинекей өлчөмү, кубаттуулуктун аз колдонулушу, маалымат пакеттеринин минималдаштырылышы жана ишке ашыруунун оңойлугу протоколду "машинадан машинага" же "нерселердин Интернети" дүйнөсүнө идеалдуу кылат.

Башка интернет протоколдору сыяктуу эле, 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 Broker дароо маалыматтарды python программасына жөнөтөт.
  5. Python программасы андан кийин Жашыл үйдө суунун бар же жок экенин эсептейт. Андан кийин ал окууларды SQL маалымат базасына сактайт.
  6. Эгерде Жашыл үйгө суу керек болсо, анда питон программасы "2 -тема" темасы менен Mosquitto MQTT брокерине суу насосун күйгүзүү/өчүрүү билдирүүсүн жарыялайт.
  7. ESP8266 аткаруучу болуп иштейт. Бул питон программасы билдирүүнү кайсы темада жарыялап жаткан "Тема 2" деген темага жазылат. Python программасы кандайдыр бир билдирүүнү жарыялаганда, билдирүү дароо ESP8266га которулат. Күйгүзүү/өчүрүү билдирүүсүнө ылайык, ал суу астындагы насосту күйгүзүп/өчүргөн.
  8. Акыркы этап веб баракчасында жандуу окууларды көрсөтүү. Веб баракча маалыматтарды SQL базасынан алат, анда python программасы маалыматтарды сактайт жана беттеги окууларды көрсөтөт.

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