Микроконтроллеры в силу своей природы, позволяют выполнять различные не сложные операции, при этом не затрачивая большого количества энергии, что в итоге удешевляет их дальнейшее применение. Они достаточно малы для применения в интернете вещей и потребляют малое количество энергии, что позволяет питать их от аккумуляторов.
Устройства Интернета вещей – полностью автономные устройства, имеющие связь с внешним миром и с интернетом, благодаря которым возможно получение данных удаленно, имеющие автономные источники питания..
В качестве GPRS модуля используется SIM800H, SIM800H так как он является наиболее доступным и недорогим вариантом на рынке и удовлетворяет все необходимые потребности. Данный датчик имеет 4 пина, которые описаны в таблице 1 [1].
Таблица 1 – Назначения портов SIM800H
Обозначение порта |
Тип порта |
Значение |
Уровень напряжения |
V |
Порт питания |
Порт питания модуля |
От 3.4 до 4.4 В |
GND |
Земля |
Земля модуля |
Земля |
GND |
Земля |
Земля слота SIM |
Земля |
SIM_TXD |
Цифровой порт |
Вывод TX Serial порта |
От 2.5 – до 3 В |
SIM_RXD |
Цифровой порт |
Вывод RX Serial порта |
От 2.5 – до 3 В |
RST |
Сброс |
Перезагрузка модуля |
От 1 – до 4 В |
В качестве микроконтроллера выбрана плата Arduino UNO R3, так как она оснащена достаточным количеством цифровых и аналоговых портов – 12 цифровых портов и 6 аналоговых [3]. Внешний вид данной платы и описание пинов представлены на рисунке 1.
Рисунок 1 – Внешний вид Arduino UNO R3 и назначение портов
В качестве питающей сети для МПС был выбран источник постоянного напряжения со значением 5В от USB порта для подключения Arduino к ПК. Т. к. Arduino потребляет не более 100 мА, то питания от USB порта ему достаточно.
Для разработки системы удаленного использования был проведен анализ требований пользователя по теме курсовой работы и определены следующие требования:
сборка должна иметь доступ в сеть интернет;
должно быть реализовано подключение к IoT сервису Blynk;
сервис должен быть доступен на известных мобильных платформах;
сервис должен находиться в специальном облаке от разработчика;
приложение должно отображать уровень сигнала от модуля;
приложение должно уметь управлять встроенным LED индикатором.
На основе определенных выше пользовательских требований, была составлена функциональная спецификация системы.
для сборки устройства используется Arduino UNO и GSM модем SIM800H;
в модем требуется SIM карта формата Micro SIM;
для выхода в сеть Интернет используется GSM модем;
питание модема от источника постоянного тока с напряжением 12В;
мощность источника тока должна составлять более 12 ватт;
для понижения уровня напряжения с источника постоянного тока использовать понижающий dc-dc модуль на основе lm2596;
питание платы Arduino производить от встроенного usb порта;
при настройке модема подключение происходит через Programm Serial на основе порта Arduino с использование специальных AT команд..
Структурная схема разрабатываемой системы представлена на рисунке 2.
Рисунок 2 – Структурная схема системы подключения ESP8266 к датчикам и сети Интернет
Согласно функциональной схеме, пользовательским требованиям и функциональной спецификации, устройство должно иметь возможность подключаться к сети GPRS, а также принимать и отправлять данные.
Т.к. рекомендуемое номинально напряжение модуля SIM800H лежит в диапазоне 3.8–4.0 В, было решено использовать преобразователь напряжения на основе LM2596S. Далее необходимо учесть, что уровни UART GSM модуля лежат в диапазоне 2.8–3.1В, а уровни Arduino – 5В [1]. Соответственно необходима цепь согласования. Т. к. логический уровень «1» на портах Arduino начинается от 1В, то в случае передачи данным от модуля к МК, надобность в цепи согласования отпадает. А в случае передачи от МК к модулю, на порте МК напряжения равно 5В, что не рекомендуется для модуля, соответственно в данном случае цепь согласования необходима.
Питание Arduino можно организовать посредством подключения по USB с напряжением 5 В, так как встроенный линейный стабилизатор напряжения преобразует входной в микроконтроллер сигнал в 3.3 В, что необходимо для стабильной работы устройства.
На основе вышесказанного была разработана принципиальная схема системы, которая представлена на рисунке 3.
Рисунок 3 – Принципиальная схема системы
Представим алгоритм функционирования ПО в виде блок-схем – рисунки 4 – 5.
Алгоритм соединения с модулем GSM представлен ниже.
Рисунок 4 – Алгоритм соединения с модулем
Т.к. нам необходимо МК необходимо производить обмен данными с 2 устройствами: ПК разработчика и модуль, необходимо установить отдельно на пины 2 и 3 функцию обмена по протоколу UART. Необходимо установить скорость обмена для соединения с ПК, так и для соединения с модулем т. к. они пользуются разными модулями UART.
Следующая задача, соединение с сервером Blynk. Подключение к данному серверу производится с помощью специальной библиотеки, но благодаря тому, что библиотека открыта, есть возможность увидеть принцип ее работы. Ниже представлен алгоритм подключения к серверу.
Рисунок 5 – Алгоритм общения с сервером
Для подключения к сети Интернет используются такие библиотеки как: TinyGSM, BlynkSimpleTinyGSM.
TinyGSM позволяет организовать удобную работу с модулем SIM800, возможность проверки сигнала сети, регистрации и IP адреса.
BlynkSimpleTinyGSM – библиотека для подключения к серверу Blynk. Также интегрирует несколько методов, которые позволяют обрабатывать события со стороны сервера.
Таким образом, в данной работе было произведено проектирование аппаратной части, разработана принципиальная схема устройства, разработан алгоритм программного обеспечения, реализация которого осуществлена на языке Arduino C (программный код опущен). В конечном итоге была разработана система сбора данных о микроклимате в помещении.
Список использованных источников:
1. GSM - модуль SIM800L: самый полный мануал (на примерах с Arduino Uno) — часть 1. Введение [Электронный ресурс]. – Режим доступа URL: https://codius.ru/articles/GSM_модуль_SIM800L_часть_1 (дата обращения 11.12.2021).
2. Петин В.А. Arduino и Raspberry Pi в проектах Intemet ofТhings. - СПб.: БХВ-Петербург, 2016. - 320 с.