Мазмуну:
- 1 -кадам: компоненттери талап кылынат
- 2 -кадам: Тил жана протокол
- 3 -кадам: Eclipse Mosquitto MQTT брокери
- 4 -кадам: Бүтүндөй Долбоордо Маалыматтардын Агымы
- 5 -кадам: NodeMCU менен сенсорлордун туташуусу
- 6 -кадам: ESP8266 менен чөгүүчү суу насосунун туташуусу
- 7 -кадам: Raspberry Piде Mosquitto Broker & Running Python программасын орнотуу
- 8 -кадам: MQTT кантип иштейт?
- 9 -кадам: NodeMCU жана ESP8266 программалоо
- 10 -кадам: Веб баракты долбоорлоо жана SQL маалымат базасына туташуу
- 11 -кадам: Толук иштөө
Video: Жашыл үйдү автоматташтыруу: 11 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Жашыл үйдү автоматташтыруу - бул жашыл үйдүн үч параметрин, башкача айтканда, Топурактын Нымдуулугун, Температурасын жана Нымдуулугун колдонуучу веб -браузер аркылуу алыстан көзөмөлдөп турган долбоор.
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 брокери
Бул жерде мен 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 -кадам: Бүтүндөй Долбоордо Маалыматтардын Агымы
Жогорудагы сүрөттө түйүндөр бар
- NodeMCU
- Raspberry PI
- ESP8266
NodeMCU - Жашыл үйдүн сезгич бөлүгү жана ESP8266 - бул жерди сенсорлорго ылайык сууга муктаж болгондо суу менен камсыз кылуучу бөлүк.
Raspberry PI Mosquitto Broker жана Python кардарын камтыйт, ал MQTT Brokerден келген билдирүүлөрдү жазат жана маалыматтарды SQL серверине сактайт.
5 -кадам: NodeMCU менен сенсорлордун туташуусу
DHT11 температура жана нымдуулук сенсору жана суу ным сенсору 3.3 вольтто иштей алат.
NodeMCU 3,3 вольттон ашык камсыздай албайт. Ошентип, сенсорлор NodeMCU микроконтроллер тактасы менен түз байланышта болот.
6 -кадам: 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 - IoT долбоорлорунда эң көп колдонулган протоколдордун бири. Бул Message Queuing Telemetry Transport дегенди билдирет.
Мындан тышкары, ал кардарлар менен сервердин ортосунда маалымат алмашуу үчүн жарыялоо/жазылуу операцияларын колдонгон жеңил билдирүү протоколу катары иштелип чыккан. Мындан тышкары, анын кичинекей өлчөмү, кубаттуулуктун аз колдонулушу, маалымат пакеттеринин минималдаштырылышы жана ишке ашыруунун оңойлугу протоколду "машинадан машинага" же "нерселердин Интернети" дүйнөсүнө идеалдуу кылат.
Башка интернет протоколдору сыяктуу эле, MQTT кардарларга жана серверге негизделген. Ошо сыяктуу эле, сервер - бул кардарлардын бири -биринин ортосунда маалыматтарды алуу же жөнөтүү боюнча суроо -талаптарын чечүү үчүн жооптуу адам.
* Түзмөк (кардар) брокерге маалыматтарды жөнөткүсү келгенде, биз бул операцияны "жарыялоо" деп атайбыз.
* Түзмөк (кардар) брокерден маалыматтарды алгысы келгенде, биз бул операцияны "жазылуу" деп атайбыз.
9 -кадам: NodeMCU жана ESP8266 программалоо
Төмөндө NodeMCU жана ESP8266 микроконтроллер тактасынын баштапкы коду келтирилген
10 -кадам: Веб баракты долбоорлоо жана SQL маалымат базасына туташуу
Web баракчасы HTML, CSS жана PHP тили менен иштелип чыккан.
PHP маалымат базасынан сенсордун окуусун чыгарып, HTML баракчасына көрсөтүү үчүн колдонулат.
Бул долбоордун жүрөгү катары питон программасы колдонулат.
Python программасы аткарган иштер төмөнкүдөй.
- Бул сенсор сенсордун окуусун жөнөтүүчү темага жазылат.
- Бул суу насосун күйгүзүү/өчүрүү буйругун MQTT брокерине жарыялайт.
- Бул сенсордун окуусун SQL маалымат базасына сактайт.
Бул жерде менин учурда python программасы жана SQL маалымат базасы ноутбукта бар. Жергиликтүү Хост аркылуу иштеген веб баракча.
Төмөндө менин python программанын баштапкы коду келтирилген.
11 -кадам: Толук иштөө
Төмөндө процесстин улана турган кадамдары келтирилген.
- NodeMCU сезгич бөлүгү катары иштейт жана Температураны, Нымдуулукту жана кыртыштын нымдуулук деңгээлин окуйт.
- Ал окууларды MQTT брокерине "Тема 1" темасы менен жөнөтөт.
- Ноутбукта python программасы иштеп жатат жана ал MQTT брокери менен "Тема 1" темасына жазылат.
- NodeMCU окууларды жөнөткөндө, Mosquitto MQTT Broker дароо маалыматтарды python программасына жөнөтөт.
- Python программасы андан кийин Жашыл үйдө суунун бар же жок экенин эсептейт. Андан кийин ал окууларды SQL маалымат базасына сактайт.
- Эгерде Жашыл үйгө суу керек болсо, анда питон программасы "2 -тема" темасы менен Mosquitto MQTT брокерине суу насосун күйгүзүү/өчүрүү билдирүүсүн жарыялайт.
- ESP8266 аткаруучу болуп иштейт. Бул питон программасы билдирүүнү кайсы темада жарыялап жаткан "Тема 2" деген темага жазылат. Python программасы кандайдыр бир билдирүүнү жарыялаганда, билдирүү дароо ESP8266га которулат. Күйгүзүү/өчүрүү билдирүүсүнө ылайык, ал суу астындагы насосту күйгүзүп/өчүргөн.
- Акыркы этап веб баракчасында жандуу окууларды көрсөтүү. Веб баракча маалыматтарды SQL базасынан алат, анда python программасы маалыматтарды сактайт жана беттеги окууларды көрсөтөт.
Сунушталууда:
$ 5 Үйдү автоматташтыруу баскычы: 4 кадам
$ 5 Үйдү автоматташтыруу баскычы: 5 долларлык үйдү автоматташтыруу баскычы Кээде эң жөнөкөй чечим - бул бир баскыч. Биз үйдөгү автоматташтыруу борборунда (Hubitat Elevation) "уктоо убактысын" баштоонун оңой жолун кааладык, ал көпчүлүк жарыкты өчүрөт, башкаларды белгилүү бир деңгээлге коёт жана
Үйдү автоматташтыруу: 5 кадам
Үйдү автоматташтыруу: бул долбоордо биз бардык нерселер үчүн видеолордун IoT интернет процессин түшүнүү үчүн көп нерселерди нөлдөн баштап курабыз
NodeMCU Touch Sensor LDR температурасын көзөмөлдөө релеси менен үйдү автоматташтыруу: 16 кадам
NodeMCU сенсордук LDR температурасын көзөмөлдөө релеси менен үйдү автоматташтыруу: Менин мурунку NodeMCU долбоорлорумда мен Blynk тиркемесинен эки тиричилик техникасын башкардым. Мен долбоорду кол менен башкаруу жана башка функцияларды кошуу үчүн көптөгөн комментарийлерди жана билдирүүлөрдү алдым, ошондуктан мен бул Smart Home Extension Boxту иштеп чыктым
Кийинки Баштапкы Үйдү Автоматташтыруу Eagle Cad (Part 1 - PCB): 14 кадам
Eagle Cad колдонулган кийинки Gen Genom Automation (Part 1 - PCB): Киришүү: Эмнеге мен анын кийинки мууну деп айтам: анткени ал салттуу үй автоматташтыруу түзмөктөрүнө караганда жакшыраак кээ бир компоненттерди колдонот. Ал приборлорду көзөмөлдөй алат: Google Voice Commands Түзмөктү башкаруу панелинен колдонмодон
Жашыруун дубалга орнотулган үйдү автоматташтыруу планшети: 6 кадам
Жашыруун дубалга орнотулган үйдү автоматташтыруу планшети: Бул көрсөтмө openHAB планшетине кантип орнотууну карап чыгат (https://www.openhab.org/), анда планшет каалаган убакта алынып салынат, ал жерде заряддалбайт. планшет болбогондон кийин, кабелди толугу менен кадимкидей кылып калтырыңыз