Оглавление:
- Запасы
- Шаг 1. Введение в MQTT
- Шаг 2: Знакомство с платформой Интернета вещей
- Шаг 3. Подготовьте MQTT Publisher
- Шаг 4: сноска
- Шаг 5. Кредиты и поддержка
Видео: Основы Интернета вещей: подключение Интернета вещей к облаку с помощью ОС Mongoose: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Если вы любитель мастеринга и электроники, чаще всего вы встретите термин «Интернет вещей», который обычно сокращается как «Интернет вещей», и что он относится к набору устройств, которые могут подключаться к Интернету! Я сам был таким человеком, и был очарован, когда узнал, что такие замечательные устройства были легко доступны для меня. Сама мысль о том, что я могу подключить мои проекты к Интернету с помощью небольшого устройства, и просто думать о бесчисленных воротах, которые он откроет для моих проектных идей, меня накачала.
Но сказать IoT о подключении к Интернету не так просто, как просто купить его с полки и включить. И помимо подключения устройства к Интернету, нам также необходимо передать некоторые полезные данные в Интернет. В этом руководстве рассматривается процедура, необходимая для достижения вышеуказанной цели, и оно предназначено для читателей с любым уровнем опыта, от новичков до ветеранов, которые плохо знакомы с IoT.
В этом руководстве в качестве примера я продемонстрирую, как построить график показаний внутреннего датчика температуры платы разработки ESP32, который должен дать читателям хорошее представление о процессе.
Хотя в этом руководстве используются ESP32 и Mongoose OS, процедура может быть распространена на все IoT и прошивки, которые есть!
Запасы
Чтобы реализовать это руководство самостоятельно, вам понадобится минимальное количество оборудования, а именно:
- Интернет вещей (IoT): я использовал дешевый клон платы разработки ESP32. Если вы планируете купить новую плату для разработки ESP32, вам следует проверить плату ESP32 от DFRobot.
- Кабель для передачи данных: используйте кабель, который требуется вашему IoT для прошивки и т. Д.
- Аккумулятор (необязательно): покупайте его только в том случае, если вы собираетесь использовать IoT в течение длительного времени.
- Миниатюрная макетная плата (необязательно)
Я предлагаю читателю использовать IoT, отличный от ESP32, чтобы он / она могли действительно понять, что здесь делается, а не просто подражать мне. Поверьте, вам понравится реализовывать этот процесс, используя собственный разум, в другом IoT, например, ESP8266 будет хорошим выбором.
Шаг 1. Введение в MQTT
Что такое MQTT?
«MQTT - это простой протокол обмена сообщениями, разработанный для ограниченных устройств с низкой пропускной способностью. Таким образом, это идеальное решение для приложений Интернета вещей. MQTT позволяет отправлять команды для управления выходами, считывать и публиковать данные с узлов датчиков и многое другое. (Из RandomNerdTutorials)
Как работает MQTT?
Прежде чем перейти к техническим аспектам, давайте сначала подумаем о нашем реальном мире. Предположим, вас интересует коллекция карточек, принадлежащая другу вашего друга, скажем, Лорел, которого вы лично не знаете. Поскольку вы очень щепетильно относитесь к этой коллекции карт, вы попросите своего друга, предположим Тома, спросить, хочет ли Лорел ее продать или нет. При этом вы попросите Тома купить коллекцию карточек сам, если Лорел захочет продать, поскольку вы не хотите, чтобы какой-то другой человек получил в свои руки коллекцию, которую вы так жаждете! По прошествии времени Том и Лорел взаимодействуют, и по взаимному соглашению Лорел отдает свою коллекцию карт Тому в обмен на деньги. После этого обмена Том держит карты при себе, пока не встретит вас снова, и именно тогда он наконец отдает вам коллекцию карт. Так происходит нормальный обмен в нашей повседневной жизни.
В MQTT основными элементами, участвующими в обмене, являются издатель (Laurel), подписчик (You) и брокер (Tom). Его рабочий процесс также похож на приведенный выше реальный пример, за исключением одного огромного отличия! В MQTT обмен инициируется брокером, то есть Лорел первой свяжется с Томом и сообщит, что она хочет продать свою коллекцию карт. Если мы сравним работу MQTT с нашим реальным примером, то это будет следующим образом:
- Лорел говорит Тому, что хочет продать свою коллекцию карт (данных или полезной нагрузки), и передает карты ему.
- Том берет эти карты в свое владение и открыт для предложений по сбору карт. Когда вы с Томом встречаетесь, и он узнает, что вам интересны карты (подписывается на тему). Затем Том дает вам карты.
Поскольку весь процесс зависит от брокера и не требует прямого взаимодействия между подписчиком и издателем, MQTT устраняет необходимость синхронизации издателя и подписчика. Наличие промежуточного брокера является благом для устройств с ограниченными ресурсами, таких как IoT и микропроцессоры, поскольку их вычислительная мощность недостаточна для выполнения передачи данных обычным способом, что повлечет дополнительные накладные расходы, такие как аутентификация, шифрование и т. Д. MQTT имеет множество других функций, таких как облегчение, распространение по принципу "один ко многим" и т. Д., Что делает его идеальным для ограниченных сетей и клиентов.
Шаг 2: Знакомство с платформой Интернета вещей
Что такое платформа Интернета вещей?
«На высоком уровне платформа Интернета вещей (IoT) - это вспомогательное программное обеспечение, которое соединяет периферийное оборудование, точки доступа и сети передачи данных с другими частями цепочки создания стоимости (которые обычно являются приложениями конечных пользователей). Платформы IoT обычно справляться с текущими задачами управления и визуализацией данных, что позволяет пользователям автоматизировать свою среду . (Из Link-Labs)
Абстрактно платформа IoT действует как посредник между пользователем и агентами сбора данных, которые отвечают за представление собранных данных.
В этом руководстве мы планируем опубликовать показания температуры нашего ESP32 в Интернете. Наш ESP32 будет выступать в качестве издателя MQTT, а брокер MQTT будет платформой IoT по нашему выбору. Обратите внимание, что в нашем проекте нет роли подписчика MQTT, поскольку данные представляются самой платформой из первых рук. Платформа IoT будет отвечать за хранение наших опубликованных данных и красивое представление их здесь в виде линейного графика. Я буду использовать Losant в качестве моей платформы IoT здесь, поскольку она бесплатна и предлагает несколько хороших способов представления данных. Некоторыми другими примерами платформ IoT являются Google Cloud, Amazon AWS и Adafruit, Microsoft Azure и т. Д. Я хотел бы посоветовать читателю обратиться к документации выбранной ими платформы IoT.
Настройка Лосанта:
- Войти в Losant
- Создать устройство (автономного типа)
- Добавьте несколько типов данных на устройство 1. Имя: температура, Тип данных: Число2. Имя: смещение, Тип данных: Число 3. Имя: единица, Тип данных: Строка
- Создайте ключ доступа и запишите идентификатор устройства и ключ доступа.
- Создайте график 1. Создайте дашборд 2. Добавьте к нему блок «График временных рядов», используя температурную переменную и созданное вами устройство.
«Идентификатор устройства» служит уникальным отпечатком пальца для устройства. «Ключи доступа», как следует из названия, позволяют IoT публиковать в Losant под идентификатором устройства.
Шаг 3. Подготовьте MQTT Publisher
Теперь, когда мы подготовили платформу IoT для получения и представления данных, нам нужно подготовить издателя MQTT, который будет отвечать за сбор и отправку данных на платформу.
Схема подготовки издателя MQTT выглядит следующим образом:
- Напишите код: чтобы проинструктировать издателя (IoT), как собирать данные, обрабатывать и отправлять их на платформу IoT. Инструкции написаны на понятных человеку языках программирования высокого уровня, которые обычно называют кодом.
- Перепрограммируйте прошивку: Интернет вещей не сразу поймет эти инструкции, поскольку изначально не знает никакого языка. Чтобы преодолеть этот языковой барьер между человеком и машиной, код компилируется в грубый набор инструкций, в основном наборов шестнадцатеричных или двоичных значений, специфичных для ячеек памяти внутри IoT, известных как микропрограммное обеспечение, которое затем записывается в IoT.
В этом руководстве, поскольку я использую свой удобный ESP32, я буду прошивать для него прошивку Mongoose OS, которая принимает программы, написанные как на C, так и на JavaScript. Помимо совместимости с JS, Mongoose OS по-прежнему может многое предложить, например, обновления по воздуху, для настройки вашей программы в Интернете, а также специальную панель управления для устройств (mDash) и т. Д.
Я разработал приложение с открытым исходным кодом для Mongoose OS для этого Instructable. Это простое приложение под названием losant-temp-sensor, которое использует MQTT для отправки приблизительных показаний температуры окружающей среды, основанных на показаниях внутренней температуры ESP32, в Losant (бесплатную платформу IoT). Рекомендуется просмотреть код приложения для лучшего понимания. Мы будем обновлять это приложение для этого руководства.
Если вы любите приключения, то можете попробовать достичь той же цели с помощью прошивки Arduino-ESP32, которая позволяет использовать ESP32 в качестве Arduino (с возможностью Wi-Fi).
Краткое изложение прошивки приложения с помощью Mongoose OS:
- Установите утилиту mos для вашей ОС.
-
Откройте инструмент и выполните следующие команды:
- клон mos
- cd лосант-темп-датчик
- mos build - платформа esp32
- mos вспышка
- mos wifi "ваш Wi-Fi ssid" "ваш пароль Wi-Fi" например. mos wifi "Home" "home @ 123"
-
mos config-set temperature.basis =
temperature.unit ="
"например, mos config-set temperature.basis = 33 / temperature.unit =" celsius"
-
mos config-set device.id =
mqtt.client_id = mqtt.user = mqtt.pass =
После успешной прошивки дайте устройству перезагрузиться, а затем выполните следующие команды:
После правильного выполнения всех этих шагов вы получите ESP32, который периодически отправляет показания температуры в Losant, каждые 10 минут. Об успешной публикации свидетельствует синий светодиод, как показано на видео выше.
Шаг 4: сноска
Если вы можете правильно воспроизвести предыдущие шаги, то теперь у вас будет рабочий проект, с помощью которого вы сможете наблюдать за тенденциями изменения температуры внутри вашей комнаты или там, где вы планируете разместить проект. Поскольку я сохранил этот Instructable как можно более универсальным, вы можете использовать свой IoT для сбора всех видов данных и попытаться сделать из них что-то полезное, или вы можете сделать это просто ради повозки, если вы ' Я правильно понял это Руководство.
Для меня самое лучшее в IoT - это то, что он позволяет нам собирать огромные массивы данных, неубедительных, если брать их по отдельности, и преобразовывать их во что-то убедительное. Это действительно поражает дух науки. Для меня было очень приятно и поучительно наблюдать за падением температуры в моей комнате в часы дождя по моему графику.
Приложение losant-temp-sensor-app было оптимизировано с точки зрения энергопотребления, так как оно использует функцию глубокого сна ESP32, поэтому вы можете использовать его в течение длительного времени, не беспокоясь о батарее. Вы можете еще больше повысить энергоэффективность, удалив светодиод на макетной плате. Текущий розыгрыш всей установки показан выше.
Цель этого руководства с самого начала заключалась в том, чтобы познакомить вас с миром Интернета вещей. По завершении этого руководства вы будете хорошо владеть основами, которые вы сможете еще больше укрепить с помощью других онлайн-ресурсов.
Хотя на данном этапе вы не сможете создавать сложные проекты, всегда следует помнить, что если у вас есть достаточно прочный кирпич и способ объединить их вместе, то вы можете создать любую вообразимую структуру из простых к сложному. Точно так же, имея хорошее представление об основах и умение правильно их применять, вы сможете создавать множество хитростей. Поэтому похлопайте себя по плечу, сделав первый шаг.
Шаг 5. Кредиты и поддержка
Это руководство состоит из иллюстраций, например тот, который объясняет обмен MQTT, который я сделал лично. Эти иллюстрации стали возможны только благодаря следующим бесплатным пакетам SVG:
- Вектор инфографики создан freepik - www.freepik.com
- Инфографический вектор, созданный starline - www.freepik.com
- Вектор людей создан pikisuperstar - www.freepik.com
- Абстрактный вектор, созданный macrovector - www.freepik.com
- Абстрактный вектор, созданный macrovector - www.freepik.com
- Вектор инфографики создан pikisuperstar - www.freepik.com
Эта инструкция была спонсирована DFRobot. У DFRobot потрясающая коллекция электроники, поэтому обязательно ознакомьтесь с ней.
Если вы чувствуете, что вам понравилась эта инструкция и вы хотите больше подобных инструкций, то вы можете поддержать меня на Patreon. Если вы не можете зайти так далеко, вы можете подписаться на меня здесь, в Instructables.
Рекомендуемые:
Как сделать домашнюю автоматизацию на основе Интернета вещей с помощью реле управления датчиками NodeMCU: 14 шагов (с изображениями)
Как сделать домашнюю автоматизацию на основе IoT с помощью реле управления датчиками NodeMCU: в этом проекте на основе Интернета вещей я сделал домашнюю автоматизацию с помощью Blynk и модуля реле управления NodeMCU с обратной связью в реальном времени. В ручном режиме этим релейным модулем можно управлять с мобильного телефона или смартфона, а также с помощью ручного переключателя. В автоматическом режиме этот умный
Подключение Arduino WiFi к облаку с помощью ESP8266: 7 шагов
Подключение Arduino WiFi к облаку с помощью ESP8266: в этом руководстве мы объясним вам, как подключить Arduino к облаку IoT через Wi-Fi. Мы настроим настройку, состоящую из модуля Wi-Fi Arduino и ESP8266, как вещь IoT и подготовим ее. для связи с облаком AskSensors.L
Можно ли передавать фотографии с помощью устройств Интернета вещей на базе LPWAN?: 6 шагов
Возможна ли передача фотографий с помощью устройств IoT на основе LPWAN ?: LPWAN означает Low Power Wide Area Network, и это вполне подходящая технология связи в области IoT. Типичными технологиями являются Sigfox, LoRa NB-IoT и LTE Cat.M1. Это все технологии междугородной связи с низким энергопотреблением. В г
Подключение датчика DHT11 / DHT22 к облаку с помощью платы на базе ESP8266: 9 шагов
Подключение датчика DHT11 / DHT22 к облаку с помощью платы на базе ESP8266: в предыдущей статье я подключил свою плату NodeMCU на базе ESP8266 к службе Cloud4RPi. Пришло время для настоящего проекта
Мониторинг пула Интернета вещей с помощью ThingsBoard: 8 шагов
Мониторинг пула Интернета вещей с помощью ThingsBoard: в этом руководстве будет показано, как отслеживать pH, ОВП и температуру в бассейне или спа и загружать данные в службу визуализации и хранения ThingsBoard.io