Передача данных на Thingspeak с помощью STM32F103C8T6 и GSM модуля SIM800/900


В данной статье мы рассмотрим IoT проект передачи данных на сервер Thingspeak с помощью платы STM32F103C8T6 (Blue Pill) и GSM модуля SIM800/900. Ранее на нашем сайте мы уже рассматривали подключение GSM модуля к плате STM32F103C8T6, но в нем мы использовали GSM модули только для отправки SMS, здесь же мы будем использовать его для передачи данных на сервер в сети Интернет.

Проект по передаче данных на Thingspeak с помощью STM32F103C8T6 и GSM модуля SIM800/900

Обзор проекта

В настоящее время мы используем модули ESP8266 или ESP32 или любые другие модули Wi-Fi для отправки любых данных датчиков в Интернет по беспроводной сети. Во всех этих решениях используется технология Wi-Fi и во многих случаях это очень даже неплохо смотрится. Но недостатком этих решений является то, что Wi-Fi может быть доступен не везде. Сигнал Wi-Fi ограничен определенными местами и определенным диапазоном до нескольких метров. Например, для того, чтобы использовать подключение IoT (интернета вещей) и получать данные с полей фермера, мы не можем полагаться на Wi-Fi из-за его недоступности. Аналогично, лес, речная зона, горы являются областями, где соединение Wi-Fi недоступно.

Поэтому в данных случаях GSM/GPRS — единственная доступная технология, позволяющая вам передавать данные с микроконтроллера в сеть Интернет. Модуль GSM/GPRS также позволяет добавить отслеживание местоположения, голос, текст, SMS и данные в ваше приложение. Большим преимуществом технологии GSM/GPRS является то, что оно охватывает большую область, и сигнал/подключение доступны практически везде.

Итак, в этой статье мы рассмотрим проект Интернета вещей с использованием модуля GSM/GPRS. Мы будем использовать SIM900A в качестве эталонного модуля GSM/GPRS и подключим его к микроконтроллеру STM32, т. е. плате STM32F103C8T6 (Blue Pill). Мы будем измерять окружающую влажность и температуру с помощью датчика влажности/температуры DHT11. Данные о влажности и температуре будут отправляться на сервер Thingspeak с помощью AT-команд для модуля GSM. Сервер ThingSpeak — это открытая платформа данных и API для Интернета вещей, которая позволяет собирать, хранить, анализировать, визуализировать и действовать на основе данных с датчиков.

Необходимые компоненты

  1. Отладочная плата STM32F103C8 (STM32 Blue Pill) (купить на AliExpress).
  2. GSM модуль SIM800/900 (купить на AliExpress).
  3. Датчик температуры и влажности DHT11 (купить на AliExpress).
  4. Блок питания 12/9 В.
  5. Макетная плата.
  6. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

GSM/GPRS модуль SIM900A

SIM900A — это легкодоступный GSM/GPRS-модуль, используемый во многих мобильных телефонах и КПК. Модуль также можно использовать для разработки проектов IoT (Интернет вещей) и встроенных приложений. Он работает на частотах 900/1800 МГц. Модем оснащен интерфейсом RS232, который позволяет подключать ПК, а также микроконтроллер с чипом RS232 (MAX232). Скорость передачи данных настраивается в диапазоне от 9600 до 115200 с помощью AT-команды. GSM/GPRS-модем имеет внутренний стек TCP/IP, позволяющий подключаться к Интернету через GPRS. Модуль подходит для SMS, голосовых сообщений, а также приложений передачи данных в интерфейсе M2M.

GSM/GPRS модуль SIM900A

Встроенный регулируемый источник питания позволяет подключать широкий спектр нерегулируемых источников питания. Используя этот модем, вы можете совершать и принимать аудиозвонки, отправлять и читать SMS, пользоваться GPRS-интернетом и т. д. с помощью простых AT-команд.

Характеристики GSM/GPRS модема SIM900A: 

1. Входное напряжение: 12 В постоянного тока.
2. Поддержка микрофона, аудиовхода и динамиков.
3. Двухдиапазонный GSM/GPRS 900/1800 МГц.
4. Интерфейс RS232 для прямой связи с компьютером или комплектом MCU.
5. Настраиваемая скорость передачи данных.
6. Проводная антенна (разъем SMA с GSM-антенной опционально).
7. Держатель SIM-карты.
8. Встроенный светодиодный индикатор состояния сети.
9. Встроенный мощный стек протоколов TCP/IP для передачи данных через Интернет с помощью GPRS.
10. GPRS: максимальная скорость загрузки составляет 85,6 Кбит/с, максимальная скорость отправки данных — 42,8 Кбит/с.

Схема проекта

Принципиальная схема подключения GSM-модуля SIM800/900 и датчика DHT11 к плате STM32F103C8T6 для отправки данных на сервер Thingspeak представлена на следующем рисунке.

Принципиальная схема подключения GSM-модуля SIM800/900 и датчика DHT11 к плате STM32F103C8T6

SIM800/900 — это модуль с подключением по UART (последовательный порт). Поэтому нам нужно подключить SIM900A к выводу UART STM32 для последовательной связи. STM32F103C8T6 имеет 4 вывода UART, из них мы будем использовать UART 3 для сопряжения с SIM900A. Итак, подключите выводы TX и RX SIM900 к выводам PB10 и PB11 платы STM32F103C8T6 соответственно. Подайте на модуль GSM питание 9 В/12 В. Аналогично подключите выводы VCC и GND датчика DHT11 к выводу 5 В и GND платы STM32F103C8T6. Подключите его выходной вывод к PA0 платы STM32F103C8T6.

Внешний вид собранной конструкции проекта показан на следующем рисунке.

Внешний вид собранной конструкции проекта

Настройка Thingspeak

ThingSpeak предоставляет очень хороший инструмент для проектов на основе IoT. Используя сайт ThingSpeak, мы можем отслеживать наши данные и управлять нашей системой через Интернет, используя каналы и веб-страницы, предоставляемые ThingSpeak. Поэтому сначала вам нужно зарегистрироваться в ThingSpeak. Для этого зайдите на сайт https://thingspeak.com и создайте учетную запись.

Главная страница сайта https://thingspeak.com

Затем создайте новый канал и настройте его по своему усмотрению.

Создание нового канала на ThingSpeak

Затем создайте ключи API. Этот ключ необходим для программирования модификаций и настройки ваших данных. Сохраните полученный ключ у себя в надежном месте - он нам понадобится для программы.

Получение API ключей на ThingSpeak

Теперь нажмите на каналы, чтобы увидеть онлайн-трансляцию данных.

Если у вас возникли какие либо проблемы по работе с сервисом ThingSpeak, то вы можете посмотреть на нашем сайте все проекты с использованием ThingSpeak, я думаю в них вы найдете ответы на интересующие вас вопросы.

Исходный код программы

Исходный код программы для отправки данных на Thingspeak с помощью платы STM32F103C8T6 и GSM/GPRS модуля SIM800/900 приведен ниже. Вы можете просто скопировать код и загрузить его на плату STM32.

Но перед этим вам нужно внести два изменения в код. Сначала измените свои APN Services. В моем случае я использую Airtel SIM, а APN по умолчанию для Airtel — airtelgprs.com. Вы можете проверить APN вашей SIM-карты у вашего провайдера сотовой связи.

Изменение APN Services в коде программы

Вам также необходимо внести изменения в ключ API из thingspeak.

Внесение изменений в коде программы в ключ API из thingspeak

Тестирование работы проекта

После загрузки кода на плату STM32F103C8T6 модуль начнет отвечать. Вы можете открыть окно монитора последовательной связи и увидеть там следующую картину.

Тестирование работы проекта в окне монитора последовательной связи

Аналогичным образом вы можете открыть приватный просмотр Thingspeak и просмотреть зарегистрированные там данные о температуре и влажности.

Тестирование работы проекта на сервисе Thingspeak

(Проголосуй первым!)
Загрузка...
27 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *