673

Проект GSM/GPRS сигнализации на Arduino ч.2

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-Рассылка, Длиннопост

Приветствую моих читателей. В первой части https://pikabu.ru/story/proekt_gsmgprs_signalizatsii_na_ardu... я рассказал вам, как сделать простую GPRS сигнализацию на Ардуино. Проект продолжает развиваться. Сигнализация эксплуатируется около месяца, и уже можно подводить некоторые итоги. За это время не было ни одного случая отказа или зависания, как модуля SIM800L, так и самой Ардуины. Напомню, в моём проекте микроконтроллер питается напрямую от аккумулятора пониженным напряжением 4 В. К каким-то отказам, как опасались многие читатели, это не приводит. Мною был проведён эксперимент, чтобы узнать, как поведёт себя сигнализация при постепенном разряде батареи.

Так как Ардуина разряжала аккумуляторы очень медленно, я подключил её вместе с модемом к лабораторному источнику питания, выставил ограничение по току 2А, и проверил работу на различных значениях напряжения.

Что удалось выяснить. При 3,5 В и выше SIM800L работает штатно. С питанием 3,4 В иногда начинаются перезагрузки при входящих звонках. При снижении напряжения ниже 3,4 В отваливается сеть, могут начаться перезагрузки, но на AT команды модуль продолжает отвечать. Так он работает в плоть до 3В, после чего выключается.

Ардуина работает даже при напряжении 2,7 В, ниже которых отключается. Никаких сбоев отмечено не было.

Но этого нам не достаточно. Нужно было проверить работу при длительной разрядке аккумулятора. Так сказать в условиях, близких к боевым. Я отключил режим сна Ардуины, подключил дополнительную нагрузку к аккумулятору, включил Serial монитор, и отслеживал поведение сигнализации, периодически проверяя её работоспособность. Эксперимент продолжался более суток. Аккумулятор разрядился до 3,6 В. Сбоев замечено не было. Схема полностью работоспособна.  Ставьте ёмкий аккумулятор и не о чём не думайте.

Для справки. Номинальное напряжение питания чипа зависит от частоты его работы. Если программно понизить частоту до 10МГц или ниже, то питание напряжением от 2,7 до 5,5В для Atmega328p будет стандартным. Если кого-то не убедили результаты эксперимента, то они могут  поиграться с настройками частоты.


С этим разобрались, теперь поговорим о доработках проекта.


За прошедшие две недели проект претерпел некоторые изменения. Геркон теперь подтянут через резистор не к +5В, а к +4,2В батареи (см. фото). Что позволит сохранить на пине высокий уровень при отключении внешнего питания без программной подтяжки. Мне кажется это более надёжным решением. Резисторы можно использовать любого номинала, начиная с 2,2 кОм и выше.


Остальные доработки касаются программной части. Файл настроек settings.h получил новые опции. https://github.com/wisenheimer/Arduino/blob/master/libraries...


По рекомендации читателей, в проект был добавлен watchdog (WTD), который перезагрузит Ардуину в случае её зависания. Включен по умолчанию следующим дефайном:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-Рассылка, Длиннопост

Т. к. стандартный загрузчик Ардуино Нано не поддерживает watchdog, и в случае его срабатывания уходит в бесконечную перезагрузку, для его работы нужно либо сменить загрузчик на другой, либо поступить проще. Прошить Ардуину через программатор. В этом случае на Ардуине больше не будет загрузчика. И watchdog будет работать. Но вы уже не сможете прошивать Ардуину по USB. Если вас это не устраивает, не используйте watchdog.


В качестве программатора я применил Ардуино УНО с прошивкой ArduinoISP из примеров.


Следующее изменение касается способа доставки отчётов. Теперь сигнализация поддерживает SMS отправку сообщений. Ранее мы отправляли ответы сигнализации на e-mail при помощи GPRS. Теперь можно выбирать способ отправки. Для этого добавлен следующий дефайн:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-Рассылка, Длиннопост

По умолчанию включены оба варианта.


SET_FLAG_ONE(GPRS_ENABLE) разрешает отправку e-mail по GPRS.

SET_FLAG_ONE(SMS_ENABLE) разрешает отправку отчётов по SMS.


GPRS имеет более высокий приоритет. Если сигнализации не удалось установить GPRS соединение, и SMS режим разрешён, то сообщения будут отправлены по SMS, флаг GPRS_ENABLE  выключен, и в дальнейшем будет задействована только SMS отправка. Включить или выключить оба режима можно так же в ручную DTMF командой.

Если мы хотим всегда использовать один режим, то дефайн нужно отредактировать, удалив лишнее.


Следующим нововведением стало изменение списка DTMF команд:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-Рассылка, Длиннопост

Команды, не вошедшие в список, будут подставлены в USSD запрос и отправлены сотовому оператору. Так что можете в режиме DTMF напирать любые USSD команды. Например запрос баланса. В случае успеха ответ оператора вернётся в виде отчёта.


Админ так же может управлять модемом SIM800L при помощи АТ команд из его даташита http://www.mt-system.ru/sites/default/files/documents/sim800... .


Например, добавлять и удалять номера из телефонной книги. Для этого достаточно с телефона Админа отправить сигнализации SMS с текстом АТ команды.


Дальше хочу подробно рассказать, как добавлять в проект датчики.


Для начала необходимо определиться с количеством пинов, требуемых для ваших датчиков. Датчики у нас подключаются, начиная с 4 пина. Первым желательно выбрать геркон, т.к. он будет будить Ардуину, если она войдёт в режим энергосбережения при отключении внешнего питания.

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-Рассылка, Длиннопост

В файле https://github.com/wisenheimer/Arduino/blob/master/libraries... описан класс Sensor и следующие типы датчиков:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-Рассылка, Длиннопост

DIGITAL_SENSOR - любой датчик с одним цифровым выходом, на котором может быть только два состояния, 0 или 1.

CHECK_DIGITAL_SENSOR - тоже самое, только с проверкой от ложного срабатывания. Если через 10 секунд датчик сбросил своё значение, то срабатывание считается ложным.  Применяется для тех датчиков, которые удерживают логическое значение на выходном пине при сохранении внешнего воздействия. Например датчик пламени.

ANALOG_SENSOR - любой датчик с аналоговым выходом. Например датчик газа MQ-2.

DHT11, DHT21, DHT22 - датчики температуры и влажности.


Конструктор класса имеет следующий вид:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-Рассылка, Длиннопост

В нашем файле настроек имеется целый массив таких классов для каждого датчика:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-Рассылка, Длиннопост

Очень важно указать точный размер массива, иначе проект не соберётся. В данном случае у меня имеется 6 датчиков, конструктор для каждого описан отдельно.


Например:

Sensor(DOOR_PIN, DIGITAL_SENSOR, "DOOR", HIGH, 0)

означает, что для датчика двери (геркона) задействован пин Ардуино DOOR_PIN (задан в том же в файле), тип датчика DIGITAL_SENSOR, название датчика, которое будет выводиться в отчётах - "DOOR" (можно заменить на любое другое слово), обычное состояние пина  HIGH (DOOR_PIN у нас подтянут к 4,2В), время подготовки датчика при включении питания в секундах, через которое он начнёт показывать правильные значения - 0 секунд.


Для аналогового датчика газа MQ-2:

Sensor(A0, ANALOG_SENSOR, "GAS", LOW, 120)

пин A0, тип датчика ANALOG_SENSOR, имя  "GAS", значение на пине LOW, на прогрев датчика и выход на номинальный режим работы отводится 120 секунд. До истечения этого времени после включения датчик не опрашивается, что бы не получать неверные значения.


Для датчика температуры DHT11

Sensor(DHT_PIN, DHT11, "DHT", LOW, 10, 35)

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


Внимательный читатель уже заметил, что для разных датчиков описано разное количество параметров. Дело в том, что в языке С++ можно не писать все параметры функции, если в заголовке функции указаны их значения по умолчанию. Мы пишем только то, что не имеет значения по умолчанию, или мы хотим задать другое значение. Однако никто не запрещает указать все параметры конструктора класса.


Вы можете подключать к сигнализации любые датчики, не требующие отдельной библиотеки, лишь заполнив конструктор класса, и добавив его в массив Sensor sensors[]. И это будет работать. Если для датчика требуется отдельная библиотека, то её можно добавить точно так же, как в проект была добавлена библиотека stDHT.h для датчика DHT11, который имеет свой протокол для обмена данными. Или напишите мне, я добавлю.


На этом всё, спасибо за внимание.


Скачать проект можно как всегда по ссылке: https://github.com/wisenheimer/Arduino

Найдены дубликаты

+18

Сделал я на этом SIM800L модеме + платке с STM32 (как ардуинка) недавно управление электроконвекторами в своем недостроенном доме.  Приделал датчик температуры/влажности, релейный модуль, купил пускатель конских размеров. Посылаешь СМСку - включается, другую -выключается. В начале ноября включил отопление, выключил, включил, выключил... А контактор, падла, залип во включенном состоянии. Тупо слиплись контакты. Пойду ща счет за элекричество на 7560 руб оплачивать...

раскрыть ветку 22
+10

Потому что дешёвые реле нельзя на силовую нагрузку ставить. Надо ставить совместно с симистором. Вот подробнее https://habr.com/company/unwds/blog/390601/

раскрыть ветку 4
0

Есть так называемые твердотельные реле для больших токов. Вроде так называются.

раскрыть ветку 1
0

Или оптореле.

раскрыть ветку 1
+1

Я давно зарекся механические реле использовать, особенно для большой нагрузки - постоянно клинит. Только Solid State Relay - дороже, но бесшумно и просто работает без вопросов.

раскрыть ветку 5
+1

они сгорают от любого повышения тока. Это их минус. Я отказался от них в таких вещах.

раскрыть ветку 4
+1

Вот это да, сочувствую.

раскрыть ветку 4
0

А над запуском двигателя и управление системой отопления автомобиля думали ? как реализовать? все это запилить в удобную программу которая б отправляла смс

раскрыть ветку 3
0

Поэтому есть готовая китайская система, правда по WiFi работающая, что измеряет температуру и дает записанные ИК команды на тепловой насос. У меня - сплит инвертор. 11 кВт в сутки на поддержание +10 в доме при -5 на улице. Площадь 110м2 2 этажа.

раскрыть ветку 2
0

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

раскрыть ветку 1
0

обратная связь, однако, надо, обратная связь.

0

Контактор китайский? Или индуктивная нагрузка и простой русский авось?

раскрыть ветку 1
+1

Индуктивностью электроконвекторов в можно пренебречь. Это два масляных камина по 2 кВт. А контактор российско-китайский, да.

+3

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

раскрыть ветку 2
+3

Что мешает собрать по схеме и прошить? Вроде старался максимально упростить настройку скетча.

раскрыть ветку 1
+1

Работа, будь она не ладна)

+2

Что же вы DHT11 вовсюда пихаете, он так же точен, как камень-барометр! Только из-за того, что он входит в наборы "Всё для начинающего ардунщика"?

Ставьте DC18b20 на выносном шнурке (он копейки стоит), то а лучше BMP180.

раскрыть ветку 4
0

а бмп180 чем лучше?

раскрыть ветку 2
0

он не так похабно выглядит, как DHT11

;-)

0

в плане температыры, если давление не нужно

0

Впихнул то что было под рукой. DC18b20 конечно лучше, но у меня его нет :)

DHT11 это скорее для примера, что можно прикрутить разные датчики. Мне знание температуры не очень важно.

+2
Чувак, я наверное тупой) потому что это ни хрена не просто)) "простая схема" тут не подходит. Хотя может не в той сфере работаю)
раскрыть ветку 21
+1

Тут просто много датчиков нарисовано. А так простая схема)) Ардуина разрабатывалась для начинающих. Скетч мой конечно сложноват для новичка, если разбираться. Поэтому и придумал файл настроек. Чтоб дальше не лезли))

раскрыть ветку 20
0

Ну вот скажи, если можно купить готовое решение с датчиками за сопоставимые деньги, какой смысл колдовать? Какая отказоустойчивость этой системы? Ведь сигналка, даже GSM, это безопасность дома. Я вот имею Falcon Eye уже 4 года, только аккумы меняю. Всем доволен. Надежно. Дешево.
Чисто побаловаться - да, пойдет. Сам думал такую штуку делать для предупреждения переморозки труб водоснабжения. Но нашел более элегантный выход - воздушным компрессором выдуваю воду.

раскрыть ветку 19
+1

ННе понаехали,  а понапихал )

+1

Wisenheimer, кроссафчег! Я год вынашивал эту идею, понасобирал датчиков. Даже начал учиться программировать Ардуинку. Могу уже включать и выключать светодиод ))). А если честно, молодец! Правда с GSM вариант на Ардуинке, по моему, в Кванте реализован. Но так, чтобы вместе, не встречал. Спасибо, жму руку! Респект! Интересно пообщаться с умным человеком!

раскрыть ветку 1
0

Спасибо за воодушевляющий отзыв)) Тоже рад пообщаться :)

+1

Нам нужны аварийные маячки, которые могли бы передавать координаты каким-то образом.


Чтобы можно было найти человека потерявшегося в лесу, при этом человек может быть и мертв. или парализован. Если нет GSM - передает по рации (?) на определенной волне. Не знаю, голосом или морзянкой.


Если не нажата кнопка отмены - то раз в час, если нажата тревожная кнопка - то раз в 10 минут.


Мы бы денег заплатили, но непонятно к кому обратиться вообще. Поможите пожалуйста. Надо это все к маю. ТЗ готовы написать нормальное и подробное а то что-то сумбурное.

раскрыть ветку 2
+3

Я простой программист. Промышленный маячок я вам не изготовлю. Сами понимаете. Умею только писать программы. Современные модемы имеют GPS модуль в своём составе. От него можно получать координаты. Так же они умеют воспроизводить аудиофайлы во время звонка с заранее записанными словами (названия координат в вашем случае.). Слать смс. Без связи сложнее. Рация в лесу плохо ловит. Как и телефон.

Это вам надо аналоги изучить, как они устроены и работают.

Проблема ещё в том, что за покупку GPS модуля в нашей стране можно присесть, как за шпионское оборудование. Лучше не связываться.

+1

пишите на sandro точка zh собачка list точка ru
но размеры маячка - не очень, так как в лесу частоты пролезают только ниже 200 МГц (деревья) и антенна в брелке очень низко расположена)
Я делал нечто подобное для поиска охотничей собаки, в те годы, когда типовые массово не продавались.

+1
Них непонятно, но что-то подсказывает мне, что ты Мегакрут
+1
Админ больше не админ)
раскрыть ветку 1
+1

)))

+1

извините конечно, но с пирдатчика почему то на в голос хихихкнул))

раскрыть ветку 3
+9

Тогда вот тебе модицикация Fedora для Raspberry Pi
http://pidora.ca/

раскрыть ветку 1
+5

— Сынок, это что у тебя за сайт такой?! Ах ты! Ты что удумал меня тут без внуков оставить? Сейчас все отцу расскажу!! ...

Коля-ааа, наш сын пидора смотрит!!!

+2

:)

0

Повторил схему, есть проблема.

+CPBS: "SM",4,100

OK

init end

AT+SAPBR=3,1,"CONTYPE","GPRS";+SAPBR=3,1,"APN","internet";+SAPBR=3,1,"USER","";+SAPBR=3,1,"PWD","";+SAPBR=1,1

....

ERROR

..................................................BOOT


и так по кругу, есть мнение что по факту сим карта теле2, а модем видит это при старте:

..........AT+COPS?

+COPS: 0,0,"MOTIV"

OK


Хелп...Спасибо.

раскрыть ветку 14
+1

Для начала попробуйте с симкой другого оператора, если есть.


MOTIV в коде тоже прописан.

Для теле2 можете попробовать в файле modem.cpp подправить дефайн вот так


#define GPRS_CONNECT(op) if(!answer_flags && !flag_gprs_connect){SERIAL_PRINT(F("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\";+SAPBR=3,1,\"APN\",\"internet.tele2.ru\";+SAPBR=3,1,\"USER\",\"")); \


А ещё лучше отключить режим отладки. Он может влиять, т.к. что в порт пришло, отправляет обратно. Из-за этого может быть ошибка.

раскрыть ветку 13
0

Спасибо за ответ. Сегодня само отпустило, видимо проблема том, что симка свежекупленная была. Сегодня все включается, работает, пытаюсь понять логику, особенно структуру e-mail-ов приходящих. :)

раскрыть ветку 12
0

Вопрос, а разве можно подключать Tx ардуины напрямую к Rx sim800l? У ардуины логическая единица вроде как 5 вольт, а сим-модуль работает с напряжениями от 2,1 до 3,1 вольт по datasheet.

раскрыть ветку 3
+1

В теории как бы нельзя, надо согласовать уровни. В практике все подключают. Не слышал чтобы у кого-то модем сгорел. У меня больше года так работает. Можно не заморачиваться.

раскрыть ветку 2
0

Был опыт выгорания модема, предположительно именно по этой причине, других причин на тот момент не виделось.

раскрыть ветку 1
0

Автору респект! Большого опыта с ардуинкой нет. Почему при компиляции не находит файлов? Все на местах. Из-за прямого слеша? Где исправить?

In file included from Signalka.ino:1:0:

C:\Program Files (x86)\Arduino\libraries\MODEM/modem.h:4:18: fatal error: text.h: No such file or directory  #include "text.h"

раскрыть ветку 2
0

Добрый день. Спасибо, я старался. В течении недели залью обновлённую версию, ещё добавится поддержка беспроводного датчика с передачей данных по ик каналу.


Ваш компилятор не там ищем библиотеки.

Для начала надо настроить Arduino IDE. Зайти в настройки и выбрать папку для скетчей Мои документы/Arduino/


Проект должен лежать в папке Мои документы/Arduino/Signalka/

и там же все библиотеки Мои документы/Arduino/libreries/

Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку 1
+1

Спасибо, помогло. Просто я пользуюсь версией 1.6.0 Arduino и там другое расположение библиотек.

0

@wisenheimer - не знаете случайно уже готовых систем недорогих, которые можно как охранные сигнализации использовать?

раскрыть ветку 1
0

Специально не занимался этим вопросом. Знаю что их полно на Али.

0

Эх. Значит тоже ложные есть. ) про два датчика это идея!!! Надо будет припаять. Не думал что кто то еще собирает такую систему)) я не хочу отдалять далеко. Компактно тоже делаю. Статью как-то нашел, там парень делал по WiFi. У него были наводки от антенны. Пир датчик запитал от другого источника питания и вроде как без ложных. Сейчас сам пробую так. Минут 50 прошло, срабатываний не было)))

раскрыть ветку 11
0

Можно ещё модем экранировать/сделать ему выносную антенну подальше.

Когда модем молчит, ложных сработок может и не быть. Пробуйте звонить на него.

Wi-Fi на каких модулях делаете?

раскрыть ветку 10
0

я Wi-Fi не подключал. Но от отдельного питания уже 2 часа работает. Жду, вдруг это помогло.

А тот парень делал на обычных NRF24L01. Он написал, что подключив...от отдельного питания, ложные срабатывания прекратились.Вот и я теперь пробую. Только у меня sim800L. Вдруг тоже поможет...У меня ложные срабатывания были даже если я ничего не делал. Ночью раз по 6 звонил.

раскрыть ветку 9
0

Как у тебя получилось ????????? Я уже месяц бьюсь с проблемой ложного срабатывания от pir датчика. Понаехали кучу фильтров, а он заранее всеравно иногда срабатывает. Помоги!!!

раскрыть ветку 2
0

Ох, тяжёлая эта борьба... До конца его не победить, можно лишь снизить число таких срабатываний, или обойти алгоритмически. Например считать число срабатываний за минуту, если больше одного, значит на объекте есть движение, отправляем смс.


Надо добавить резистор в несколько кОм и конденсатор 0,1 мкФ между землёй и пином ардуины, на который прицеплен датчик. Чтобы гасить наводки. Вынести датчик подальше от модема. Самые частые срабатывания от его антенны. На 100% это не спасёт, такой уж датчик, однако ложных срабатываний будет меньше.

Добавить второй, третий датчик для этой комнаты. Если сработает только один, считать срабатывание ложным.

У меня датчик в корпусе в нескольких см от SIM800L, ложные срабатывания неизбежны. Ориентируюсь на другие датчики (геркон, микроволновый датчик движения), если несколько сработало, то значит кто-то есть на объекте.


В статье не описано, но в прошивке можно указать, чтобы конкретный датчик, если сработает, не вызывал режим тревоги. Я так сделал для PIR датчика. Т.к. он глючный. Если любой другой датчик вызовет тревогу, показания датчика движения тоже будут отправлены Админу в отчёте. Админ уже решает, учитывать их или нет.

0

Во во, это как раз в копилку "почему люди берут готовые наборы а не конструктор".

0
Хахаха, "работает в плоть"
0

>>Если программно понизить частоту до 10МГц

Проще до 8 МГц, даже без смены загрузчика можно. Только время будет идти быстрее в 2 раза, и скорость UART вместо 9600 нужно указывать 4800.

раскрыть ветку 3
+1

Всё верно. 8МГц самый лучший вариант. Загрузчик тут не влияет. Есть библиотека от AVR, вызов одной её функции всё решает.


#include <avr/power.h>

void setup() {

//Уменьшим тактовую частоту Ардуино в 2 раза при помощи делителя

clock_prescale_set(clock_div_2);

}

Цифры привёл из даташита, там указано что при частоте от 10МГц и ниже можно питать 2,7В - 5,5В.

раскрыть ветку 2
0

На каком-то сайте типа Майордом есть онлайн генератор загрузчика, указываешь частоту кварца, от 1 до 25 МГц помоему и он делает загрузчик. Пробовал на частотах типа 3.26ххх, не круглых, нормально работает.

По кварцам, для целей энергосбережения искал кварцы на 1-2 МГц, их нет в широкой продаже, на Алиэкспрессе, а если есть где-то то в 100 раз дороже. Распространенные от телевизоров, 3.хххххх МГц, 4 МГц. Для себя решил такие использовать, а не заморачиваться с низкочастотными.

Ваш вариант нормальный, но лучше ставить более низкочастотный кварц, сам генератор, чем ниже частота, тем меньше потребляет. Для управления модемом на скорости 9600 хватит 4 МГц, и вопросы по питанию все отпадают (а можно и программно еще снизить).

Вот тут всё по энергосбережению

https://rib.li/c2lC

Тут подробней но по английски всё, отключает всю периферию

http://www.gammon.com.au/forum/?id=11497

Вот тут еще по частотам, можно поизучать, я пока не что там делают, используют делитель не нарушая ардуиновские тайминги чтоли

http://forum.arduino.cc/index.php?topic=223771.0

раскрыть ветку 1
0

Буду пытаться развивать эту мысль дальше, правда пока с Ардуинкой не очень дружу...

0

Спасибо тебе большое! Как раз собирался делать подобное для гаража, но с RF-модулем. А тут почти все готово, сэкономлю кучу времени! Надеюсь что до конца недели буржуйку доварю и начну сигналку.

раскрыть ветку 1
0

Спасибо за отзыв. Рад что кому-то проект пригодился. Будет что не понятно, обращайтесь))

0

А разве USB-зарядник повышает до 5в? То же вроде только вход 5в. Или газоанализатор не работает при автономной работе? И, кстати, для угарного газа вроде лучше MQ-7.

Да и почему питание обвесов через резистор 10КОм?

раскрыть ветку 3
+1

5 В это вход. Плата зарядки отдаёт 4 В. Датчик MQ-2 работает от 5В и выше. Поэтому от аккумулятора он не заведётся. Скетч писался по принципу максимального энергосбережения при работе от аккумулятора, ардуина загоняется в глубокий сон. Для регулярного опроса датчиков надо немного изменить алгоритм, и пробуждать её периодически. Либо вообще отказаться от сна. Пока сигнализация работает так как работает, т.е. без опросов датчиков, если нет света. Реагирует только на геркон, который не требует питания. Можно и MQ-7 поставить, кому что нравится. Меня данная конфигурация полностью устраивает.

Резисторы не для питания, они служат для поддержания 1 на пине, не более того. Сопротивление как раз ограничивает ток, что бы не спалить пин. Через резистор мы следим за наличием внешнего питания (POWER). Если на этом пине 0, то мы спим, 1 - просыпаемся. Геркон подтянут к 1 через резистор. Если геркон замкнётся, то там будет 0. На датчике движения подтяжка к 1 служит для уменьшения числа ложных срабатываний. Глючный датчик.

раскрыть ветку 2
0
Советую к микроволновым датчикам движения присмотреться - ложных срабатываний за год было 2 раза(но там или ложные срабатывания или наводки по сигнальному кабелю, а его метров 10 или мухи пролетающие рядом с датчиком)
раскрыть ветку 1
0

Ни чего не понял,но лайк поставил.🤷♂️

Вроде штука полезная.

раскрыть ветку 1
0

Спасибо)

0

Интересно, есть модули GSM/GPRS/EDGE, которые смогут MMS отправлять? Так можно будет используя Raspberi Pi фото нарушителей отпралять и делать видеозапись

раскрыть ветку 5
0

а почему ммс, а не инет?

раскрыть ветку 1
+1

вот и я удивлён.

0

есть, почти все новые поддерживают.
https://cdn-shop.adafruit.com/datasheets/sim800_series_mms_a...

раскрыть ветку 2
0
В описании сказано, что максимальный размер изображения 300 Кб. Интересно, какого разрешения может быть фото без "зашакаливания"?)
раскрыть ветку 1
0
Ардуина работает даже при напряжении 2,7 В

ниже 3,7В такие аккумуляторы разряжать не рекомендуется. Многие контроллеры блокируют на 3,4В и возобновляют работу только при зарядке в обход - напрямую.

Я когда планировал что то подобное собрать (руки недошли) нашел такую статейку https://habr.com/post/390967/

там же в комментариях есть еще более удобное решение https://ru.aliexpress.com/popular/ads1115.html

на ютубе есть куча видео по его пользованию

тут с примером и использования и скетч на экране https://www.youtube.com/watch?v=9kBeDhEIiSI

раскрыть ветку 13
+4

Дело в том, что ниже 3 В аккумулятор всё равно не разрядится. Sim800l выключится. Ардуина уйдёт в глубокий сон. Я использую старые ноутбучные банки, их не жалко. Даже от них сигнализация без внешнего питания продержится несколько недель. Свет на столько не пропадает. Без режима сна за 15 часов 4 аккумулятора разрядились только до 4В.

раскрыть ветку 2
0

Так чтобы информирование было - что система "того", скоро может стать нерабочей из-за питания. У каждого свои "хотелки")) но так то да... без включенных всяких экранов - можно днями не беспокоится.

раскрыть ветку 1
+2
3.7 вольт это 50-60% емкости литиевого аккумулятора. Практически все банки 18650 по даташитам разрешается разряжать до 2.5-2.7 вольт. А сони vtc 5/6 так и до двух.
раскрыть ветку 2
0

новые - да, но в б/у банках при малом заряде аккумулятора падение напряжения идет очень быстро. Даже в новых там "неудобная" кривая разряда, что уж говорить про б/у. У самого же валяются такие емкости.

http://www.kit-e.ru/assets/images/1211/119_pic5.jpg

раскрыть ветку 1
+2

Кем не рекомендуется? домашними спецами? 3.6-3.7 номинальное напряжение для этих акб, он боится полного разряда и перезаряда, в пределах заявленными производителем параметров, его можно гонять, даже нужно ибо заряжая его раньше времени, вы сами себе на яйца наступаете, акб прослужит по количеству заряд-разряд +- так же, вот только количество отданного объема будет в разы меньше...

раскрыть ветку 3
+1
Кем не рекомендуется? домашними спецами?

ок, а ты кривую разряда дальше можешь предсказать на уровне заряда в 3,6В? Давай-ка ты не будешь задвигать чушь про "домашних спецов". Вот график, на котором все видно. Все это нормальные люди или уже давным-давно видели или сам к этому дошли. Сколько раз я уже видел когда идет 3,6 падает до 3,5-3,4 более-менее линейно и резкий провал с последствиями в виде отключения контроллера аккумулятора и блокировкой.


вы сами себе на яйца наступаете, акб прослужит по количеству заряд-разряд +-

у лития есть три фактора старения - самоустаревание, хоть 10 раз его заряди малыми токами, но через 5 лет он в любом случае потеряет в емкости. Количество циклов заряда-разряда. И использование верхних и нижних пределов уровня заряда. Что верхний "потолок" что нижний уровень - чем ближе к предельным значениям экссплуатировать - тем быстрее сдохнет. Да и условия могут внести свои коррективы - зарядил аккумулятор ночью/под утро на полную, а днем на солнце он может выйти из строя из-за нагрева итого что заряжен полностью. А с нижним порогом еще веселее - падение на графике на низком уровне заряда. Например было все хорошо, напряжение себе тихо-спокойно опускалось до 3,2В и тут внезапно понадобилось включится серьезному потребителю в виде экрана и модуля Sim. При б/у аккумуляторе провал с 3-3,2В может быть вообще быстрым.

Иллюстрация к комментарию
раскрыть ветку 1
0
Не совсем так. Полностью зарядить и разрядить желательно только первые несколько раз. И то не обязательно, а желательно.
Если при обычном использовании полностью не разряжать, то работать будет дольше. Современные смартфоны просят зарядить их при 20%, и это не просто так.
После количества циклов на картинке аккумулятор не выходит из строя, а теряет часть ёмкости. Примерно половину.
Иллюстрация к комментарию
+1

Измерение заряда аккумулятора уже реализовано средствами SIM800L. Описано в DTMF командах. Оказалось, что она измеряет довольно точно. Только что вы хотите с этим сделать, я не очень понимаю.

0
ниже 3,7В такие аккумуляторы разряжать не рекомендуется.

Только не ниже 3.7, а ниже 2.7, а в остальном вы правы.

раскрыть ветку 1
-1

рекомендации на то и рекомендации, что их можно и до 2,5В эксплуатировать, но чем "уже" диапазон напряжений одной банки - тем дольше он живет. Поэтому китайцы свои аккумуляторы раньше тоже давали разряжаться и 3-3,2В, верхний порог не помню. А брендовые только сейчас начали использовать нижнюю планку в районе 3,4В. У самого такой вот китаец "Нокла" был на руках, веселый аппарат.

0
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку 1
+3

Рассчитана на работу от сети. Аккумулятор нужен на случай отключения света. Все датчики, кроме геркона я питал от сети. При отключении питания SIM800l переводится в режим энергосбережения, Ардуина отправляет сообщение, что нет света и засыпает. Если геркон сработает, то она проснётся, и сообщит об этом. Потом снова уснёт. Алгоритм описан в первой части https://pikabu.ru/story/proekt_gsmgprs_signalizatsii_na_ardu...


Проводил эксперимент, от 4-х полудохлых банок питал всё что на фото. Дополнительно подключил в качестве нагрузки две Ардуины, два LCD дисплея 1602 с включенной подсветкой, и второй датчик MQ-2. За следующие 12 часов аккумулятор разрядился до 3,6 В

Похожие посты
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: