Оглавление:

Домашняя автоматизация на базе Android и Arduino с помощью SMS: 5 шагов (с изображениями)
Домашняя автоматизация на базе Android и Arduino с помощью SMS: 5 шагов (с изображениями)

Видео: Домашняя автоматизация на базе Android и Arduino с помощью SMS: 5 шагов (с изображениями)

Видео: Домашняя автоматизация на базе Android и Arduino с помощью SMS: 5 шагов (с изображениями)
Видео: Умная теплица на Arduino с управлением/мониторингом по GSM/GPRS 2024, Ноябрь
Anonim
Домашняя автоматизация на базе Android и Arduino SMS
Домашняя автоматизация на базе Android и Arduino SMS
Домашняя автоматизация на базе Android и Arduino SMS
Домашняя автоматизация на базе Android и Arduino SMS

! ! ! УВЕДОМЛЕНИЕ ! ! !

Из-за того, что в моем районе модернизируется вышка сотовой связи, я больше не могу использовать этот модуль GSM. Более новая башня больше не поддерживает устройства 2G. Поэтому я больше не могу поддерживать этот проект

Недавно я получил относительно дешевый четырехдиапазонный модуль GSM / GPRS для игры. Это модуль SIM800L, который связывается с любым микроконтроллером через последовательный порт. Он поставлялся в комплекте с панельной антенной.

Я решил создать простую систему SMS-контроллера, которая использует команды службы коротких сообщений (SMS) для управления устройствами и индикации сигналов тревоги.

Шаг 1: SMS-команды

SMS-команды
SMS-команды

Как и в любой системе связи, удаленному устройству необходимо отправить определенные команды, чтобы сообщить ему, что делать. Точно так же удаленное устройство должно отвечать или реагировать на эти команды. Этот проект состоит из двух частей: SMS-контроллера и стандартного сотового телефона.

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

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

Перед началом сборки я решил создать определенные команды для определенных функций. Эти «команды» будут отправлены с помощью SMS с сотового телефона.

Команды приема SMS-контроллером:

o1: 1 - включить выход 1

o1: 0 - выключить выход 1

o1: p - импульсный выход 1 включить, затем выключить

o2: 1 - включить выход 2

o2: 0 - выключить выход 2

o2: p - импульсный выход 2 включить, затем выключить

o3: 1 - включить выход 3

o3: 0 - выключить выход 3

o3: p - импульсный выход 3 включить, затем выключить

o4: 1 - включить выход 4

o4: 0 - выключить выход 4

o4: p - импульсный выход 4 включить, затем выключить

???? - Статус запроса входов и выходов

#### - Сбросить систему

Для обратной связи SMS-контроллер должен ответить на полученные команды и ответить SMS-сообщением. Я решил, что это ответное SMS должно включать статус всех контактов ввода / вывода.

Команды ответа контроллера SMS:

i1: x i2: x i3: x i4: x o1: x o2: x o3: x o4: x

где x - состояние ввода / вывода, 1 - включено, 0 - выключено.

Шаг 2: Сборка SMS-контроллера

Сборка SMS-контроллера
Сборка SMS-контроллера
Сборка SMS-контроллера
Сборка SMS-контроллера
Сборка SMS-контроллера
Сборка SMS-контроллера

Необходимое оборудование:

Любой Arduino или автономный ATMEGA328p на макетной плате

Модуль SIM800L GSM / GPRS с сим-картой, способной отправлять и получать SMS

Понижающий преобразователь постоянного тока в постоянный

ПРИМЕЧАНИЕ !

Преобразователь постоянного тока в постоянный требуется для питания модуля SIM800L. Этот модуль работает в диапазоне от 3,7 В до 5 В, в зависимости от вашей версии. Для этого модуля также требуется источник питания, который может выдавать до 2 А при передаче данных модулем. Его нельзя запитать напрямую от Arduino Uno !

Схема довольно простая. Собрал и протестировал на макетной плате.

Питание схемы осуществляется через преобразователь постоянного тока в постоянный с выходным напряжением, установленным на 4,5 В. Есть четыре светодиода для имитации цифровых выходов и четыре кнопки для цифровых входов. SIM800L подключается к контактам Rx / Tx ATMEGA328p.

Пятый светодиод используется для индикации того, что система занята отправкой SMS.

Шаг 3: Программирование ATMEGA328p

Программирование ATMEGA328p
Программирование ATMEGA328p
Программирование ATMEGA328p
Программирование ATMEGA328p

Перед программированием откройте файл INO и отредактируйте номер телефона. Замените xxxxxxxxxx на свой собственный номер сотового телефона в строке 46. Перекомпилируйте и загрузите файл.

Также прочтите инструкции по настройке программного последовательного порта в INO-файле.

//=============================================================================//

//! ! ! ПРИМЕЧАНИЕ ! ! !

// ================

//

// БУФЕР В ПОСЛЕДОВАТЕЛЬНОЙ БИБЛИОТЕКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МЕНЯЕТСЯ ДО 200

//

// Чтобы использовать Software Serial, пользователь также должен изменить Software Serial BUFFER на 200.

// Это необходимо отредактировать в следующем файле:

//

// C: / Program Files / Arduino x.x.x / Hardware / Arduino / AVR / Libraries / SoftwareSerial / src / SoftWareSerial.h

//

// Изменяем буфер, как показано ниже:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// Размер буфера приема

// #endif

//

//=============================================================================

Обратитесь к этой инструкции, чтобы запрограммировать ATMEGA328p на макетной плате с использованием Arduino UNO.

www.instructables.com/id/Arduino-UNO-as-AtM…

Шаг 4: Использование SMS-контроллера

Использование SMS-контроллера
Использование SMS-контроллера

Использование SMS-контроллера

Контроллер SMS автоматически отправит SMS на ваш телефон при срабатывании любого из четырех входов. Детали триггера будут содержаться в тексте SMS.

SMS-сообщения и команды могут быть отредактированы в соответствии с вашими потребностями в файле INO.

Тестирование выходов SMS-контроллера

Отправьте со своего сотового телефона следующие команды на номер вашей SIM-карты SIM800L:

o1: 1, это включит выход 1.

На свой телефон вы получите следующее SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 1 o2: 0 03: 0 o4: 0

01: 0, это отключит выход 1.

На свой телефон вы получите следующее SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

01: p, это включит выход 1 на 1 секунду, затем снова выключит выход 1 (импульсный).

На свой телефон вы получите следующее SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Тестирование входов контроллера SMS

На контроллере SMS кратковременно нажмите кнопку 1.

На свой телефон вы автоматически получите следующее SMS:

i1: 1 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

На контроллере SMS кратковременно нажмите кнопку 2.

На свой телефон вы автоматически получите следующее SMS:

i1: 1 i2: 1 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

На контроллере SMS кратковременно нажмите кнопку 3.

На свой телефон вы автоматически получите следующее SMS:

i1: 1 i2: 1i3: 1 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Как видно из полученного SMS, выходы меняются в соответствии с полученными командами. Однако после нажатия кнопок значения входов не меняются обратно с 1 на 0. Поскольку я хотел видеть любые изменения на входах, я решил зафиксировать состояние входа до тех пор, пока не будет отправлена команда сброса на контроллер SMS.

Сбросить будильники

Чтобы сбросить статус входа, отправьте следующую команду:

####, это сбросит статус входа.

На свой телефон вы получите следующее SMS:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Обновления статуса

Вы также можете запросить статус в любое время, отправив следующую команду:

????, это запросит обновление статуса входов / выходов.

На свой телефон вы получите следующее SMS:

i1: x i2: x i3: x i4: x o1: x o2: x 03: x o4: x

где x указывает состояние, 1 - включено, 0 - выключено.

Шаг 5. Приложение для Android

Приложение для Android
Приложение для Android
Приложение для Android
Приложение для Android
Приложение для Android
Приложение для Android

Используя MIT App Inventor 2 (https://ai2.appinventor.mit.edu/), я создал простой пользовательский интерфейс для своего сотового телефона Android. Это приложение позволяет настраивать описание каждого ввода / вывода. Он также позволяет вводить телефонный номер.

Четыре кнопки используются для управления выходами, а флажки указывают состояние входа.

Чтобы отредактировать приложение, создайте учетную запись MIT App Inventor 2 и импортируйте файл AIA.

Чтобы установить приложение на свой телефон, скопируйте файл APK на свой телефон и установите его. Вам нужно будет включить установку приложений из «Неизвестных источников» в настройках безопасности вашего телефона.

Рекомендуемые: