Съдържание:
- Стъпка 1: Списък на компонентите
- Стъпка 2: Подготовка на камерата
- Стъпка 3: Подготовка на съвместим Arduino M0-SD
- Стъпка 4: Подготовка на 3G/GPRS/GSM/GPS щит SIM5320
- Стъпка 5: Сглобяване на хардуер
- Стъпка 6: Настройка на MQTT брокер
- Стъпка 7: Приложение MQTT Dash
- Стъпка 8: Програмиране и работа
Видео: Дистанционно управление и фото наблюдение през MQTT: 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Здравейте.
Днес бих искал да говоря за това как да направя система за дистанционно управление и наблюдение, която да може да се използва например за управление на гаражни врати, осветление, отопление, контрол на налягането, температура и много други параметри. Но основната характеристика на тази система е, че можете да получавате дистанционно снимки от отдалечен обект. Преди да започнете историята, кратко предисловие. След като исках да направя система за фото наблюдение, използвайки съвместима платка Arduino M0-SD, камера VC0706 и 3G/GPRS/GSM/GPS щит за Arduino. Съвместимата платка Arduino M0 -SD е избрана от условията, че е много лесна за програмиране (също като Arduino UNO), работното напрежение е 3.3V - това е много удобно за работа с камерата VC0706, голямо количество ROM и RAM, няколко порта UART, отделен виртуален порт на USB, но основното предимство е наличието на микро SD конектор директно на платката (Много е удобно да се съхраняват големи количества данни, например изображения).
3G/GPRS/GSM/GPS щит за Arduino е много удобен за използване със съвместима платка Arduino M0-SD. В интернет има няколко библиотеки, както и много примери за работа с този щит. Скоростта на предаване на данни (3G) е много по -висока от тази на конвенционалните GPRS екрани (особено удобно за предаване на изображения). Наличието на GPS модул е допълнително предимство.
Избрах евтина тарифа от мобилен оператор за предаване на данни (снимки) по интернет. Но възникна въпросът: как да прехвърля данни? MMS? FTP? Как да получите известие за получаване на данни (снимка)? В резултат на това стигнах до решението да изпращам данни (снимки) на електронна поща и да разглеждам писма чрез приложението, инсталирано на мобилен телефон. Оказа се много удобно!:-) Готовият проект може да се види на този линк.
Има и подобен проект за Arduino UNO чрез справка.
Тогава реших да разширя функционалността на устройството си. Например, добавете възможност за управление на светодиоди (въпреки че в действителност възможностите са много по -широки). Имейлът за това не е много подходящ. SMS опцията е скъпа и неудобна. И тогава научих за MQTT. Няма да описвам какъв е той. Само да кажа: Това е наистина страхотно нещо!:-) С помощта на MQTT можете да обменяте не само съобщения, но и двоични файлове (изображения). В приложението за телефона можете лесно да създадете свой собствен интерфейс.
Потърсих примери за внедряване на протокола MQTT за моя 3G/GPRS/GSM/GPS щит (SIM5320) и за съжаление не намерих необходимото изпълнение. Но това не ме остави на мира. Реших самостоятелно да внедря необходимата функционалност. В резултат на това успях да създам устройство, което се контролира (обозначено с три светодиода) през MQTT от приложение, инсталирано на мобилен телефон, и също изпраща снимка на телефона по команда от телефона. (Ще ви кажа една тайна, че досега не съм виждал примери за изпращане на изображения през брокера на MQTT и го направих за първи път. И когато успях да прехвърля първата снимка, бях изключително щастлив!:-)) И затова предлагам да преминем направо към първата стъпка - списък с необходимите компоненти.
Стъпка 1: Списък на компонентите
Нуждаем се от следните компоненти:
1) Съвместим с Arduino M0-SD.
2) TTL-камера VC0706.
3) 3G/GPRS/GSM/GPS щит за Arduino.
4) Червени, зелени, жълти светодиоди, 3 резистора (100-500 ома), проводници, ъглов конектор с щифт 2,54 мм.
5) AC-DC захранващ адаптер (6V 1A), 3G антена и др.
Стъпка 2: Подготовка на камерата
Камерата има RS-232 изход за директна връзка с компютър. Необходимо е да премахнете MAX232 (RS-232 конвертор) и да затворите контактните накладки между съответните щифтове 7-10 (TX), 8-9 (RX).
Шест-жичният кабел, доставен с камерата, трябва да бъде леко преработен:
- Извадете двата проводника от конектора.
- Пренаредете червените (+ 5V) и черните (GND) проводници, както е показано на фигурата.
Върху голите краища на проводниците трябва да бъдат запоени връхчета като "женски".
Стъпка 3: Подготовка на съвместим 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 щит SIM5320
Преди да инсталирате сим карта в слота, трябва да деактивирате заявката за ПИН код. След това поставете SIM картата в слота от долната страна на платката, както е показано на фигурата. Два джъмпера трябва да бъдат инсталирани в позиция RX-1 (D1), TX-0 (D0).
Стъпка 5: Сглобяване на хардуер
Хардуерното сглобяване се състои от няколко прости операции:
- За да управлявате светодиодите, първо трябва да запоите малка конструкция от светодиоди и ограничители на тока (100-500 ома), както е показано на фигурата. Обърнете внимание на полярността на светодиодите - анодът трябва да бъде запоен към резисторите (+). За да се намали паразитното излагане на светодиодите, направих черен екран от обикновен картон.
- Свържете светодиодите и камерата към съвместима платка Arduino M0-SD, както е показано на диаграмата. Захранването на камерата (червен проводник "+ 5V" и черен проводник "GND") трябва да се вземе от клемите "+ 5V" и "GND" от слота. Можете също да използвате ъглов конектор за това.
- След това свържете 3G/GPRS/GSM/GPS щит към съвместимата платка Arduino M0-SD. Не забравяйте да свържете 3G антена.
Стъпка 6: Настройка на MQTT брокер
Избрах много удобен и ясен www.cloudmqtt.com като брокер на MQTT. Той предоставя безплатни тестове. Също така е възможно да получавате и изпращате съобщения директно на сайта.
Процедурата за настройка е следната:
- Регистрирайте се онлайн.
- Натиснете бутона „Създаване на нов екземпляр“.
- Задайте името, например "MqttCamera".
- Натиснете бутона „Избор на регион“. Например, изберете „САЩ-Изток-1 (Северна Вирджиния)“.
- Натиснете бутона "Преглед".
- Натиснете бутона „Създаване на инстанция“. Преглед на съобщението „Инстанцията е създадена успешно“.
- Кликнете върху „MqttCamera“.
- Запомнете информация: Сървър, потребител, парола, порт, API ключ (ще ни трябват на 7 -та и 8 -ма стъпки).
- След това можете да отидете в прозореца „WEBSOCKET UI“, където можете да тествате и отстранявате грешки, да преглеждате и изпращате съобщения (Този прозорец ще ни е необходим в следващата стъпка).
Стъпка 7: Приложение MQTT Dash
За да създам контролен панел в мобилен телефон, избрах много удобно за потребителя и ясно приложение MQTT Dash.
Инсталирайте приложението MQTT Dash на телефона си и направете следните настройки:
- Отворете приложението.
- В прозореца на тире MQTT щракнете върху (+), за да добавите нов контролен панел.
- В прозореца, който се показва, попълнете задължителните полета, като например: Име (например MqttCamera), Адрес, Порт, Потребителско име, Потребителска парола (Вземете данни от стъпка 6).
- След като попълните полетата, щракнете върху иконата на дискета (операция „Запазване“).
- В прозореца със списъка с контролни панели щракнете върху появилия се ред „MqttCamera“.
- В прозореца на контролния панел, който се отваря, щракнете върху иконата със стрелка, за да заредите показателите.
- След това в изскачащия прозорец кликнете върху бутона „АБОНИРАНЕ И ОЧАКВАНЕ НА МЕТРИКАТА“.
- На персонален компютър отворете акаунт в MQTT-брокер (вижте предишната стъпка), отворете прозореца „WEBSOCKET UI“, задайте темата „metrics/exchange“в прозореца „Send message“и запишете текста от прикачен файл metrics.txt в прозореца „Съобщение“, щракнете върху бутона „Изпрати“.
- Изчакайте 10 секунди, уверете се, че показателят е получен в телефона и контролният панел е актуализиран.
След това можете да продължите към програмиране на съвместим Arduino M0-SD.
Стъпка 8: Програмиране и работа
Преди да програмирате съвместим Arduino M0-SD, трябва да инсталирате на компютъра всички необходими библиотеки (pubsubclient-master, TinyGSM-master), които цитирах по-долу. Тези библиотеки бяха леко модифицирани, за да работят със съвместима платка Arduino M0-SD, камера VC0706 и 3G/GPRS/GSM/GPS щит SIM5320.
Трябва да свържете кабела и захранването (6V 1A за захранване на 3G/GPRS/GSM/GPS щит) към съвместимия Arduino M0-SD.
Стартирайте Arduino IDE. В Arduino IDE трябва да избере: Tools-> Board: Arduino M0 Pro (Native USB Port).
Отворете скицата 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 Включен LED_GREEN изключен LED_RED Включен LED_RED изключен
Кликнете върху иконата на камерата - изпратете командата „СНИМКА“и изчакайте известно време. В прозореца на серийния монитор трябва да се появи следната информация:
Започнете да стреляте!
Снимката е направена! създайте IMAGE332-j.webp
И след известно време (5-10 секунди) в прозореца "VIEW IMAGE" трябва да се покаже снимка.
За демонстрацията насочих камерата VC0706 към светодиодите, така че да можете да видите състоянието им, след като ги превключих по произволен начин. Но при реална употреба можете да насочите камерата към стая, врата, улица, порта, кола и т.н. (Разбира се, трябва да вземете предвид изискванията на закона). Като демонстрация представям няколко екранни снимки от мобилен телефон, където се показват инсталираните и действителните състояния на светодиодите.
Надявам се моята инструкция да е била интересна и полезна за вас. Ще се радвам на вашите отзиви и коментари. В плановете си да разработя устройството си и да споделя с вас нови иновации. Благодаря за гледането!
Препоръчано:
IRduino: Дистанционно управление Arduino - имитирайте изгубено дистанционно: 6 стъпки
IRduino: Дистанционно управление Arduino - имитирайте изгубено дистанционно: Ако някога сте загубили дистанционното управление за вашия телевизор или DVD плейър, знаете колко е разочароващо да се налага да ходите, да намирате и използвате бутоните на самото устройство. Понякога тези бутони дори не предлагат същата функционалност като дистанционното. Получаване
ESP8266 RGB LED STRIP WIFI Control - NODEMCU Като IR дистанционно за LED лента, контролирана през Wifi - RGB LED STRIP Управление на смартфона: 4 стъпки
ESP8266 RGB LED STRIP WIFI Control | NODEMCU Като IR дистанционно за LED лента, контролирана през Wifi | RGB LED STRIP Smartphone Control: Здравейте момчета, в този урок ще научим как да използваме nodemcu или esp8266 като IR дистанционно за управление на RGB LED лента и Nodemcu ще се управлява от смартфон през wifi. Така че по принцип можете да контролирате RGB LED STRIP със своя смартфон
Обикновен комплект за дистанционно управление, трансформиран в четириканално дистанционно управление RC играчка: 4 стъпки
Обикновен комплект за дистанционно управление, трансформиран в четириканално дистанционно управление RC Toy: 如何 将 通用 遥控 套件 转换 为 玩具 中 使用 的 四 遥控 器。 遥控 套件 非常 便宜。 采用 62 62 2262 和 2272 芯片 433 模块 构建。方法 非常 简单。 只需 一些 瓦楞纸 板 , 然后 按照 视频 教程 这个 电子 项目 并 为 服务。 玩具 车船 提供 远程 无线 控制
Уеб дистанционно дистанционно управление с Esp8266 (NodeMCU): 4 стъпки
Уеб дистанционно дистанционно управление с Esp8266 (NodeMCU): Проблем На масата в хола има три дистанционни управления. За да гледате любимото си предаване, трябва точно да следвате специална последователност от натискания на бутони върху поне две от тях. И твоята съквартирантка, майка, приятелка никога не си спомня за това … Решение Купуваш
Робот с дистанционно управление с помощта на Arduino и T.V. Дистанционно: 11 стъпки
Робот с дистанционно управление с помощта на Arduino и телевизионно дистанционно: Тази кола с дистанционно управление може да се движи, използвайки практически всякакъв вид дистанционно управление, като телевизор, променлив ток и др. Той използва факта, че дистанционното излъчва IR (инфрачервено). Това свойство се използва чрез използване на IR приемник, който е много евтин сензор