Агуулгын хүснэгт:

Ногоон байшингийн автоматжуулалт: 11 алхам
Ногоон байшингийн автоматжуулалт: 11 алхам

Видео: Ногоон байшингийн автоматжуулалт: 11 алхам

Видео: Ногоон байшингийн автоматжуулалт: 11 алхам
Видео: evgui tuuh😱 part.1 2024, Долдугаар сарын
Anonim
Ногоон байшингийн автоматжуулалт
Ногоон байшингийн автоматжуулалт

Ногоон байшингийн автоматжуулалт нь хүлэмжийн гурван параметр болох хөрсний чийгшил, температур, чийгшил зэргийг хэрэглэгч вэб хөтөч ашиглан алсаас хянадаг төсөл юм.

Алхам 1: Шаардлагатай бүрэлдэхүүн хэсгүүд

Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд

Шаардлагатай зарим чухал бүрэлдэхүүн хэсгүүдийг доор жагсаав

1. Raspberry 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 Broker -ийг ашигласан.

Eclipse Mosquitto бол MQTT протоколын 5.0, 3.1.1 ба 3.1 хувилбаруудыг хэрэгжүүлдэг нээлттэй эх сурвалжтай (EPL/EDL лицензтэй) мессеж зуучлагч юм. Шумуул нь хөнгөн жинтэй бөгөөд бага хүчин чадалтай ганц самбар бүхий компьютерээс бүрэн сервер хүртэлх бүх төхөөрөмжид ашиглахад тохиромжтой.

MQTT протокол нь нийтлэх/захиалах загвар ашиглан мессеж илгээх хөнгөн аргыг санал болгодог. Энэ нь бага хүч мэдрэгч эсвэл утас, суулгагдсан компьютер эсвэл микро хянагч гэх мэт хөдөлгөөнт төхөөрөмж гэх мэт зүйлсийн интернет мессежийг ашиглахад тохиромжтой болгодог.

Mosquitto төсөл нь MQTT үйлчлүүлэгчдийг хэрэгжүүлэх C номын сан, маш алдартай mosquitto_pub болон mosquitto_sub командын шугамын MQTT үйлчлүүлэгчдийг хангадаг.

Алхам 4: Бүх төсөл дэх мэдээллийн урсгал

Дээрх зураг дээр зангилаа байна

  1. NodeMCU
  2. Raspberry PI
  3. ESP8266

NodeMCU бол Ногоон байшингийн мэдрэх хэсэг бөгөөд ESP8266 нь мэдрэгчийн дагуу хөрсөнд ус хэрэгтэй үед усыг нийлүүлдэг хэсэг юм.

Raspberry PI нь MQTT брокероос ирсэн мессежийг захиалж, өгөгдлийг SQL серверт хадгалдаг Mosquitto Broker болон Python клиентийг агуулдаг.

Алхам 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: шумуул-dev/шумуул-ppa

sudo apt-get update

sudo apt-get шумуул суулгах

sudo apt-get шумуул үйлчлүүлэгчдийг суулгаарай

Энэ нь шумуулыг автоматаар эхлүүлэх ёстой.

Миний ашиглах шаардлагатай үйлчилгээг зогсоож эхлүүлэхийн тулд

sudo үйлчилгээ шумуулыг зогсоох

sudo үйлчилгээ шумуул эхэлнэ

Ихэнх сайтууд форматыг хаана ашиглаж байгааг олж мэдсэн.

sudo /etc/init.d/masquitto зогсоох

Алхам 8: MQTT хэрхэн ажилладаг вэ?

MQTT хэрхэн ажилладаг вэ?
MQTT хэрхэн ажилладаг вэ?

MQTT бол IoT төслүүдэд хамгийн их хэрэглэгддэг протоколуудын нэг юм. Энэ нь Message Queuing телеметрийн тээвэр гэсэн үг юм.

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

Бусад интернет протоколын нэгэн адил MQTT нь үйлчлүүлэгчид болон сервер дээр суурилдаг. Үүний нэгэн адил сервер бол үйлчлүүлэгчдийн хооронд өгөгдөл хүлээн авах, илгээх хүсэлтийг шийдвэрлэх үүрэгтэй хүн юм. MQTT серверийг брокер гэж нэрлэдэг бөгөөд үйлчлүүлэгчид нь зөвхөн холбогдсон төхөөрөмжүүд юм.

* Төхөөрөмж (үйлчлүүлэгч) брокер руу өгөгдөл илгээхийг хүсч байвал бид энэ ажиллагааг "нийтлэх" гэж нэрлэдэг.

* Төхөөрөмж (үйлчлүүлэгч) брокероос мэдээлэл авахыг хүсч байвал бид энэ үйлдлийг "захиалах" гэж нэрлэдэг.

Алхам 9: NodeMCU ба ESP8266 програмчлах

NodeMCU ба ESP8266 микроконтроллерын самбарын эх кодыг доор харуулав

Алхам 10: Вэб хуудас зохион бүтээх, SQL мэдээллийн санд холбогдох

Вэб хуудсыг HTML, CSS, PHP хэл ашиглан бүтээсэн болно.

PHP нь мэдрэгчийн заалтыг мэдээллийн баазаас гаргаж аваад HTML хуудсанд харуулахад ашиглагддаг.

Питон програмыг энэ төслийн зүрх болгон ашигладаг.

Питон програмын хийж буй ажлууд дараах байдалтай байна.

  1. Энэ нь мэдрэгч нь мэдрэгчийн заалтыг илгээдэг сэдвийг захиалдаг.
  2. Энэ нь усны насосыг асаах/унтраах тушаалыг MQTT брокерт нийтэлдэг.
  3. Энэ нь мэдрэгчийн уншилтыг SQL мэдээллийн санд хадгалдаг.

Энд миний хувьд python програм болон SQL мэдээллийн сан зөөврийн компьютер дээр байдаг. Орон нутгийн хостоор ажилладаг вэб хуудас.

Миний python програмын эх кодыг доор харуулав.

Алхам 11: Ажил дуусна

Бүрэн ажиллаж байна
Бүрэн ажиллаж байна

Процесс үргэлжилж буй алхамуудыг доор харуулав.

  1. NodeMCU нь мэдрэгч хэсэг болж ажилладаг бөгөөд температур, чийгшил, хөрсний чийгийн түвшинг уншдаг.
  2. Энэ нь уншлагыг "Сэдэв 1" сэдвээр MQTT брокер руу илгээдэг.
  3. Зөөврийн компьютер дээр python програм ажиллаж байгаа бөгөөд MQTT брокерын хамт "Сэдэв 1" сэдвийг захиалсан болно.
  4. NodeMCU уншилтыг илгээх үед Mosquitto MQTT Broker нь өгөгдлийг python програм руу шууд илгээдэг.
  5. Python програм нь дараа нь Ногоон байшинд ус хэрэгтэй эсэхийг тооцоолно. Дараа нь уншилтыг SQL мэдээллийн санд хадгалдаг.
  6. Хэрэв Ногоон байшинд ус хэрэгтэй бол питон хөтөлбөр нь Mosquitto MQTT брокерт "2 -р сэдэв" гэсэн сэдвээр усны насосыг асаах/унтраах тухай мессежийг нийтлэнэ.
  7. ESP8266 нь идэвхжүүлэгчээр ажилладаг. Энэ нь "Сэдэв 2" сэдвээр питон програмын мессежийг нийтлэх сэдвийг захиалдаг. Питон програм ямар нэгэн мессеж нийтлэх үед тэр даруй ESP8266 руу шилждэг. Асаах/унтраах зурвасын дагуу гүний усны насосыг асааж/унтраасан байна.
  8. Шууд уншилтыг вэб хуудсан дээр харуулах сүүлийн үе шат. Вэб хуудас нь python програм нь өгөгдлийг шууд хадгалдаг SQL мэдээллийн сангаас өгөгдлийг авч, хуудсан дээрх уншилтыг харуулдаг.

Зөвлөмж болгож буй: