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

MQTT дээрх алсын удирдлага ба гэрэл тандалт: 8 алхам
MQTT дээрх алсын удирдлага ба гэрэл тандалт: 8 алхам

Видео: MQTT дээрх алсын удирдлага ба гэрэл тандалт: 8 алхам

Видео: MQTT дээрх алсын удирдлага ба гэрэл тандалт: 8 алхам
Видео: Architecture Kata #1 - Разбор с экспертом [Как работает настоящий Solution Architect] #ityoutubersru 2024, May
Anonim
MQTT -ийн алсын удирдлага ба гэрэл тандалт
MQTT -ийн алсын удирдлага ба гэрэл тандалт

Сайн уу.

Өнөөдөр би гаражийн хаалга, гэрэлтүүлэг, халаалт, даралтын хяналт, температур болон бусад олон параметрүүдийг хянах алсын удирдлага, хяналтын системийг хэрхэн яаж хийх талаар ярихыг хүсч байна. Гэхдээ энэ системийн гол онцлог нь алслагдсан объектоос гэрэл зургийг алсаас хүлээн авах боломжтой юм. Түүхийг эхлүүлэхийн өмнө богино хэмжээний оршил. Нэгэнт би Arduino-д тохирох Arduino M0-SD самбар, VC0706 камер, 3G/GPRS/GSM/GPS бамбай ашиглан гэрэл тандалтын систем хийхийг хүсч байсан. Arduino M0 -SD нийцтэй самбарыг програмчлахад маш хялбар нөхцлөөс сонгосон (Arduino UNO шиг), ажлын хүчдэл 3.3V - энэ нь VC0706 камертай ажиллахад маш тохиромжтой, их хэмжээний ROM юм. болон RAM, UART -ийн хэд хэдэн порт, USB -ийн тусдаа виртуал порт боловч гол давуу тал нь самбар дээр шууд бичил SD холбогч байдаг (Зураг гэх мэт их хэмжээний өгөгдлийг хадгалахад маш тохиромжтой байдаг).

Arduino-д зориулсан 3G/GPRS/GSM/GPS бамбай нь нийцтэй Arduino M0-SD хавтанг ашиглахад маш тохиромжтой. Интернет дээр хэд хэдэн номын сан байдаг бөгөөд энэ бамбайтай ажиллах олон жишээ байдаг. Мэдээлэл дамжуулах хурд (3G) нь ердийн GPRS бамбайтай харьцуулахад хамаагүй өндөр байдаг (ялангуяа зураг дамжуулахад тохиромжтой). GPS модуль байгаа нь нэмэлт давуу тал болно.

Би интернетээр мэдээлэл (зураг) дамжуулахын тулд үүрэн холбооны оператороос хямд тарифыг сонгосон. Гэхдээ асуулт гарч ирэв: өгөгдлийг хэрхэн дамжуулах вэ? MMS? FTP? Өгөгдөл хүлээн авсан тухай мэдэгдлийг хэрхэн авах вэ (зураг)? Үүний үр дүнд би гар утсан дээр суулгасан програмаар дамжуулан имэйл рүү мэдээлэл (зураг) илгээх, захидал үзэх шийдвэрт хүрсэн. Энэ нь маш тохиромжтой болсон!:-) Дууссан төслийг энэ линкээс үзэх боломжтой.

Arduino UNO -д зориулсан ижил төстэй төсөл бас байдаг.

Дараа нь би төхөөрөмжийнхөө үйл ажиллагааг өргөжүүлэхээр шийдсэн. Жишээлбэл, LED -ийг удирдах чадварыг нэмээрэй (хэдийгээр бодит байдал дээр боломжууд илүү өргөн байдаг). Үүний тулд имэйл илгээх нь тийм ч тохиромжтой биш юм. SMS сонголт нь үнэтэй бөгөөд эвгүй байдаг. Тэгээд би MQTT -ийн талаар олж мэдсэн. Би түүний юу болохыг тайлбарлахгүй. Би зүгээр л хэлье: Энэ бол үнэхээр гайхалтай зүйл!:-) MQTT-ийн тусламжтайгаар та зөвхөн мессеж төдийгүй хоёртын файл (зураг) солилцох боломжтой. Утасны програм дээр та өөрийн интерфэйсийг хялбархан үүсгэж болно.

Би 3G/GPRS/GSM/GPS бамбайгаа (SIM5320) MQTT протоколыг хэрэгжүүлэх жишээг хайж байсан боловч харамсалтай нь надад хэрэгтэй хэрэгжилтийг олсонгүй. Гэхдээ энэ нь намайг ганцааранг минь орхисонгүй. Би шаардлагатай функцийг бие даан хэрэгжүүлэхээр шийдсэн. Үүний үр дүнд би гар утсан дээр суулгасан програмаас MQTT -ээр хянагддаг (гурван LED -ээр харуулсан) төхөөрөмжийг бүтээж, утсан дээрх тушаалыг ашиглан утсандаа зураг илгээж чадсан юм. (Би танд MQTT брокероор дамжуулан зураг илгээх жишээг өмнө нь харж байгаагүй бөгөөд үүнийг анх удаа хийж байсан нууцыг хэлье. Тэгээд анхны зургийг шилжүүлж чадсандаа би үнэхээр их баяртай байсан!:-)) Тэгээд Тиймээс би эхний алхам руу шууд орохыг санал болгож байна - шаардлагатай бүрэлдэхүүн хэсгүүдийн жагсаалт.

Алхам 1: Бүрэлдэхүүн хэсгүүдийн жагсаалт

Бүрэлдэхүүн хэсгүүдийн жагсаалт
Бүрэлдэхүүн хэсгүүдийн жагсаалт
Бүрэлдэхүүн хэсгүүдийн жагсаалт
Бүрэлдэхүүн хэсгүүдийн жагсаалт
Бүрэлдэхүүн хэсгүүдийн жагсаалт
Бүрэлдэхүүн хэсгүүдийн жагсаалт
Бүрэлдэхүүн хэсгүүдийн жагсаалт
Бүрэлдэхүүн хэсгүүдийн жагсаалт

Бидэнд дараах бүрэлдэхүүн хэсгүүд хэрэгтэй болно.

1) Arduino M0-SD-тэй нийцтэй.

2) TTL камер VC0706.

3) Arduino -д зориулсан 3G/GPRS/GSM/GPS бамбай.

4) Улаан, ногоон, шар өнгийн LED, 3 резистор (100-500 Ом), утас, зүү өнцгийн холбогч 2.54 мм давирхайтай.

5) AC-DC цахилгаан адаптер (6V 1A), 3G антен гэх мэт.

Алхам 2: Камер бэлтгэх

Камер бэлтгэх
Камер бэлтгэх
Камер бэлтгэх
Камер бэлтгэх
Камер бэлтгэх
Камер бэлтгэх

Камер нь PC-тэй шууд холбогдох RS-232 гаралттай. MAX232 (RS-232 хөрвүүлэгч) -ийг салгаж, холбогдох зүү 7-10 (TX), 8-9 (RX) хоорондох контакт дэвсгэрийг хаах шаардлагатай.

Камертай хамт ирсэн зургаан утастай кабелийг бага зэрэг өөрчлөх шаардлагатай байна.

  • Холбогчоос хоёр утсыг салга.
  • Улаан (+ 5V) ба хар (GND) утсыг зураг дээр үзүүлсэн шиг дахин байрлуул.

Утасны нүцгэн үзүүр дээр "эмэгтэй" гэх мэт гагнасан зөвлөмжүүд байх ёстой.

Алхам 3: Тохиромжтой Arduino M0-SD-ийг бэлтгэх

Тохиромжтой Arduino M0-SD-ийг бэлтгэх
Тохиромжтой Arduino M0-SD-ийг бэлтгэх
Тохиромжтой Arduino M0-SD бэлтгэх
Тохиромжтой Arduino M0-SD бэлтгэх
Тохиромжтой Arduino M0-SD-ийг бэлтгэх
Тохиромжтой Arduino M0-SD-ийг бэлтгэх

Өмнө дурьдсанчлан, нийцтэй Arduino M0-SD бол анхны Arduino M0-тэй нийцсэн техник хангамж, програм хангамж боловч санах ойн картыг холбох зориулалттай microSD холбогчтой.

Камерыг самбар дээрх нийцтэй Arduino M0-SD-т холбохын тулд зураг дээр үзүүлсэн шиг өнцгийн холбогчийг TXD, RXD (X6 холбогч) терминалуудад гагнах шаардлагатай. Энэ порт нь "Цуваа" -тай таарч байна.

Камераас авсан цагаан (Camera RX) ба шар (Camera TX) утсыг зурагт үзүүлсэн шиг TXD ба RXD (холбогч X6) терминалуудад тус тусад нь холбох ёстой.

Алхам 4: 3G/GPRS/GSM/GPS Shield SIM5320 бэлтгэх

3G/GPRS/GSM/GPS бамбай SIM5320 бэлтгэх
3G/GPRS/GSM/GPS бамбай SIM5320 бэлтгэх
3G/GPRS/GSM/GPS бамбай SIM5320 бэлтгэх
3G/GPRS/GSM/GPS бамбай SIM5320 бэлтгэх
3G/GPRS/GSM/GPS бамбай SIM5320 бэлтгэх
3G/GPRS/GSM/GPS бамбай SIM5320 бэлтгэх

SIM картыг үүрэнд суулгахаасаа өмнө ПИН кодын хүсэлтийг идэвхгүй болгох ёстой. Дараа нь SIM картыг зурагт үзүүлсэн шиг самбарын доод талын үүрэнд суулгаж, хоёр холбогчийг RX-1 (D1), TX-0 (D0) байрлалд суулгасан байх ёстой.

Алхам 5: Тоног төхөөрөмжийн угсралт

Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт

Тоног төхөөрөмжийн угсралт нь хэд хэдэн энгийн үйлдлүүдээс бүрдэнэ.

  • LED-ийг хянахын тулд эхлээд зураг дээр үзүүлсэн шиг LED болон гүйдэл хязгаарлах резистор (100-500 Ом) -ын жижиг загварыг гагнах хэрэгтэй. LED -ийн туйлшралд анхаарлаа хандуулаарай - анодыг резистор руу гагнах ёстой (+). LED -ийн шимэгч хорхойг багасгахын тулд би энгийн картоноор хар дэлгэц хийсэн.
  • Диаграммд үзүүлсэн шиг LED болон камерыг нийцтэй Arduino M0-SD самбартай холбоно уу. Камерын тэжээлийн хангамж (улаан утас "+ 5V" ба хар утас "GND") -ийг үүрээс "+ 5V" ба "GND" терминалаас авах ёстой. Үүний тулд та өнцгийн холбогч ашиглаж болно.
  • Үүний дараа 3G/GPRS/GSM/GPS бамбайг нийцтэй Arduino M0-SD самбартай холбоно уу. 3G антен холбохоо бүү мартаарай.

Алхам 6: MQTT брокерийг тохируулах

MQTT брокерийг тохируулах
MQTT брокерийг тохируулах
MQTT брокерийг тохируулах
MQTT брокерийг тохируулах
MQTT брокерийг тохируулах
MQTT брокерийг тохируулах

Би маш тохиромжтой, ойлгомжтой www.cloudmqtt.com -ийг MQTT брокероор сонгосон. Энэ нь үнэгүй тест хийх боломжийг олгодог. Мөн сайт дээр шууд мессеж хүлээн авах, илгээх боломжтой.

Тохируулах журам дараах байдалтай байна.

  1. Онлайнаар бүртгүүлэх.
  2. "Шинэ жишээ үүсгэх" товчийг дарна уу.
  3. Нэрийг тохируул, жишээлбэл "MqttCamera".
  4. "Бүс нутгийг сонгох" товчийг дарна уу. Жишээлбэл, "US-East-1 (Northern Virginia)" -ийг сонгоно уу.
  5. "Шалгах" товчийг дарна уу.
  6. "Данс үүсгэх" товчийг дарна уу. "Instance амжилттай бүтээгдсэн" мессежийг үзэх.
  7. "MqttCamera" дээр дарна уу.
  8. Мэдээллийг санаарай: Сервер, Хэрэглэгч, Нууц үг, Порт, API түлхүүр (Бидэнд 7, 8 -р алхамуудад хэрэгтэй болно).
  9. Дараа нь та "WEBSOCKET UI" цонх руу очиж, тест хийх, дибаг хийх, мессеж үзэх, илгээх боломжтой (Дараагийн алхамд бидэнд энэ цонх хэрэгтэй болно).

Алхам 7: MQTT Dash програм

MQTT Dash програм
MQTT Dash програм
MQTT Dash програм
MQTT Dash програм
MQTT Dash програм
MQTT Dash програм

Гар утсандаа хяналтын самбар үүсгэхийн тулд би хэрэглэгчдэд ээлтэй, ойлгомжтой MQTT Dash програмыг сонгосон.

MQTT Dash програмыг утсан дээрээ суулгаад дараах тохиргоог хийгээрэй.

  1. Аппликешныг нээнэ үү.
  2. MQTT зурвасын цонхонд (+) дээр дарж шинэ хяналтын самбар нэмнэ үү.
  3. Гарч ирэх цонхонд Нэр (жишээлбэл MqttCamera), Хаяг, Порт, Хэрэглэгчийн нэр, Хэрэглэгчийн нууц үг (6 -р алхамаас өгөгдлийг авах) гэх мэт шаардлагатай талбаруудыг бөглөнө үү.
  4. Талбаруудыг бөглөсний дараа дискний дүрс дээр дарна уу ("Хадгалах" үйлдэл).
  5. Хяналтын самбаруудын жагсаалттай цонхонд гарч ирсэн "MqttCamera" мөрийг дарна уу.
  6. Нээгдэж буй хяналтын самбарын цонхонд хэмжигдэхүүнийг ачаалахын тулд сумны дүрс дээр дарна уу.
  7. Дараа нь гарч ирэх цонхонд "SUBSCRIBE, METRIC ХҮЛЭЭХ" товчийг дарна уу.
  8. Хувийн компьютер дээр MQTT брокерт данс нээнэ үү (өмнөх алхамыг үзнэ үү), "WEBSOCKET UI" цонхыг нээгээд "Зурвас илгээх" цонхонд "хэмжигдэхүүн/солилцоо" сэдвийг тохируулаад текстийг "Зурвас" цонхонд хавсаргасан metrics.txt файлыг "Илгээх" товчийг дарна уу.
  9. 10 секунд хүлээгээд хэмжигдэхүүнийг утсан дээрээ хүлээн авч, хяналтын самбар шинэчлэгдсэн эсэхийг шалгаарай.

Дараа нь та нийцтэй Arduino M0-SD програмыг үргэлжлүүлж болно.

Алхам 8: Програмчлал ба ажил

Програмчлал ба ажил
Програмчлал ба ажил
Програмчлал ба ажил
Програмчлал ба ажил
Програмчлал ба ажил
Програмчлал ба ажил
Програмчлал ба ажил
Програмчлал ба ажил

Тохиромжтой Arduino M0-SD програмчлахаасаа өмнө доор дурдсан бүх шаардлагатай номын санг (pubsubclient-master, TinyGSM-master) компьютер дээр суулгах хэрэгтэй. Эдгээр номын санг нийцтэй Arduino M0-SD самбар, VC0706 камер, 3G/GPRS/GSM/GPS SIM5320 бамбайтай ажиллахаар бага зэрэг өөрчилсөн байна.

Та кабель болон тэжээлийн хангамжаа (3G/GPRS/GSM/GPS бамбайг тэжээх 6V 1А) нийцтэй Arduino M0-SD-т холбох хэрэгтэй.

Arduino IDE -ийг ажиллуулна уу. Arduino дээр IDE нь сонгох ёстой: Хэрэгслүүд-> Удирдах зөвлөл: Arduino M0 Pro (уугуул USB порт).

MqttCamera.ino тоймыг нээнэ үү. Талбаруудыг бөглөнө үү: Хэрэглэгчийн нэр, хэрэглэгчийн нууц үг, API түлхүүр, порт, сервер (6 -р алхамаас өгөгдлийг авна уу).

Serial Monitor цонхыг нээнэ үү.

Ноорог байршуулах. Би програмчлалын процедурыг нарийвчлан тайлбарлаагүй байна (Интернетэд хангалттай заавар байдаг).

Амжилттай ачаалж, зөв угсарсны дараа Цуваа мониторын цонхонд дараах мэдээлэл гарч ирнэ.

VC0706 Камер + Arduino M0 + SIM5320 + MQTT

Камерын эхлэл … хувилбар: ----------------- VC0703 1.00 Ctrl infr байдаг Хэрэглэгчийн тодорхойлсон мэдрэгч 525 ----------------- амжилт ! Модемийг эхлүүлж байна … Модем: AT+CGMM SIMCOM_SIM5320E Сүлжээ хүлээж байна … OK Интернетэд холбогдож байна OK 3.83.68.228 -д холбогдож чадахгүй байна 3.83.68.228 -д холбогдож байна OK Ping: 0

"Ping: XX" гэсэн мөр нь нийцтэй Arduino M0-SD-ээс сервер рүү илгээдэг үе үе мессеж юм. Энэ мэдээллийн оронд та ADC -ийн хэмжилт, оролтын төлөв гэх мэтийг илгээх боломжтой.

MQTT Dash програм дээр гэрлийн чийдэнгийн дүрс дээр дарна уу (LED_YELLOW, LED_GREEN, LED_RED) - асаах/унтраах. Цуваа мониторын цонхыг хараарай - иймэрхүү зүйлийн тухай мэдээлэл байх ёстой.

LED_YELLOW асаалттай байна

LED_YELLOW_Off LED_GREEN On LED_GREEN унтраасан LED_RED LED_RED унтраалттай

Камерын дүрс дээр дарна уу - "SHOOT" командыг илгээгээд хэсэг хүлээнэ үү. Цуваа дэлгэцийн цонхонд дараах мэдээлэл гарч ирэх ёстой.

Буудлага эхлүүлээрэй!

Зураг авсан! IMAGE332-j.webp

Хэсэг хугацааны дараа (5-10 секундын дараа) "ДҮРМИЙГ ХАРАХ" цонхонд зургийг харуулах ёстой.

Жагсаалын хувьд би VC0706 камерыг LED руу чиглүүлсэн бөгөөд ингэснээр би дур мэдэн сольсны дараа тэдний статусыг харж болно. Гэхдээ бодит хэрэглээнд та камерыг өрөө, хаалга, гудамж, хаалга, машин гэх мэт рүү чиглүүлэх боломжтой (Мэдээжийн хэрэг, та хуулийн шаардлагыг харгалзан үзэх ёстой). Жагсаал болгон би нэг LED -ийн суулгасан болон бодит байдлыг харуулсан гар утас.

Миний заавар танд сонирхолтой, хэрэгтэй байсан гэж найдаж байна. Таны санал хүсэлт, сэтгэгдэлд баяртай байх болно. Төхөөрөмжөө хөгжүүлж, шинэ шинэлэг зүйлийг та бүхэнтэй хуваалцахаар төлөвлөж байна. Үзсэнд баярлалаа!

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