GSM контроллер и ThingSpeak.com

Благодаря облачному сервису thingspeak.com теперь есть возможность собирать и обрабатывать данные получаемые напрямую от контроллеров, таких как GSM controller V3 и LAN controller V2 . Так же thingspeak.com является полностью бесплатным проектом.

Пара слов о ThingSpeak.com. Это сервис, который позволяет собирать, анализировать и обрабатывать данные, полученных посредством url-запросов.

ThingSpeak имеет в своем арсенале:

  • сбор данных с меткой времени и координат;
  • обработку и визуализацию данных с помощью MATLAB и Java;
  • готовые плагины и приложения.
ThingSpeak: Collect, Analyze, Act

Чтоб наглядно увидеть как это работает необходимо:

1. Войти в существующий или зарегистрировать новый аккаунт ThingSpeak.
2. Перейти на Channels, и создать новый канал (New Сhannel).
3. Посмотреть Write API Key для данного канала:
4. Отправить данные на канал с помощью url-запроса с браузера:
https://api.thingspeak.com/update?api_key=WRITE_API_KEY&field1=147
5. Посмотреть на результат:

Отправка данных на thingspeak.com

Таким образом можно отправлять до 8 значений “field” на один канал. Все они отобразятся на разных графиках. И самое главное - их можно будет обработать c помощью MATLAB и, к примеру, вывести на отдельный график результат:

График, полученный при помощи MatLab

В этом примере выведен график рассчитанной точки росы исходя из данных о влажности и температуре воздуха. Это далеко не все возможности MATLAB и ThingSpeak.

Итак, приступим.
Для простого примера получения данных о температуре и влажности с датчика DHT22, необходимо:

  • компьютер;
  • интернет;
  • GSM controller V3;
  • датчик DHT22;
  • сим карта с подключенным GPRS.

Первым делом, перед подключением GSM контроллера к компьютеру, нужно установить драйвер виртуального COM порта. Скачать их можно с сайта www.tinycontrol.pl в разделе GSM controller V3 ---> Documentation and Firmware ---> USB port driver.

Там же, есть утилита для конфигурации контроллера GsmControllerTools_win_x86_eng.exe

После установки открываем "Диспетчер устройств", смотрим номер COM порта.

Виртуальный COM-port

Открываем ранее скачанную утилиту GSMcontrollerTools EN v1.0 выбираем нужный порт, открываем его и логинимся на устройство (пароль по умолчанию - 1234). В итоге появится зеленый статус "connected">. Если не получилось - пере-подключаем USB.

Подключаемся к gsm контроллеру по USB

Список доступных команд можно посмотреть в официальном руководстве Manual v1 for GSMv3. Часть из них продублирована кнопками в интерфейсе программы. Например, чтобы узнать версию железа и прошивки пишем version. Или проверить баланс - команда cusd. Для киевстара это: cusd=*111#

Баланс отобразиться в командной строке.

Проверка баланса с помощью командной строки

Эти же команды используются при управлении контроллером по смс. Только в этом случае нужно добавлять код авторизации перед командой. Например для проверки того же баланса с телефона в смс указываем ХХХХ:cusd=*111#, где ХХХХ код авторизации (1234 по умолчанию).

В данный момент нам интересны команды:
httpurl - задает нужный url;
httpsend - отправляет указанный запрос единоразово;
httpautosend - задает автоматическую отправку url.

В командную строку пишем следующее:

httpurl=api.thingspeak.com/update?key=WRITE_API_KEY&field1=#Х/,&field2=

WRITE_API_KEY берем с канала на ThingSpeak. Вместо Х подставляем номер датчика. Для DHT22 это 10 (температура) и 11 (влажность).
Номера остальных датчиков есть в инструкции к GSM контроллеру.

Отправка данных на Thingspeak

Выполнив команду httpsend получим результат на thingspeak.com. Значения отправляются без запятой, т.е. Temperature 204 = 20,4 по шкале Цельсия.

Получение данных с GSM контроллера

Команда httpautosend позволяет автоматически отправлять значение через заданный промежуток времени. К примеру, httpautosend=5 означает отправку каждые 5 секунд. Для остановки нужно ввести httpautosend=0.
График рисуется автоматически из полученных данных.

График из полученных данных с GSM контроллера

Как уже упоминалось ранее, данные полученные с датчиков, можно обрабатывать и отображать в удобном для наблюдения виде. Например в таком:

Вывод данных в удобном виде

С помощью JavaScript можно будет создавать и более интересные вещи.
Помимо отображения информации, thingspeak имеет и другие функции взаимодействия:

  • ThingTweet - публикует “твиты”;
  • TweetControl - использует “твиты” как команды, т.е. позволяет управлять контроллером прямо из твиттера;
  • TimeControl - выполняет действия с thingspeak app в заданное время;
  • React - выполняет действие при превышении или понижении заданного параметра;
  • TalkBack - может отправлять команды на устройство;
  • ThingHTTP - помогает взаимодействовать с другими сервисами в интернете, например отправить смс с помощью twillo или email с помощью PushingBox.
Приложения thingspeak

Таким образом, сервис ThingSpeak расширяет возможности таких "несложных" устройств как GSM/LAN контроллеры от tinicontrol и микроконтроллеров других производителей.
Как известно, множество проектов уже реализовано на Arduino. Но, тем не менее, tinycontrol предлагает уже готовые решения для реализации простых задач автоматизации отдаленных объектов используя сбор, анализ и обработку данных с различных датчиков или логических цифровых и аналоговых входов.


Копирование материала приветствуется при наличии активной ссылки на Proline.biz.ua.

Перетелефонуйте мені