Как сделать GSM сигнализацию на Arduino своими руками. Какие компоненты понадобятся для сборки. Как настроить и запрограммировать устройство. Какие функции имеет самодельная охранная система.
Компоненты для сборки GSM сигнализации на Arduino
Для создания простейшей GSM сигнализации на базе Arduino понадобятся следующие основные компоненты:
- Плата Arduino Nano или Micro
- GSM модем Neo M590 или SIM800
- Датчик движения PIR AM312 или другой сенсор
- Аккумулятор 18650 или блок питания 5В
- SIM-карта любого оператора
Дополнительно могут потребоваться провода, резисторы, светодиоды и другие мелкие детали для подключения. Общая стоимость компонентов составит около 1000-1500 рублей, что делает проект действительно бюджетным.
Схема подключения и распиновка
Распиновка основных элементов сигнализации для Arduino Nano выглядит следующим образом:
- D8-D11 — подключение датчиков (до 4 штук)
- D12 — контроль внешнего питания
- D2 — кнопка включения/отключения охраны
- D4 — управление сиреной
- D5 — загрузка GSM модема
- D13 — индикаторный светодиод
GSM модем подключается к пинам TX и RX Arduino для обмена данными. Питание на компоненты подается либо от аккумулятора, либо от стабилизированного блока питания 5В.

Функции и возможности самодельной GSM сигнализации
Разработанная сигнализация на базе Arduino обладает следующим функционалом:
- Постановка/снятие с охраны с помощью кнопки или SMS
- Отправка SMS и звонок при срабатывании датчиков
- Контроль до 4 охранных зон (датчиков)
- Мониторинг внешнего питания
- Управление дополнительными устройствами по SMS
- Запрос баланса SIM-карты
- Энергосберегающий режим сна для автономной работы
Все настройки и управление осуществляются с помощью SMS-команд с телефона администратора. Это позволяет удаленно контролировать систему.
Программирование Arduino для GSM сигнализации
Для программирования устройства используется стандартная среда разработки Arduino IDE. Основной алгоритм работы сигнализации выглядит следующим образом:
- Инициализация и настройка GSM модема
- Ожидание SMS-команд в активном режиме
- При постановке на охрану — переход в режим сна
- Пробуждение по сигналу от датчиков
- Отправка тревожных SMS и звонков
- Ожидание команд и повторный переход в сон
Код занимает около 11-14 КБ в зависимости от модели Arduino. Для хранения настроек используется 40 ячеек EEPROM. Прошивка оптимизирована для длительной автономной работы от аккумулятора.

Настройка и отладка GSM сигнализации
Перед использованием необходимо произвести первоначальную настройку устройства. Какие основные параметры нужно задать при настройке GSM сигнализации на Arduino?
- Номер телефона администратора
- Режим энергосбережения (сна)
- Настройки датчиков
- USSD-запрос для проверки баланса
- Текст SMS-уведомлений
Все настройки задаются с помощью SMS-команд с определенным синтаксисом. Например, ADMIN:1234567890 задает номер администратора, а SLEEP:ON включает режим сна. Проверить текущие настройки можно командой CONFIG.
Основные SMS-команды для управления
Для управления самодельной GSM сигнализацией на Arduino используются следующие основные SMS-команды:
- ARM — постановка на охрану
- DISARM — снятие с охраны
- STATUS — запрос текущего состояния
- BALANCE — проверка баланса SIM-карты
- RESET — перезагрузка устройства
- BELL:ON — включение сирены
- SLEEP:OFF — отключение режима сна
Команды отправляются на номер SIM-карты, установленной в GSM модем сигнализации. Ответ приходит в виде SMS на телефон администратора. Это позволяет удобно управлять системой удаленно.

Преимущества и недостатки самодельной GSM сигнализации
Какие плюсы и минусы имеет GSM сигнализация на Arduino, сделанная своими руками? Рассмотрим основные моменты:
Преимущества:
- Низкая стоимость компонентов
- Гибкая настройка под свои задачи
- Возможность модернизации и добавления функций
- Автономная работа от аккумулятора
- Простота монтажа и обслуживания
Недостатки:
- Ограниченный функционал по сравнению с профессиональными системами
- Необходимость навыков программирования для доработки
- Отсутствие сертификации и гарантий
- Возможны ложные срабатывания
В целом, самодельная GSM сигнализация подходит для простой охраны дачи, гаража или небольшого офиса. Для защиты ценного имущества лучше использовать профессиональные решения.
Рекомендации по эксплуатации самодельной сигнализации
Чтобы обеспечить стабильную работу GSM сигнализации на Arduino, следует придерживаться нескольких правил:
- Использовать качественный стабилизированный блок питания
- Регулярно проверять баланс SIM-карты
- Периодически тестировать срабатывание датчиков
- Защитить устройство от влаги и пыли
- Настроить автоматическое включение при подаче питания
- Установить резервный аккумулятор на случай отключения электричества
При правильной настройке и эксплуатации самодельная GSM сигнализация может служить надежно в течение длительного времени. Однако не стоит забывать о ее ограничениях по сравнению с профессиональными системами безопасности.

Шановні клієнти! У зв’язку з перебоями у енергопостачанні, обробка замовлень може займати 2-4 дні. Сподіваємося на Ваше розуміння.
|
Бюджетная + Энергоэффективная GSM сигнализация на Arduino
Вдохновление питал из этих двух известных обзоров на этом сайте: mysku. club/blog/ebay/51321.html, mysku.club/blog/ebay/44545.html
Изначально хотел свою маленькую энерго эффективную (от любого акума 4,2В) но с более грамотным кодом сигналку, хотя ардуино я знал на уровне базовых уроков :).
За основу была взята статья от CTAHOK и с неё началось медленное более углубленное изучение контроллера и Си.
Для понимании происходящего эти два обзора обязательны к прочтению.
Замечу, Arduino Pro Mini RobotDyn реально меньше кушает, так что если вам нужен автономный вариант, не пренебрегайте этим советом. Но главное это грамотный уход в сон. Стандартный sleep_cpu() (в большинстве реализаций только он используется) на самом деле не полностью тушит «свет». Играясь разными ADCSRA = 0; и т.п. можно снизить потребление тока во сне на уровне погрешности дешового мультиметра. После долго изучения, проб и ошибок, была написанна рабочая версия сигналки от 18650 но с приходом апетита хотелось чтоб это всётаки было больше похоже на законченное решение а не инженерный образец плюс добавить функциональсноти как у kvolk. Вот и появилась, спустя много времени, эта статья с первой публичной версией. Всё делалось на энтузиазме и ради процесса, если комуто не угодил функциональностью, описанием, уж извините. Хоть всё работает просто, но описать все эти нюансы оказалось непростой задачей, возможно даже чтото упустил, забыл, не протестировал. Буду рад всем найденым багам и предложениям по улучшению. Хотя вроде багов не осталось 🙂
Дисклеймер
Надеюсь вы понимаете что на реальные объекты нужно ставить проф решения. Данное решение хоть и позволяет отправлять хозяину звонок о нарушении охроняемого контура, всежё это игрушка, предназначенная для охраны чегото не существенного.
Из этого также следует что это изделие для тех кто хоть чтото понимает в микроэлектронике и прогромировании.
Ну и в 23 году сигналка с общенением только через смс, выглядит как то нелепо (интернета нет и не предвидется) поэтому as-is.
Минимальный набор
этого достаточно чтоб подключиться к компу и просто проверить в работе, посмотреть команды
1. Плата ардуино Nano или Micro
2. GSM modem Neo M590 или SIM800
3. Любой сенсор например PIR AM312 или кусок провода
Более подробно ниже.
Важно
На комплектующих, сборке, настройке модема и других базовых моментах останавливаться не буду, это описанно и в статьях выше и много где еще, пожалуйста прочтите их. Скажу лишь модем надо предварительно настроить на скорость 9600 остальные настройки модема желательны по умолчанию и архи важно иметь хорошее питание выдающее честные 2 Ампера и надежное подсоединение ко всем пинам. Все не используемые пины заземлить. Более подробно про модем mysku.club/blog/aliexpress/37745.htmlВыхода в интернет у модема нет. Пароль с сим карты убрать. Все команды управления сигнализацией только латиницей и только большими. Если в будущем размер прошивки превысит 16Кб его можно уменьшить (если комуто важно 16Кб) с небольшим урезанием фунционала.
Критика
Нормально отношусь. Графики, картинки добавленны.
По поводу выхода в интернет (справедливо урезоннили дерзость юнца) я както про это и не подумал — согласен, имеете право думать что там троян, боян и т.д. но если по делу:
- Исходя из дисклеймера вы не должны ставить это изделие на дорогие для вас объекты, а значит и притензии «ты украдешь у нас важную информацию» не уместны.
- Опять исходя из дисклеймера, если вы понимаете в прогромировании, значит вы знаете как проверить что делает модем. Если нет — ниже описанно как. Если всеравно не понятно — лучше закрыть эту статью.
- Если всёравно боимся можно поставить симку без выхода в интернет.
- Или на плате Nano в Arduino, запускаете Serial монитор и легко проверяете все команды которые отправляются на модем. Как он конфигурируется. Куда звонит. Что отправляет и т.д.
- Многие из вас юзают китайские сигналки, IP камеры и тд. Все они имеют закрытый код. Почти все они имеют бэкдор. Вы купили их за деньги но при этом вы не критикуете что там закрытый код и не боитесь что они крадут ваши данные.
Тут же всё бесплатно, всё легко проверяется как на ладони — но море недовольства.
- Соурсов: сори не будет. Free for use w/o source.
- Если не переубедил и страх остался — просто не заливайте прошивку.
Если не работает
Ресеты когда ищет сеть, звонит, смс — проблема питания или контактов
Ресеты когда ищет сеть, звонит, смс — убедитесь что у вас есть деньги и для звонков и для смс
Выключается когда ищет сеть, звонит, смс — проблема питания или контактов
Ресетится или перестаёт отвечать (зависает) при первом запуске или настройке — обнулите весь еепром. все ячейки должны быть или 00 или FF
Ресетится циклически — уберите пароль на симке
Ресетится циклически — убедитесь что у вас GSM симка а не CDMA например
Ресетится циклически — убедитесь что у вас активная GSM симка
В кратце как работает (более подробно ниже): Может работать как с уходом в сон так и всегда включенна. Для всегда включена лучше запитывать от БП. Если в Багдаде всё спокойно, ардуинка выключает модем и сама уходит в сон, предварительно включив режим охраны. В режиме сна её может пробудиь только тревога. GSM естественно не работает для экномии батареи. Когда тревога — ардуино просыпается, включает модем, отправялет смс о тревоге, некоторое время бодрствует — для приема смс-команд, и опять уходит в сон. Программа на строенна так что если сбой мобильной сети то ардуино рестартуется, и опять благополучно уходит в сон/охрану.
Касательно баланса — пока что, прошивка работает только в режиме английских букв и USSD запроса баланса. Т.е. чтобы работал баланс, ответ должен приходить латиницей через USSD а не смс-кой или звонком. Если у вашего оператора нет такой функции — отключите в настройках сигнализации получение баланса.
Техническая информация по проекту
Прошивка расчитанна на Arduino на чипе Atmega 168/328 (Uno, Nano, Pro Mini) и Atmega 16u4/32u4 (Micro/Leonardo). Подходят как платы 5В так и 3. 3В.
For Atmega 168/328:
Sketch uses 11530 bytes (37%) of program storage space. Maximum is 30720 bytes.
Global variables use 128 bytes (6%) of dynamic memory, leaving 1920 bytes for local variables. Maximum is 2048 bytes.
For Atmega 32u4:
Sketch uses 14394 bytes (50%) of program storage space. Maximum is 28672 bytes.
Global variables use 266 bytes (10%) of dynamic memory, leaving 2294 bytes for local variables. Maximum is 2560 bytes.
EEPROM использует всего 40 ячеек.
- Arduino может питаться как от акума так и от БП так и от обоих вместе. Если только от акума то режим сна включать обезательно (без сна проработает около недели). Сколько долго может проработать от одной 18650 я не замерял но например PIR AM312 китайцы пишут потребляет 0.1 mA выходит достаточно долго (месяца 4 точно а то и полгода). В режиме сна потреблением ардуины можно пренебречь, будет потребление только у сенсоров.
- GSM Modem используется: Neo 590/m590e (возможно и 6хх) и Sim800.
- PIR датчики или герконовые датчики или любые другие с двумя состояниями: любые. 4 штуки. можно разные. Я проверял:
HC-SR505/501 только 5В, out средний пин длительностью 8 секунд. мне не подходит как по размеру так и по питанию и по времени уровня.
MINI SR602 out крайний пин. глюченный какойто.
AM-312 pull-down не нужен, out средний пин. мне эти больше всего понравились. могут работать и от акума (менее 5в) и от БП 5 вольт. маленькие по размеру и потреблению тока. Но есть один нюанс. У меня их не получилось притянуть к земле они сами имеют подтяжку. Поэтому когда приходит звонок или смс, срабатывает тревога (получается ложная). Кто сможет это исправить пожалуйста сообщите.
Более подробное описание в разделе Подключение.
Распиновка и выводы
ATmega328P
#define Pin11 bit(PB3) //sensor 3 #define Pin10 bit(PB2) //sensor 2 #define Pin9 bit(PB1) //sensor 1 #define Pin8 bit(PB0) //sensor 0 #define ExtPwr bit(PB4)// D12 пин тревоги отключения напряжения 220 вольт #define AOFF bit(PD2) // D2 - INT0 кнопка включения отключения сигнализации.#define BELL bit(PD4) // D4 - пин внешней сирены или любого другого устроства которое будет включаться на время до 3 минут #define BOOT bit(PD5) // D5 - пин загрузки модема #define LED bit(PB5) // D13 led
ATmega32U4
#define Pin11 bit(PB7) //sensor 3 #define Pin10 bit(PB6) //sensor 2 #define Pin9 bit(PB5) //sensor 1 #define Pin8 bit(PB4) //sensor 0 #define ExtPwr bit(PB2)// Mosi пин тревоги отключения напряжения 220 вольт #define AOFF bit(PD0) // D3 - INT0 кнопка включения отключения сигнализации. #define BELL bit(PE6) // D7 - пин внешней сирены или любого другого устроства которое будет включаться на время до 3 минут #define BOOT bit(PC6) // D5 - пин загрузки модема #define LED bit(PC7) // D13 led
Подключение
В случае с PIR AM312 средний вывод сенсора на любой пин ардуины (D8-D11) без резистора/заземления.
Пин контроля внешнего питания ExtPwr — просто от блока питания 5В плюсовой вывод на этот пин. Без делителей напряжения и прочего. Когда нет 220В то на этот пин не идёт высокий сигнал и сигналка срабатывает. Но если у вас ардуино 3,3 вольта то конечно делитель напряжения надо. Также делитель напряжения нужен если у вас ардуино 5В но блок питания скажем 7В. Если у вас питание только от акума то вам не нужен этот пин.
Если у вас питается и от сети и от акума, подключение акума к сети делаете так — mysku.club/blog/ebay/43282.html#comment1930875 Это чтобы не использовать акум когда есть 220.
Саму ардуину запитываете либо через USB порт либо через пины Vin (если БП более 5В) или 5V (если БП 5В или акум).
От блока питания/акума отдельная линия питания идёт на датчики. Чтобы они подолжали работать даже если ардуино выключится.
Кнопка включения отключения режима тревоги реагирует на землю т.е. пин AOFF, когда нажата кнопка подключенная к этому пину, должен притягиватся к земле.
На BELL пине при срабатывании тревоги появляетмя или лог 0 и лог 1 (настраивается) тем самым можно через реле или еще как, активировать какоето устройство, например здоровый школьный звонок в качестве сирены 🙂 (у соседа в совецкие времена когда еще не было ЧОПов висел такой). Ну или пожарную сигнализацию для ардуино. Как её подключать можно подсмотреть в этом обзоре сигнализации на ардуино — kolotushkin.com/article.php?id=33
BOOT пин через резистор 4,7 или 10 кОм просто подключается одним проводком к BOOT модема.
Модем запитывается либо отдельной линией либо через ардуино либо ардуино запитывается через модем (если на модеме дублируются пины питания). На своем 590 я вместо понижающего диода (который понижает напряжение с 5 до 4.2В) поставил перемычку. Модем прекрасно работает от 5 вольт. Перемычка мне дала то что у меня с двух сторон 5В и я могу ардуино запитывать через модем. Но каждый решает сам понижать напряжение для модема или нет. Главно помните что основные глюки и рестарты изза плохого питания модема. Лучше еще танталовый конденсатор подключить к выводам птания.
D13 пин можно использовать как внешний лед (либо использовать встроенный в ардуино)
У модема и ардуино обезательно общая земля. Tx модема на Rx ардуино. Rx модема на Tx ардуино.
Если плата 32u4 то используется Serial1 (PD2/PD3)
Настройка и синтаксис
Первая команда которую вы отправляете на модем должна быть RESETC. После этого необходимо произвести первоночальную настройку сигнализации (добавить номер, режимы и тд).
Длина смс с командами которые вы отправляете на модем максимум 64 символа.
Команда имеет формат ЧТО_НАСТРАИВАЕМ: НОВОЕ_ЗНАЧЕНИЕ например: SLEEP:OFF или SMS:0 или ADMIN:591691791
Номер телефона всегда указывается только номер без кода страны/региона макс длина 10 цифр.
Простые команды которые имеют только два состояния, можно передовать все в одном сообщении через пробел, соблюдая максимальную длину, например: SLEEP:ON S0:OFF и тд.
Если отправляете длинное смс (длинее 64) то модем не обработывает непоместившиеся команды.
Сложные команды (где длиное значение/текст) лучше передовать по одной, например номер админа, баланса и тд. Вы можете попробовать их объеденять по 3 или более команд в одно смс, но тогда результат проверять фактически. Если сигналка сообщила что ок значит ок (5 быстрых вспышек). иначе укарачивайте команду.
Проверить состояние конфига нельзя. Поэтому если сомневаетесь/запутались. Сбрасываем одной смс RESETC и другой смс настраиваем заново.
О логике работы
Модем регистрирует сим и регистрируется в gsm сети. Если это не получается он рестартуется. Если получилось модем после регистрации переходит в режим ожидания смс команд.
Во время ожидания команд, датчики не вызывают тревогу. Но зато в режиме ожидании команд лед сигнализирует будет ли потом включена охрана или она выключена. Охрану можно выключить кнопкой или по смс.
После рестарта ардуионо, режим перехода в охрану — после ожидания команд — всегда включен. Даже если до этого охрана была выключенна кнопкой или смс.
Далее после нескольких минут ожидания команд модем становится непосредственно на охрану.
При этом охрана может сопровождаться с уходом в сон (экономия энергии). Уход в сон это когда модем выключается. Ардуино выключается. Под питанием остаются только датчики. Из этого режима (охрана во сне) ардуино просыпается только если сработал датчик тревоги. Получается если находится в этом режиме (от батарейки) и сенсоры никто не беспокоит очень долго то когда сядет батарейка вы об этом не узнаете. Проверять напряжение во сне прошивка не умеет. Т.е. оставлять без присмотра, гдето в поле, на год и более не рекомендуется.
В охране кроме датчиков тревоги может участвовать пин напряжения сети 220В. если пропала или появилась сеть — будет тревога.
Если охрана без ухода в сон, то смс команды будут работать и в охране но скорее всего приведут к срабатыванию сигнализации (ложно).
Смс не сработают, если приём этого смс совпал с уходом в сон, или уже во сне, со звонком как на сигнализацию так и от сигнализации и т.д. Т.е. например если вы отправили команду и тут же (сразу) получили звонок тревоги то ваша команда не сработала но зато вы узнали что есть проникновение в периметр охраны, смс команду придётся отправить еще раз, если это по прежнему актуально. Если вы отправили команду а прошло секунд 20-40 и вы получили звонок то скорее всего это ложная тревога от вашего смс. Кто сможет это «победить» напишите пожалуйста как.
Из выше описанной логики также следует что не отключайте режим охраны при включенном режиме сна — уйдёт в сон и не проснется. Также наоборот не включайте режим сна когда выключенна охрана(тревога).
Еще следите за временем ухода в сон и временем работы внешней сирены/звонка (если конечно включен режим внешней сирены). Время работы внешней сирены должно быть меньше того времени через которое ардуино уйдёт в сон (а в месте с ним и в режим охраны), если режим сна конечно включен. А то уход в сон при включенной внешней сирены вызывает неопределенное поведение.
После как сработала тревога, модем звонит на указанные номера и отправляет смс со статистикой и цикл повторяется. Т.е. опять несколько минут ждёт смс и потом становится на охрану. Букв много но на самом деле всё просто.
Завис не завис модем можно проверить либо по быстро мигающему леду в режиме приёма команд (если охрана не отключена), либо включить выключить охрану через кнопку или смс в режиме приёма команд, либо отправить смс команду в режиме приема команд и посмотреть на реакцию леда.
При отправке смс команд в режиме приёма если все команды в этом смс правильные и все успешно установлены то будет световая индикация. Если хоть одна команда не правильная то индикации не будет.
Про админа
При первом включении флаг ADMIN 0. После ресета флаг ADMIN 0. даже если если до этого адмн был установлен.
Когда флаг ADMIN 0 выполняем любые команды с любого номера. если 1 только от ADMIN
Флаг ADMIN 1 когда по смс отправили ADMIN:795695555 [ваш номер].
Добавить второй номер (только для получения звонка и смс о тревоге) командой ADMIN2:795795795 может только админ. команды второй номер отправлять не может. длина и регион второго номера должна быть как первый.
Удалив админ номер автоматом удаляются админ права и второй номер. Удалять может только админ.
После тревоги если есть телефон в еепром он автоматом становится админом. даже если админ не был установлен.
Про кнопку остановки охраны
Если тревога уже сработала (допустим хозяин зашёл) и хозяин (или даже не хозяин если знает где кнопка и что она делает) нажал стоп то звонок всеравно пройдет а потом уже охрана не будет реагировать на сенсоры. Повторное нажатие активирует охрану. Но в настройках «отложенное реагирование» на тревогу т.е. сигнализация срабатывает например через 30 сек после обнаружения тревоги в охроняемом периметре. Это сделано для того чтоб хозяин мог зайти нажать (секретную) кнопку и ардуино не будет звонить и отправлять смс. Но охрана остается выключенной. Если её включить повторно до условного времени (в нашем примере 30с) то звонок и смс будут. Получается если вам нужна и дальше охрана её повторно надо включать после 30 сек и до ухода в сон/охрану.
Если встеки вы забыли нажать второй раз (для включения, а охрана вам нужна) и сигналка ушла в сон (настроенна именно на сон) то вы больше не будете получать звонки о тревоге. Чтобы включить обратно надо, чтоб сенсоры сработали (ардуино от сенсоров просыпаться будет но не будет звонить т.к. модем не включается) и когда сигналка выйдет в режим приема команд (примерно через 20-40 сек) при этом лед горит постоянно, надо повторно нажать кнопку.
Если вы через смс выключите охрану с уходом в сон то обратно через смс включить не сможите тк. модем больше не включиться, только через кнопку можно будет включить охрану.
Другими словами будьте осторожны с выключением чего либо когда включен режим сна в котором модем тоже выключается.
Световая индикация
Стандартный 13 пин (или можите пользоваться диодом на ардуино).
Если быстро мигает в самом начале при включении значит у вас либо сим пароль либо не ловит сеть.
Когда сигналка в режиме охраны она мигает коротко раз в секунду
Когда сигналка без охраны она горит постоянно.
Когда набирает номер, сработал датчик, поиск сети и пару других режимов тоже горит постоянно но этим режимы короткие по времени. например примерно 30-40 сек позвонить на один номер и ждать 3 гудка. потом постоянное свечение как правило должно перейти в режим охраны. если у вас горит постоянно и долго это либо отключена охрана либо он завис.
В режиме ожидания команд, если вы отправли смс команду будет быстрое моргание сигнализирущее что все команды правильные и успешно применены.
Если нет никакой сигнализации на отправленный смс значит хоть одна из команд не правильная.
Если отправили длинное (длинее 64 символа) смс (оно отправится) и команды которые поместились обработались (все) успешно то модем проморгает быстро (SMS_OK) но при этом он не обработает непоместившиеся команды и вы об этом ни как не узнаете. Следите за длиной смс.
Если у вас предложения по добавлению дополнительной лед индикации (определенные моргания для 13 пина) буду рад услышать.
Список команд
SMS:0 - не отправлять смс статус 1 - отправлять только на первй номер. по умол. 2 - на оба S0:ON - задействовать нулевой сенсор для обнаружения тревоги OFF - выключить S1:ON - задействовать первый сенсор OFF - выключить S2:ON - задействовать второй сенсор OFF - выключить S3:ON - задействовать третий сенсор OFF - выключить по умол все сенсоры включены S0LV:HI - логический уровень 0сенсора когда нет тревоги выставить как высокий LO - как низкий S1LV:HI - логический уровень 1сенсора когда нет тревоги выставить как высокий LO - как низкий S2LV:HI - логический уровень 2сенсора когда нет тревоги выставить как высокий LO - как низкий S3LV:HI - логический уровень 3сенсора когда нет тревоги выставить как высокий LO - как низкий по умол все низкий CALL:0 - не звонить когда тревога 1 - звонить только на первый.по умол. 2 - на оба BELL:ON - задействовать пин внешней сирены (или другого устройства) [ВКЛ] OFF - выключить [ВЫКЛ]. по умол. BPLV:HI - логический уровень внеш сирены когда есть тревога выставить как высокий. по умол. LO - как низкий BELLT:10..180 - время в сек, в течении которого будет подаваться заранее выставленный лог уровень на пин внешней сирены. 30 по умол. BEEP:0..9 - сколько условных гудков звонить на номера. по умол 3 ADMIN:номер без локального регионального кода. может отправлять команды ADMIN2:номер без локального регионального кода. длина обезательно как в первом. ALARM:ON - задействовать срабатывание тревоги. по умол. OFF - выключить SLEEP:ON - задействовать режим сна OFF - выключить. по умол. POWER:ON - задействовать режим тревоги когда пропала сеть 220. если питание только от батареи не нужен. OFF - выключить DELAY:0..250 - время задержки до срабатывания тревоги в сек.
через сколько будет тревога когда сенсоры уже обнаружили проникновение. 0 по умол т.е. без задержки сразу. GETBAL:ON - получать баланс симки в репорте OFF - выключить. по умол. BALNUM:ххх - номер с которого получать баланс в USSD режиме например *100# AWAKET:3..60 - через сколько минут уходить на охрану/сон и сколько минут ждать смс команды от админа. 3 по умол. DELTEL:1 - удалить админ номер и второй 2 - удалить только второй номер PREFIX:0 - перед номером добавляется - 0. по умол. 1 - +7 2 - +373 3 - +375 4 - +380 RESETA - ресет ардуино RESETC - ресет конфига BALANCE - отправить админу смс репорт сейчас
Конфиг модема
//if (!send("AT+CSMS=1")) return false; //phase 2+ чтото глючит при включение //if (!send("AT+IFC=1,1")) return false; //software flow control //if (!send("AT+CMEE=2")) return false; //extended error code //if (!send("AT+CCLK=\"yy/MM/dd,hh:mm:ss\"")) return false; //if (!send("AT+CSTA=129")) return false; //local number type with leading 0, не работает if (!send("AT+CPBS=\"SM\"")) return false; //phonebook to SIM if (!send("AT+CPMS=\"SM\"")) return false; //sms to SIM is saved after power off if (!send("AT+CSTA=145")) return false; //int format with leading +, не работает if (!send("AT+CMGF=1")) return false; //sms text format if (!send("AT+CSCS=\"GSM\""))return false; //(2,1)+CMTI: "SM",n; //(2,2)lowlevel<cr><lf>+CMT: "+37379555752",,"21/08/08,17:12:09+18"<cr><lf>Text body<cr><lf> if (!send("AT+CNMI=2,2")) return false; //считать lowlevel на INT0 чтоб знать сколько смс пришло if (!send("AT+CLIP=1")) return false; //+CLIP: "060260202",129,,,"",0 if (!send("AT+CSDH=0")) return false; //don't display header if (!send("AT+CSCB=1")) return false; //don't display cell broadcast messages if (!send("ATE1")) return false; //echo on
Что делает модем
if (!send("ATDвашномер")) return false; if (!send("AT+CMGS=вашномер")) return false; if (!send("AT+CUSD=номербаланса")) return false;
Прошивка
Обычный hex файл для прошивки через USB посредством avrdude из Arduino.
Файл *with_bootloader.hex для прошивки програматором.
Если мега 328p то можно прошить либо программа XLoader либо командой (при условии что у вас стоит ардуино IDE на диске C: а плата на COM7)
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -C«C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf» -patmega328p -carduino -PCOM7 -b115200 -D -Uflash:w:«D:\Files\alarm.hex»:i
Если 32u4 то надо узнать какой порт именно во время прошивки (обычно на один меньше чем где Serial) и такой командой (при условии что у вас стоит ардуино IDE а плата на COM14)
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -C«C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf» -patmega32u4 -cavr109 -PCOM14 -b57600 -D -Uflash:w:«D:\Files\alarm.hex»:i
disk.yandex.ru/d/-ng7FTKKAAuatQ
PS: Это мой первый обзор. Не судите строго
Arduino Официальный магазин | Платы Экраны Комплекты Аксессуары
Основы Ардуино
€24,00
| /
€95,90
| /
- Сэкономьте 15%
Первоначальная цена €42,00
Текущая цена €35,70
| /
21,60 €
| /
- Распроданный
23,40 €
| /
€42,00
| /
€40,80
| /
25,40 €
| /
€22,80
| /
€8,40
| /
- Распроданный
€6,50
| /
€22,80
| /
21,60 €
| /
63,50 €
| /
- Распроданный
€20,80
| /
Найти порт Arduino на Windows, Mac и Linux — MATLAB & Simulink
Основное содержание
Прежде чем использовать объект arduino
для установления соединения
к вашей плате Arduino ® , необходимо указать порт, к которому подключена плата Arduino. плата подключена.
Найдите номер порта в Windows
Подключите плату Arduino к одному из портов USB на вашем компьютере под управлением Пакет поддержки MATLAB для оборудования Arduino.
Если вы подключаете плату в первый раз, убедитесь, что драйвер установка также завершена.
Откройте Диспетчер устройств (в поле поиска на Панель задач, введите
Диспетчер устройств
).В окне диспетчера устройств разверните порты
(COM и ЛПТ)
список.Обратите внимание на имя порта (
COM#
), которое отображает Arduino название доски.Вы будете использовать это имя (например,
COM3
) в качестве значение входного аргументапорта
при создании объектаarduino
.
Найти номер порта на Macintosh
Подключите плату Arduino к одному из портов USB на вашем Mac под управлением Пакет поддержки MATLAB для оборудования Arduino.
Если вы подключаете плату в первый раз, убедитесь, что драйвер установка также завершена.
Откройте терминал в macOS. Для этого вы можете использовать Spotlight Search (найдите
Терминал
) или используйте окно Finder (запустите Finder, щелкните Перейти > Утилиты и дважды щелкните Терминал ).В командной строке Терминала перейдите в корневой каталог (запустите этот команда:
cd /
).В корневом каталоге выполните следующую команду:
ls /dev/*
.Обратите внимание на имя порта
/dev/tty.
илиusbmodem*
/dev/tty.usbserial*
.Вы будете использовать это имя (например,
/dev/tty.usbmodem1421
) как значениеВходной аргумент порта
при создании объектаarduino
.
Найти номер порта в Linux
Подключите плату Arduino к одному из USB-портов на вашем компьютере под управлением Пакет поддержки MATLAB для оборудования Arduino.
Если вы подключаете плату в первый раз, убедитесь, что драйвер установка также завершена.
Откройте терминал в Linux.
В командной строке Терминала перейдите в корневой каталог (запустите этот команда:
cd /
).В корневом каталоге выполните следующую команду:
ls /dev/tty*
.