Мониторинг температуры через интернет с помощью GSM-модуля SIM900. Урок 4.
В предыдущем уроке мы рассмотрели, как принципиально работает управляющая программа передающего устройства, показали, как модули устройства взаимодействуют между собой. Настало время перейти непосредственно к программной реализации алгоритма работы…
Программируем контроллер
После того, как устройство собрано – самое время его «прошить». Для этого нужно выполнить несколько несложных шагов.
Шаг 1: Качаем последнюю версию Arduino IDE с официального сайта Arduino.
Рис. 1. Скачиваем Arduino IDE
Выбираем версию программы для вашей операционной системы (рис. 1), скачиваем её и устанавливаем на свой компьютер.
Шаг 2: Качаем библиотеку “OneWire” отсюда.
Скачиваем архив с библиотекой, распаковываем и копируем его содержимое в директорию с установленной ArduinoIDE в папку libraries. Эта библиотека пригодится для информационного обмена с термодатчиком.
Шаг 3: Регистрируемся на облачном сервисе LS Cloud.
Теперь самое время зарегистрироваться на сервисе, куда устройство будет передавать свои данные.
Этот сервис мы создали для того, чтобы Вы уже на этом этапе смогли опробовать работу своего устройства. Ну а для тех, кто хочет понять, как сервер устроен «внутри», следите за выходом следующих уроков. В одном из них мы покажем, как самостоятельно создать веб-сервис.
Заходим на t.lazysmart.ru, проходим стандартную процедуру регистрации и получаем доступ к своему аккаунту.
Рис. 2. Регистрация на LS Cloud
Для начала работы нужно создать новое устройство.
Рис. 3. Создание нового устройства
Нажимаем на кнопку «Добавить новое устройство» и в появившемся окне вводим любое имя, например «Мой объект».
После добавления, устройство появится в списке в левой части экрана, а в правой части — формы для отображения данных устройства (самих данных пока нет, т.к. устройство ещё ничего не передавало) (рис. 4).
Рис. 4. Только что созданное устройство
Теперь переходим в настройки прибора и смотрим его идентификационные параметры: логин и пароль.
Рис. 5. Идентификационные параметры
Эти данные мы внесём в прошивку контроллера. Они нужны, чтобы устройство авторизовалось на сервере при передаче данных.
Шаг 4: Подключаем устройство к компьютеру.
С помощью USB-кабеля подключаем собранное устройство к ПК. При этом в диспетчере устройств должно появиться новое устройство “Arduino Mega 2560”.
Рис. 6. Arduino Mega в Диспетчере устройств
В скобках указан COM-порт для связи с платой контроллера. Его нужно будет указать в настройках подключения Arduino IDE.
Если вы первый раз подключили Arduino к своему компьютеру, рекомендуем перезагрузить систему, иначе Arduino IDE может некорректно работать с драйвером устройства.
Шаг 5: Зашиваем программу в контроллер.
Cкачиваем отсюда код программы для Arduino Mega и открываем её в Arduino IDE. Код щедро откомментирован, чтобы в нём можно было разобраться.
Теперь ищем в программе строки (25 и 26), в которых задаются логин и пароль устройства, и прописываем туда данные полученные из настроек прибора на сервисе LS Cloud .
Рис. 7. Замена логина и пароля
На рис. 7 параметрам LOG и PAS присвоены значения по умолчанию. Меняем их на логин и пароль из настроек прибора (рис. 5).
Перед прошивкой программы проверим настройки параметров загрузки через меню «Инструменты» ArduinoIDE.
Рис. 8. Выбираем плату «Arduino/Genuino Mega or Mega 2560»
Рис. 9. Указываем COM-порт, который будет использоваться для прошивки контроллера
Теперь можно прошить программу в контроллер. Нажимаем на кнопку
в ArduinoIDE и ждём окончания загрузки.
Готово! Теперь устройство будет передавать данные о температуре на сервер и выполнять полученные от него команды для реле. Можно зайти на сервис LS Cloud и убедиться, что устройство на связи.
После того, как мы убедились, что всё работает, можно отключить нашу систему от компьютера и поставить её на постоянное место работы, например в погреб или теплицу. Питать схему будем от источника (рис. 10), используя тот же USB-кабель, с помощью которого мы подключали его к компьютеру.
Рис. 10. Источник питания 5В 2А
Диагностика неисправностей
Если после сборки что-то пошло не так и устройство не установило связь с сервером, можно воспользоваться встроенной функцией диагностики, чтобы выявить причину.
Для этого необходимо выбрать пункт «Монитор порта» из меню «Инструменты».
Рис. 11. Выбираем «Монитор порта»
Откроется окно, куда будут приходить диагностические сообщения от устройства (рис. 12). Важно указать скорость порта 57600 бод.
Рис. 12. Диагностические сообщения от устройства
По диагностическим сообщениям можно понять, в каком состоянии находится устройство, на каком этапе у него возникают сложности при обмене с сервером. Если разобраться самостоятельно не получается, пишите нам в комментарии и прикладывайте лог сообщений, а мы обязательно поможем!
Заключение
На этом создание системы дистанционного контроля температуры закончено. Теперь, когда Вы понимаете всю технологию передачи данных от сервера к устройству и обратно, Вы можете добавить в систему другие датчики (движения, влажности, загазованности и т.д.) и исполнительные устройства. Конечно, для этого понадобится модернизировать интерфейс веб-приложения, чтобы дистанционно управлять этими параметрами. Поэтому на очереди у нас серия уроков, где мы расскажем, как устроено веб-приложение и как создать его самостоятельно. Читайте LAZY SMART и вступайте в нашу группу Вконтакте, чтобы не пропустить новую статью.









Постоянно выдаёт следующее сообщение…
Turn modem on
Modem power on
SIM800L not answer. Reload modem…
RELOAD…
Помогите пожалуйста???
Модем не отвечает,проблема с сим картой, проблема с устройством работы с сим картой или питание, проверить настройки и протестировать и т.д.
Тоже постоянно выдает
Turn modem on
Modem power on
SIM800L not answer. Reload modem…
RELOAD…
Можете помочь?
Спасибо!
Кстати для модема sim800L нужно питание 4V, макс 4,5V.Иначе будет уходить в ошибку
Добрый день, столкнулся с проблемой что Sim900 не отвечает, сам модуль http://www.kosmodrom.com.ua/el.php?name=SIM900-SHIELD-FOR-ARDUINO .
переподключал все контакты вручную через перемычки, может с этим проблема? поискав на форумах ничего толкового не находил
с ардуино работаю впервые, кто бы мог помочь?