Оглавление:
- Шаг 1: Список компонентов
- Шаг 2: Подготовка камеры
- Шаг 3: Подготовка совместимой Arduino M0-SD
- Шаг 4: Подготовка 3G / GPRS / GSM / GPS Shield SIM5320
- Шаг 5: Сборка оборудования
- Шаг 6. Настройка брокера MQTT
- Шаг 7. Приложение MQTT Dash
- Шаг 8: Программирование и работа
Видео: Удаленное управление и видеонаблюдение через MQTT: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Привет.
Сегодня я хотел бы поговорить о том, как сделать систему дистанционного управления и контроля, которую можно использовать, например, для управления гаражными воротами, освещением, отоплением, контролем давления, температурой и многими другими параметрами. Но главная особенность этой системы в том, что вы можете удаленно получать фотографии с удаленного объекта. Перед тем, как начать рассказ, небольшое предисловие. Однажды я хотел сделать систему видеонаблюдения с использованием совместимой платы Arduino M0-SD, камеры VC0706 и экрана 3G / GPRS / GSM / GPS для Arduino. Плата, совместимая с Arduino M0-SD, была выбрана из тех условий, что ее очень легко программировать (как и Arduino UNO), рабочее напряжение 3,3 В - это очень удобно для работы с камерой VC0706, большой объем ПЗУ и RAM, несколько портов UART, отдельный виртуальный порт USB, но главное преимущество - наличие разъема micro SD прямо на плате (очень удобно хранить большие объемы данных, например изображения).
Экран 3G / GPRS / GSM / GPS для Arduino очень удобен для использования с совместимой платой Arduino M0-SD. В Интернете есть несколько библиотек, а также множество примеров работы с этим щитом. Скорость передачи данных (3G) намного выше, чем у обычных экранов GPRS (особенно удобна для передачи изображений). Дополнительным преимуществом является наличие модуля GPS.
Выбрал недорогой тариф у оператора сотовой связи на передачу данных (фото) через Интернет. Но возник вопрос: как передавать данные? MMS? FTP? Как получить уведомление о получении данных (фото)? В результате я пришел к решению отправлять данные (фотографии) на электронную почту и просматривать письма через приложение, установленное на мобильном телефоне. Получилось очень удобно!:-) Готовый проект можно посмотреть по этой ссылке.
Также есть аналогичный проект для Arduino UNO по ссылке.
Тогда я решил расширить функционал своего устройства. Например, добавить возможность управления светодиодами (хотя на самом деле возможности намного шире). Электронная почта для этого не очень подходит. СМС вариант дорогой и неудобный. А потом я узнал о 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 (6 В, 1 А), антенна 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) как показано на рисунке. Этот порт соответствует «Последовательному».
Белый (камера RX) и желтый (камера TX) провода от камеры должны быть подключены соответственно к клеммам TXD и RXD (разъем X6), как показано на рисунке.
Шаг 4: Подготовка 3G / GPRS / GSM / GPS Shield 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
В качестве MQTT-брокера я выбрал очень удобный и понятный www.cloudmqtt.com. Предоставляет бесплатное тестирование. Также можно получать и отправлять сообщения прямо на сайте.
Процедура настройки следующая:
- Зарегистрируйтесь онлайн.
- Нажмите кнопку «Создать новый экземпляр».
- Задайте имя, например MqttCamera.
- Нажмите кнопку «Выбрать регион». Например, выберите «Восток США-1 (Северная Вирджиния)».
- Нажмите кнопку «Обзор».
- Нажмите кнопку «Создать экземпляр». Просмотрите сообщение «Экземпляр успешно создан».
- Щелкните «MqttCamera».
- Запомните информацию: сервер, пользователь, пароль, порт, API-ключ (он нам понадобится на 7-м и 8-м шагах).
- Затем вы можете перейти в окно «WEBSOCKET UI», где вы можете тестировать и отлаживать, просматривать и отправлять сообщения (нам понадобится это окно на следующем шаге).
Шаг 7. Приложение MQTT Dash
Для создания панели управления в мобильном телефоне я выбрал очень удобное и понятное приложение MQTT Dash.
Установите приложение MQTT Dash на свой телефон и выполните следующие настройки:
- Откройте приложение.
- В окне панели MQTT щелкните (+), чтобы добавить новую панель управления.
- В появившемся окне заполните обязательные поля, такие как: Имя (например, MqttCamera), Адрес, Порт, Имя пользователя, Пароль пользователя (возьмите данные из шага 6).
- После заполнения полей щелкните значок дискеты (операция «Сохранить»).
- В окне со списком панелей управления щелкните появившуюся строку «MqttCamera».
- В открывшемся окне панели управления щелкните значок стрелки, чтобы загрузить метрики.
- Затем во всплывающем окне нажмите кнопку «ПОДПИСАТЬСЯ И ЖДАТЬ МЕТРИКУ».
- На персональном компьютере откройте счет в MQTT-брокере (см. Предыдущий шаг), откройте окно «WEBSOCKET UI», установите тему «метрики / обмен» в окне «Отправить сообщение» и запишите текст из Прикрепленный файл metrics.txt в окне «Сообщение» нажмите кнопку «Отправить».
- Подождите 10 секунд, убедитесь, что в телефоне принята метрика и обновлена панель управления.
После этого можно переходить к программированию совместимой Arduino M0-SD.
Шаг 8: Программирование и работа
Перед программированием совместимой Arduino M0-SD необходимо установить на компьютер все необходимые библиотеки (pubsubclient-master, TinyGSM-master), которые я привел ниже. Эти библиотеки были немного изменены для работы с совместимой платой Arduino M0-SD, камерой VC0706 и экраном SIM5320 3G / GPRS / GSM / GPS.
Вам необходимо подключить кабель и блок питания (6 В, 1 А для питания экрана 3G / GPRS / GSM / GPS) к совместимому Arduino M0-SD.
Запустите Arduino IDE. В Arduino в среде IDE необходимо выбрать: Инструменты-> Плата: Arduino M0 Pro (собственный порт USB).
Откройте скетч MqttCamera.ino. Заполните поля: Имя пользователя, Пароль пользователя, Ключ API, Порт, Сервер (возьмите данные из шага 6).
Откройте окно Serial Monitor.
Загрузить эскиз. Подробно не описываю процедуру программирования (в интернете достаточно инструкций).
После успешной загрузки и правильной сборки в окне Serial Monitor должна появиться следующая информация:
VC0706 Камера + Arduino M0 + SIM5320 + MQTT
Camera init… версия: ----------------- VC0703 1.00 Ctrl infr exists Пользовательский датчик 525 ----------------- Успешно ! Инициализация модема… Модем: AT + CGMM SIMCOM_SIM5320E Ожидание сети… ОК Подключение к Интернету ОК Подключение к 3.83.68.228 сбой Подключение к 3.83.68.228 ОК Ping: 0
Строка «Ping: XX» - это периодическое сообщение от совместимого Arduino M0-SD на сервер. Вместо этой информации вы можете отправлять измерения АЦП, состояние входа и многое другое.
В приложении MQTT Dash нажать на значки лампочек (LED_YELLOW, LED_GREEN, LED_RED) - включить / выключить. Посмотрите в окошко монитора Serial - там должна быть информация примерно такая:
LED_YELLOW горит
LED_YELLOW_Off LED_GREEN горит LED_GREEN не горит LED_RED горит LED_RED не горит
Нажмите на значок камеры - отправьте команду «СНИМАТЬ» и немного подождите. В окне Serial Monitor должна появиться следующая информация:
Начать стрелять!
Снимок сделан! create IMAGE332-j.webp
И через некоторое время (5-10 секунд) в окне «ПРОСМОТР ИЗОБРАЖЕНИЯ» должна отобразиться фотография.
Для демонстрации я направил камеру VC0706 на светодиоды, чтобы вы могли видеть их состояние после того, как я переключил их произвольным образом. Но на практике вы можете направить камеру в комнату, дверь, улицу, ворота, машину и т. Д. (Конечно, вы должны учитывать требования закона). В качестве демонстрации я представляю несколько скриншотов с мобильный телефон, на котором отображаются установленные и фактические состояния светодиодов.
Надеюсь, моя инструкция была для вас интересной и полезной. Буду рад вашим отзывам и комментариям. В моих планах развивать свой аппарат и делиться с вами новинками. Спасибо за просмотр!
Рекомендуемые:
Управление Led через приложение Blynk с помощью Nodemcu через Интернет: 5 шагов
Управление светодиодом через приложение Blynk с помощью Nodemcu через Интернет: Привет всем, сегодня мы покажем вам, как вы можете управлять светодиодом с помощью смартфона через Интернет
Удаленное использование приложений для Dragonboard 410c Usando IDE Eclipse: 17 шагов
Удаленное использование приложений для Dragonboard 410c с использованием IDE Eclipse, используемого в IDE: цель и все документы; наиболее часто, поскольку этапы необходимы á rias для конфигурации или Ambiente de desenvolvimento, de modo que o HostPC (Computador / Notebook), как сделать, чтобы IDE Eclipse скомпилировал или c ó digos и экспортер для Alvo (перетащите
Удаленное управление по SMS: 4 шага
Удаленное управление по SMS: этот проект предлагает способ обезопасить вашу вещь. Конечный результат проекта - переключатель, управляемый СМС. Так что вы можете адаптировать это к своему проекту. В программу интегрирован авторизованный телефонный номер, и пользователю необходимо ввести правильный "пароль"
Управление Wi-Fi ESP8266 RGB LED STRIP - NODEMCU как ИК-пульт для светодиодной ленты, управляемой через Wi-Fi - Управление смартфоном RGB LED STRIP: 4 шага
Управление Wi-Fi ESP8266 RGB LED STRIP | NODEMCU как ИК-пульт для светодиодной ленты, управляемой через Wi-Fi | Управление смартфоном RGB LED STRIP: Привет, ребята, в этом уроке мы узнаем, как использовать nodemcu или esp8266 в качестве ИК-пульта дистанционного управления для управления светодиодной лентой RGB, а Nodemcu будет управляться смартфоном через Wi-Fi. Таким образом, вы можете управлять светодиодной полосой RGB со своего смартфона
Управление устройствами через Интернет через браузер. (IoT): 6 шагов
Управление устройствами через Интернет через браузер. (IoT): в этой инструкции я покажу вам, как вы можете управлять такими устройствами, как светодиоды, реле, двигатели и т. Д., Через Интернет через веб-браузер. И вы можете безопасно получить доступ к элементам управления с любого устройства. Я использовал здесь веб-платформу RemoteMe.org visit