Благодаря облачному сервису thingspeak.com теперь есть возможность собирать и обрабатывать данные получаемые напрямую от контроллеров, таких как GSM controller V3 и LAN controller V2 . Так же thingspeak.com является полностью бесплатным проектом.
Пара слов о ThingSpeak.com. Это сервис, который позволяет собирать, анализировать и обрабатывать данные, полученных посредством url-запросов.
ThingSpeak имеет в своем арсенале:
Чтоб наглядно увидеть как это работает необходимо:
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. Посмотреть на результат:
Таким образом можно отправлять до 8 значений “field” на один канал. Все они отобразятся на разных графиках. И самое главное - их можно будет обработать c помощью MATLAB и, к примеру, вывести на отдельный график результат:
В этом примере выведен график рассчитанной точки росы исходя из данных о влажности и температуре воздуха. Это далеко не все возможности MATLAB и ThingSpeak.
Итак, приступим.
Для простого примера получения данных о температуре и влажности с датчика DHT22, необходимо:
Первым делом, перед подключением GSM контроллера к компьютеру, нужно установить драйвер виртуального COM порта. Скачать их можно с сайта www.tinycontrol.pl в разделе GSM controller V3 ---> Documentation and Firmware ---> USB port driver.
Там же, есть утилита для конфигурации контроллера GsmControllerTools_win_x86_eng.exe
После установки открываем "Диспетчер устройств", смотрим номер COM порта.
Открываем ранее скачанную утилиту GSMcontrollerTools EN v1.0 выбираем нужный порт, открываем его и логинимся на устройство (пароль по умолчанию - 1234). В итоге появится зеленый статус "connected">. Если не получилось - пере-подключаем 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 контроллеру.
Выполнив команду httpsend получим результат на thingspeak.com. Значения отправляются без запятой, т.е. Temperature 204 = 20,4 по шкале Цельсия.
Команда httpautosend позволяет автоматически отправлять значение через заданный промежуток времени. К примеру, httpautosend=5 означает отправку каждые 5 секунд. Для остановки нужно ввести httpautosend=0.
График рисуется автоматически из полученных данных.
Как уже упоминалось ранее, данные полученные с датчиков, можно обрабатывать и отображать в удобном для наблюдения виде. Например в таком:
С помощью JavaScript можно будет создавать и более интересные вещи.
Помимо отображения информации, thingspeak имеет и другие функции взаимодействия:
Таким образом, сервис ThingSpeak расширяет возможности таких "несложных" устройств как GSM/LAN контроллеры от tinicontrol и микроконтроллеров других производителей.
Как известно, множество проектов уже реализовано на Arduino. Но, тем не менее, tinycontrol предлагает уже готовые решения для реализации простых задач автоматизации отдаленных объектов используя сбор, анализ и обработку данных с различных датчиков или логических цифровых и аналоговых входов.
Копирование материала приветствуется при наличии активной ссылки на Proline.biz.ua.