Мазмұны:

MQTT бойынша қашықтан басқару және фотобақылау: 8 қадам
MQTT бойынша қашықтан басқару және фотобақылау: 8 қадам

Бейне: MQTT бойынша қашықтан басқару және фотобақылау: 8 қадам

Бейне: MQTT бойынша қашықтан басқару және фотобақылау: 8 қадам
Бейне: Ақылды үй Moes 4 түймелеріне арналған Zigbee қашықтан басқару құралы. Home Assistant 2024, Қараша
Anonim
MQTT арқылы қашықтан басқару және фотобақылау
MQTT арқылы қашықтан басқару және фотобақылау

Сәлеметсіз бе.

Бүгін мен, мысалы, гараж есіктерін, жарықтандыруды, жылытуды, қысымды бақылауды, температураны және басқа да көптеген параметрлерді басқаруға болатын қашықтан басқару мен бақылау жүйесін қалай жасау керектігін айтқым келеді. Бірақ бұл жүйенің басты ерекшелігі - қашықтағы объектіден фотоларды қашықтан алуға болады. Әңгімені бастамас бұрын қысқаша алғы сөз: Бір рет мен Arduino M0-SD үйлесімді тақтасын, VC0706 камерасын және 3G/GPRS/GSM/GPS қалқанын пайдаланып фото бақылау жүйесін жасағым келді. Arduino M0 -SD үйлесімді тақтасы бағдарламалау өте оңай болатын шарттардан таңдалды (Arduino UNO сияқты), жұмыс кернеуі 3,3В - бұл VC0706 камерасымен жұмыс істеу үшін өте ыңғайлы, үлкен көлемдегі ROM және жедел жады, UART портының бірнеше порты, USB -дің бөлек виртуалды порты, бірақ басты артықшылығы - тақтада micro SD қосқышының болуы (суреттер сияқты үлкен көлемдегі деректерді сақтау өте ыңғайлы).

Arduino үшін 3G/GPRS/GSM/GPS қалқаны үйлесімді Arduino M0-SD тақтасында қолдануға өте ыңғайлы. Интернетте бірнеше кітапханалар бар, сонымен қатар осы қалқанмен жұмыс істеудің көптеген мысалдары бар. Деректерді беру жылдамдығы (3G) әдеттегі GPRS қалқандарына қарағанда әлдеқайда жоғары (әсіресе суреттерді жіберуге ыңғайлы). GPS модулінің болуы - қосымша артықшылық.

Мен ұялы байланыс операторынан деректерді (фотоларды) Интернет арқылы тарату үшін арзан тарифті таңдадым. Бірақ сұрақ туды: деректерді қалай беру керек? MMS? FTP? Деректердің түсуі туралы хабарламаны қалай алуға болады (фото)? Нәтижесінде ұялы телефонға орнатылған қосымша арқылы электронды поштаға мәліметтерді (фотоларды) жіберу және хаттарды қарау туралы шешімге келдім. Бұл өте ыңғайлы болып шықты!:-) Дайын жобаны мына сілтемеден көруге болады.

Сілтеме бойынша Arduino UNO үшін ұқсас жоба бар.

Содан кейін мен құрылғының функционалдығын кеңейтуді шештім. Мысалы, жарықдиодты басқару мүмкіндігін қосыңыз (іс жүзінде мүмкіндіктер әлдеқайда кең). Бұл үшін электрондық пошта өте қолайлы емес. SMS опциясы қымбат және ыңғайсыз. Содан кейін мен MQTT туралы білдім. Мен оның кім екенін сипаттамаймын. Айтайын: бұл өте керемет нәрсе!:-) MQTT көмегімен тек хабарламалармен ғана емес, екілік файлдармен де (суреттермен) алмасуға болады. Телефон қосымшасында сіз өзіңіздің жеке интерфейсіңізді оңай жасай аласыз.

Мен 3G/GPRS/GSM/GPS қалқанына (SIM5320) MQTT протоколының орындалу мысалдарын іздедім, бірақ, өкінішке орай, маған қажет іске асыруды таппадым. Бірақ бұл мені жалғыз қалдырмады. Мен қажетті функционалдылықты дербес енгізуді шештім. Нәтижесінде мен ұялы телефонға орнатылған қосымшадан MQTT арқылы басқарылатын құрылғыны құрдым (үш жарықдиодты шаммен көрсетіледі), сонымен қатар телефоннан телефонға пәрмен бойынша жіберемін. (Мен сізге құпияны айтайын, бұрын MQTT брокері арқылы суреттерді жіберу мысалдарын көрмедім және оны бірінші рет жасадым. Ал мен бірінші суретті жіберген кезде мен өте бақытты болдым!:-)) Сондықтан мен бірінші қадамға - қажетті компоненттер тізіміне өтуді ұсынамын.

1 -қадам: Компоненттер тізімі

Компоненттер тізімі
Компоненттер тізімі
Компоненттер тізімі
Компоненттер тізімі
Компоненттер тізімі
Компоненттер тізімі
Компоненттер тізімі
Компоненттер тізімі

Бізге келесі компоненттер қажет:

1) Arduino M0-SD үйлесімді.

2) TCL камерасы VC0706.

3) Arduino үшін 3G/GPRS/GSM/GPS қалқаны.

4) Қызыл, жасыл, сары светодиодтар, 3 резистор (100-500 Ом), сымдар, 2,54 мм қадамы бар түйреуіш бұрышты қосқыш.

5) Айнымалы токтың тұрақты ток адаптері (6В 1А), 3G антеннасы және т.б.

2 -қадам: камераны дайындау

Камераны дайындау
Камераны дайындау
Камераны дайындау
Камераны дайындау
Камераны дайындау
Камераны дайындау

Камерада дербес компьютерге тікелей қосылу үшін RS-232 шығысы бар. MAX232 (RS-232 түрлендіргіші) алып тастап, сәйкес түйреуіштер 7-10 (TX), 8-9 (RX) арасындағы түйіспелі жастықшаларды жабу қажет.

Камерамен бірге келген алты сымды кабельді сәл өзгерту керек:

  • Қосқыштан екі сымды алыңыз.
  • Қызыл (+ 5В) және қара (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 -қадам: SIM5320 3G/GPRS/GSM/GPS Shield дайындау

3G/GPRS/GSM/GPS Shield SIM5320 дайындау
3G/GPRS/GSM/GPS Shield SIM5320 дайындау
3G/GPRS/GSM/GPS Shield SIM5320 дайындау
3G/GPRS/GSM/GPS Shield SIM5320 дайындау
3G/GPRS/GSM/GPS Shield SIM5320 дайындау
3G/GPRS/GSM/GPS Shield SIM5320 дайындау

SIM картасын ұяға орнатпас бұрын, PIN код сұрауын өшіру керек. Содан кейін SIM картаны тақтаның төменгі жағындағы ұяға суретте көрсетілгендей орнатыңыз. Екі секіргішті RX-1 (D1), TX-0 (D0) позициясына орнату керек.

5 -қадам: аппараттық құралдарды жинау

Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы

Аппараттық қондырғы бірнеше қарапайым операциялардан тұрады:

  • Светодиодты басқару үшін алдымен суретте көрсетілгендей жарық диодтар мен ток шектейтін резисторлардың (100-500 Ом) шағын конструкциясын дәнекерлеу қажет. Жарық диодтарының полярлығына назар аударыңыз - анодты резисторларға дәнекерлеу керек (+). Светодиодтардың паразиттік әсерін азайту үшін мен қарапайым картоннан қара экран жасадым.
  • Жарық диодтары мен камераны диаграммада көрсетілгендей үйлесімді Arduino M0-SD тақтасына қосыңыз. Камераның қуат көзі (қызыл сым «+ 5В» және қара сым «GND») ұядан «+ 5V» және «GND» терминалдарынан алынуы керек. Ол үшін бұрыштық қосқышты да қолдануға болады.
  • Осыдан кейін 3G/GPRS/GSM/GPS қалқанын Arduino M0-SD үйлесімді тақтасына қосыңыз. 3G антеннасын қосуды ұмытпаңыз.

6 -қадам: MQTT брокерін орнату

MQTT брокерін орнату
MQTT брокерін орнату
MQTT брокерін орнату
MQTT брокерін орнату
MQTT брокерін орнату
MQTT брокерін орнату

Мен MQTT брокері ретінде өте ыңғайлы және түсінікті www.cloudmqtt.com сайтын таңдадым. Ол тегін тестілеуді ұсынады. Сонымен қатар тікелей сайтта хабарламаларды алуға және жіберуге болады.

Орнату процедурасы келесідей:

  1. Онлайн тіркелу.
  2. «Жаңа дананы құру» түймесін басыңыз.
  3. Атын орнатыңыз, мысалы «MqttCamera».
  4. «Аймақты таңдау» түймесін басыңыз. Мысалы, «АҚШ-Шығыс-1 (Солтүстік Вирджиния)» таңдаңыз.
  5. «Қарап шығу» түймесін басыңыз.
  6. «Дана құру» түймесін басыңыз. «Дана сәтті құрылды» хабарын қарау.
  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. Содан кейін қалқымалы терезеде «ЖАЗЫЛУ ЖӘНЕ МЕТРИКА КҮТУ» батырмасын басыңыз.
  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 1A) Arduino M0-SD үйлесімді ұяшығына қосу қажет.

Arduino IDE іске қосыңыз. Arduino-да IDE таңдау керек: Құралдар-> Тақта: Arduino M0 Pro (Native USB порты).

MqttCamera.ino нобайын ашыңыз. Өрістерді толтырыңыз: Пайдаланушы аты, Пайдаланушы құпия сөзі, API кілті, Порт, Сервер (6 -қадамнан деректерді алыңыз).

Сериялық монитор терезесін ашыңыз.

Эскизді жүктеу. Мен бағдарламалау процедурасын толық сипаттамаймын (Интернетте нұсқаулар жеткілікті).

Сәтті жүктеуден және дұрыс құрастырудан кейін Serial Monitor терезесінде келесі ақпарат пайда болуы керек:

VC0706 камерасы + Arduino M0 + SIM5320 + MQTT

Camera init… нұсқасы: ----------------- VC0703 1.00 Ctrl infr бар 525 ---------------- қолданушы анықтайтын сенсор ! Модемді қосуда… Модем: AT+CGMM SIMCOM_SIM5320E Желі күтілуде… OK Интернетке қосылу OK 3.83.68.228 -ке қосылу сәтсіз 3.83.68.228 -ке қосылу OK Пинг: 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 off LED_RED On LED_RED Off

Камера белгішесін нұқыңыз - «АТУ» пәрменін жіберіңіз және біраз күтіңіз. Сериялық монитор терезесінде келесі ақпарат пайда болуы керек:

Түсіруді бастаңыз!

Сурет түсірілген! IMAGE332-j.webp

Ал біраз уақыттан кейін (5-10 секунд) «КЕСІРІМДІ КӨРУ» терезесінде фотосурет көрсетілуі керек.

Демонстрация үшін мен VC0706 камерасын жарық диодты шамдарға бағыттадым, осылайша мен оларды ерікті түрде ауыстырғаннан кейін олардың күйін көре аламын. Бірақ нақты жағдайда камераны бөлмеге, есікке, көшеге, қақпаға, көлікке және т.б. бағыттауға болады (әрине, сіз заң талаптарын ескеруіңіз керек). Мен демонстрация ретінде мен ұялы телефон, онда жарық диодтардың орнатылған және нақты күйлері көрсетіледі.

Менің нұсқауларым сіз үшін қызықты және пайдалы болды деп сенемін. Мен сіздің пікірлеріңіз бен пікірлеріңізге қуанышты боламын. Менің жоспарымда құрылғыны әзірлеп, сіздермен жаңа жаңалықтармен бөлісемін. Көргеніңізге рахмет!

Ұсынылған: