Дорогие друзья! Обращаем ваше внимание, на то, что наш интернет-магазин переехал в новый офис,
расположенный по адресу Васильковская 30. Пожалуйста ознакомьтесь с картой.
В связи с переездом, 24.07 интернет магазин "Ардуино в Украине" будет работать с 14:00. Благодарим за понимание!
(098) 067-12-26 Киевстар (098) 067-12-26   Киевстар
(066) 142-24-48 Vodafone (066) 142-24-48   Vodafone
(098) 067-12-26 Lifecell (063) 642-36-59   Lifecell

График работы магазина:

Пн-Пт: 10.00 - 19.00

Сб-Вс: выходные

г. Киев, ул. Васильковская, 30
ст.м. "Васильковская"

Каталог

Блочное шифрование в IoT

Исторически сложилось, что для IoT (Internet of Things) на базе ZigBee сетей в первую очередь стояла цель минимизировать энергопотребление, потому вопрос безопасности остался без внимания. В данной статье предлагается пример безопасной IoT системы с

Комплекс домашней автоматизации (Часть 2)

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

Генератор радиошума в диапазоне 2.4 ГГц

Генераторы шума обычно используются для научных экспериментов и для тестирования приемо-передающего или антенного оборудования, но еще с помощью них, можно улучшить уже существующую беспроводную инфраструктуру.

Комплекс домашней автоматизации (Часть 1)

Комнатная метеостанция. Основная функция устройства – это сигнализация об аварийных ситуациях, но поскольку на плате установлен микроконтроллер ATmega328p, я решил добавить несколько датчиков для автономности и организации обратной связи.

Роутер на Raspberry Pi 3 с дисплеем

В проекте используются Raspberry Pi 3 и OLED (SSD1306 128x64 I2C или SPI). Для корпуса используется акриловый «сэндвич», так как так наглядней, и обычный 5-вольтовый источник питания силой тока около 0,5 А (этого вполне достаточно: устройство потребляет
Напиши статью и получи скидку!

Комплекс домашней автоматизации (Часть 1)

2017-04-03

Все статьи →

Юрий Иванов

Модуль сбора данных, поступающих от датчиков, собран на основе платы GBoard SIM900 от Itead Studio. Плату пришлось немного доработать напильником, чтобы она поместилась в корпус, и заменить некоторые разъемы. Вместо разъема питания впаян USB разъем, питание осталось на стандартных местах, а на место D+ и D- подключены I2C_SDA и I2C_SCK. Разъем антенны также был удален.

Основная функция устройства — это сигнализация об аварийных ситуациях, но поскольку на плате установлен микроконтроллер ATmega328P, я решил добавить несколько датчиков для автономности и организации обратной связи.

К плате подключены следующие датчики:

- Фоторезистор (2шт.)

- Датчик газа MQ-2

- Датчик температуры цифровой ds18b20

- Датчик влажности и температуры DHT11

- Резистивный делитель в цепи питания 12В

- Электретный микрофон от мобильного телефона

Поскольку встроенный в плату DC-DC понижает напряжение до 4.2 В для питания датчика MQ-2 из подручных средств был спаян преобразователь 12-на-5 В на микросхеме MC34063. Повторять я его не рекомендую, микросхема морально устарела, но на всякий случай схему привожу ниже.

Ct=200
pFIpk=400
mARsc=0.75
OhmLmin=71
uHCo=5 uF
R1=6.8k R2=22k

 
На пины А2, А3, А6, А7 подключены соответственно делитель напряжения питания, датчик газа и два фоторезистора, А4 и А5 используются для I2C связи с мастером, А0 для датчика ds18b20 и А1 для DHT11.

Программа для ардуины в основном работает в режиме подчиненного устройства. По шине I2C принимается команда от мастер-устройства, в ответ посылается результат записи или считывания байта из памяти. Также модуль может самостоятельно посылать предупреждение на заранее запрограммированный номер телефона и адрес почты если датчик регистрирует серьезное повышение количества газа или при пропадании напряжения питания.

Для работы в аварийной ситуации установлен аккумулятор Li-Ion 18650. По команде от мастера модуль набирает номер телефона, отсылает и принимает SMS, отсылает электронную почту, регистрирует показания датчиков. Через Hardware Serial можно наблюдать загрузочную информацию и сообщения об ошибках.

Показания датчиков хранятся в десятичном виде, по два байта на датчик – карта памяти приведена ниже.

mem-map

Номер запрашиваемой команды записывается по адресу 0xF6 (246 байт), если есть параметр, то он записывается в буфер начиная с 0x3C (60 байт) адреса, а его длина в 0xF7 (247 байт). Если модуль должен что-то ответить, то он записывает номер события в 0xF8 (248 байт), а параметр записывает в 0xF9 (249 байт).

Список поддерживаемых команд метеостанции:

Список ответов модуля:

1 - готов ответ на команду (ответ в буфере обмена)

2 - новое смс (номер сообщения в буфере обмена)

3 - входящий вызов

Для работы с SIM900 вначале думал взять библиотеку от SeeedStudio, но пришлось от нее отказаться из-за утечки более килобайта оперативной памяти (у ATmega328P всего 2КБ SRAM). Пришлось переписывать и вносить изменения в функции работы с GPRS модулем, а также дописывать функции работы с SMTP сервером почты (SMTP, SSL, DTMF и другие приятные плюшки доступны в расширенной прошивке модуля, необходимо отдельно перепрошивать модуль), функции для работы с микрофоном, DTMF декодером и воспроизведение AMR звуков. Эти функции необходимы для реализации голосового меню. Голосовое меню доступно при входящем и исходящем вызове.

Голосовое меню имеет следующую структуру при входящем вызове:

  1. Проигрывается запись “Абонент временно недоступен” для отпугивания ошибающихся номером абонентов.
  2. Ждем ввода пинкода и при успешном вводе проигрывается соответствующая мелодия, в ином случае, вызов сбрасывается.
  3. По нажатию кнопки “1” - включается усиление микрофона для прослушивания ситуации вокруг метеостанции (после запуска усиление выставлено на минимум).
  4. По нажатию кнопки “5” - воспроизводится отчет о состоянии датчиков метеостанции и других датчиков дома (утечка газа, утечка воды, отключено электричество, отключен интернет, сработка сигнализации)
  5. По нажатию кнопки “3” - отправляется электронное письмо с показаниями датчиков и вызов завершается.
  6. По нажатию кнопки “7” - отправляется СМС с показаниями аварийных датчиков (вода, газ, свет,сигнализация, интернет).
  7. По нажатию кнопки “4” - отправляется СМС с показаниями дополнительных датчиков (свет, температура, влажность, СО2, состояние SIM900).

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

Ссылки:

  1. Прошивки для модуля SIM900, я установил 1137B06SIM900M64_ST_ENHANCE, там же скачивается Download Tool
  2. Хорошая статья по AT коммандам
  3. Файлы используемые в данной статье – Home-meteo_1.zip
оплата картами Visa и MasterCard