Бюджетная + Энергоэффективная GSM сигнализация на Arduino

Вдохновление питал из этих двух известных обзоров на этом сайте: mySKU.me/blog/ebay/51321.html, mySKU.me/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.me/blog/aliexpress/37745.html Выхода в интернет у модема нет. Пароль с сим карты убрать. Все команды управления сигнализацией только латиницей и только большими. Если в будущем размер прошивки превысит 16Кб его можно уменьшить (если комуто важно 16Кб) с небольшим урезанием фунционала.
Сигналка работает только в сранах +7, +373, +375, +380.

Критика

Нормально отношусь. Графики, картинки добавленны.
По поводу выхода в интернет (справедливо урезоннили дерзость юнца) я както про это и не подумал — согласен, имеете право думать что там троян, боян и т.д. но если по делу:
  • Исходя из дисклеймера вы не должны ставить это изделие на дорогие для вас объекты, а значит и притензии «ты украдешь у нас важную информацию» не уместны.
  • Опять исходя из дисклеймера, если вы понимаете в прогромировании, значит вы знаете как проверить что делает модем. Если нет — ниже описанно как. Если всеравно не понятно — лучше закрыть эту статью.
  • Если всёравно боимся можно поставить симку без выхода в интернет.
  • Или на плате 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.me/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: "+373795557555",,"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: Это мой первый обзор. Не судите строго
Добавить в избранное +58 +85
+
avatar
  • tirarex
  • 07 декабря 2022, 21:04
+66
Схемы нет, фото сборки нет но это ладно, зашивать непойми что с доступом к интернету через твою симку оформленную на твой паспорт, даже за деньги не стал бы.
+
avatar
-15
+
avatar
  • darek
  • 08 декабря 2022, 02:59
+3
Зато есть раздел «Возможные проблемы», и мне кажется, что они уже начались. )))
+
avatar
0
у любого сложного проекта есть такой раздел
например почитайте описание библиотек SoftwareSerial, AltSerial, NeoSerial
есть сильные, есть слабые стороны, есть компромиссы. это нормально ;)
+
avatar
+3
добавил схему и дисклеймер ;)
+
avatar
  • Z2K
  • 08 декабря 2022, 14:49
+6
К сожалению хорошие времена меняются и концепуально управление с помощью смс сегодня неоптимально. И вот почему. Когда-то смс были бесплатными, потом платными но дешевыми (конкуренция опсосов когда пользователи активно использовали смс), определенное количество включалось в пакет услуг. Теперь складывается впечатление что опсосы хотят выдавить с пользования услугами СМС сообщения как класс. Так например смс не включается в пакет услуг, а надо заказывать отдельно например пакет 50шт на день за овер денег. Стоимость смс для комерческого использования (особенно банки любят смс оповещения) возросла в 5-10 раз. (пост на хабре есть об этом).
Но, зато сейчас всюду есть безлимит в родной сети. И сейчас оптимальный способ управления через ДЖСМ2 это управление посредством сигналов ДТМФ. Модемы СИМ800 поддерживают ДТМФ и вполне без особенных проблем возможна реализация такого управления.
+
avatar
0
Не знаете ктото уже делал нечто подобное? или где можно почитать про эту тему?
+
avatar
  • Z2K
  • 08 декабря 2022, 15:10
0
Не встречал, но не искал. В теме kvolk есть немного обсуждения на эту тему.
+
avatar
  • scuaed
  • 08 декабря 2022, 20:36
+14
У меня есть реализация с DTMF для устройства на STM8 + Quectel M35. Даже с управлением через командную строку и COM порт.
Нужно оформить статью и выложить, проекту уже года 3 как, пара сотен «китайцев» прошито.
+
avatar
0
Интересно
+
avatar
0
давайте конечно
+
avatar
  • SerjNSK
  • 09 декабря 2022, 19:26
0
Интересно, сделайте статью пожалуйста!
+
avatar
  • muraveiX
  • 09 декабря 2022, 12:16
+3
где можно почитать про эту тему?
Например
+
avatar
  • Dimon_
  • 07 декабря 2022, 21:19
+92
Исходников нет. Даются скомпилированные hex.

Для тех, кто не понял фишки:
Мне предлагают оформить на свой паспорт свою симку. За свои деньги выпустить её в инет. На свои деньги купить комплектующие и за своё время всё спаять. Влить чужой закрытый код. И самому послушно оплачивать трафик. Веря честному слову незнакомой фигуры из интернета, что в том коде сигналка.

Нет уж, спасибо.
Без схем и исходников — этого тут не надо.
комментарий скрыт

комментарий скрыт

+
avatar
-22
+
avatar
  • iraa
  • 08 декабря 2022, 01:20
+5
А как мы узнаем, что в программе не стоит разрешение принимать команды с вашей симки как с моей? Код то тайна.
+
avatar
+4
Также как у других продуктов которые вы используете, начиная от ip камер, смартфона, телевизора и заканчивая браузером, почтовым клиентом и тд.
Дбавил в описание раздел дисклейм + критика. Если остануться вопросы спрашивайте.
+
avatar
  • 0xFF
  • 08 декабря 2022, 04:40
+7
Что мешает запихнуть код, который будет с помощью симки отсылать текущю локацию на определенный адрес?
+
avatar
+2
Я думаю все эти разговоры о спецкоде нужно прекратить, ибо на муське всё as-is, либо берешь и используешь, либо не берешь и не используешь.
Разве что третий вариант, как сделал автор — посмотрел, взял, и написал своё!
+
avatar
  • Dimon_
  • 08 декабря 2022, 06:34
+28
как сделал автор — посмотрел, взял, и написал своё!
Только одно вы забыли уточнить. Для своей разработки автор пользовался открытыми бесплатными библиотеками, кем-то написанными и бесплатно брал исходники других людей. Но вот своими исходниками делиться не желает почему-то…
+
avatar
+5
Вы не правы. Для своей разработки я штудировал 3 года язык Си и даташиты. Идея да взята из двух упомянутых обзоров. Также я юзеру СТАНОК показывал (для использования/изучения) свою самую первоночальную версию которая уже была с некими исправдениями/изменениями. Другими словами Если автор хочет делиться своим кодом он делится (говорим ему спасибо), если нет то нет (упрекать его за это нельзя).
+
avatar
  • Undef
  • 08 декабря 2022, 11:38
-2
Язык си учится за год, он в разы проще с++
Даташиты изучаются за 2-3 дня
Итого — зная язык си, пишем программу, изучая даташиты — итого выходит 5-7 дней при знаниях это займёт
+
avatar
+4
Язык си учится за год, он в разы проще с++
Если есть понимание, что такое программирование (например, после паскаля), язык си учится за неделю. Если не нужно писать своих шаблонов, то за месяц можно выучить с++.
+
avatar
  • Undef
  • 08 декабря 2022, 12:39
0
Ну это теоретически
А я имел ввиду с глубоким изучением и практикой

Выучив язык си за неделю ты сразу же не станешь писать мега крутые проекты
+
avatar
+4
У подовляющего большинства и через год изучения Си ничего путного не выйдет. Если вы за 7 дней можете написать подобный проект значит вы крутой програмист, коим я не являюсь.
+
avatar
  • Z2K
  • 08 декабря 2022, 13:58
+2
Да, но есть и лицензии (много и разных) в сфере опенсорс. И большинство предполагает что пользуясь опенсорс открытого по ты обязан предоставлять свое написанное по той же лицензии, тоесть с открытыми исходниками. Конечно есть государства, даже обладающие ядерным оружием, которым плевать на международные законы, договора и обязательства, нормы морали и права, но к добру это не приводит. А горький опыт истории с десяками миллионов убиенных ничему не учит. :(
+
avatar
0
автор же написал, что из открытого у него только arduino все остальное свое.
+
avatar
  • Z2K
  • 08 декабря 2022, 14:59
+1
Написал все библиотеки? Ну тогда это сизифов труд. Может он еще на ассемблер перепишет, что б не пользоваться Ардуино. Смысл современного программирования что бы пользоваться сущесвующими наработками, а не изобретать свое колесо, руль, кресло, спицы и т.д. чтобы создать свой деревянный велосипед.
Автор пишет что у него (по его оценке) кривой код. Так почему он не взял открытый чужой оптизированный многими другими? Или он хотел пройти путь от начала до конца чоб научится програмировать. Зачем тогда с самого начала посылается на посты других?
Возможно в приобретением опыта и знаний он возмется написать свою операционную систему. Возможно не лучшую, но свою. :) Есть такой синдром.
+
avatar
+4
Так почему он не взял открытый чужой оптизированный многими другими?
Опять эти сказки про то как все разом и все оптимизируют. Вы лично что нибудь сами выкладывали? Какой у вас процент правок, другими участниками?

А пока вы пишите вот вам мои 2 копейки.

Есть у меня несколько удачных, Ардуино библиотек. Первая с 30..50 скачиваний в день и кол. уникальных посещений 20тыс за полгода. Где-то на 10тыс, только один указал на серьёзный баг в работе с esp32. Те остальные тупо туристы-нахлебники с Ардуино головного мозга умеющие только copy-paste — Не работает? Качаем следующую. Вдумайтесь, из 10тыс никто даже не написал о проблеме! Я уже не говорю про высший пилотаж — написать код как эту проблему решить.

Второй пример. Еще одна удачная библиотека, написанная мной 5 лет назад, тогда я только учился писать код. С тех пор не обновлялась. Кол. посещений на сегодняшний день около 6тыс. Недавно решил её использовать и обновил до сегодняшних реалий arduino esp8266 и arduino stm32. Пока переписывал, сам у себя нашел пару неоптимизированных участков. Итого за 5 лет из 6тыс. никто ничего этого не заметил и не предложил.

Я могу продолжить, у меня ещё есть…

Когда мне говорят — Вот если есть исходники, я могу сам подправить или добавить функционал под себя. Угу, ага. Обычно они же потом бегут к тебе в личку и с просьбами — я вот тут убрал, добавил, а оно не компилируется, не работает. Посмотрите пожалуйста, по братский?

Ну и для справки вам, по статистике только 2%..5% пользователей интернета генерирует его контент, осталальные 95% биомассы тупо потребители.
+
avatar
  • Z2K
  • 08 декабря 2022, 23:00
+5
И каков Ваш вывод? Не публиковать код поскольку другие только копируют? А вот Вы ничему не научились просматривая чужой код?
+
avatar
+3
можно и мои 2 копейки… своего контента у меня нет чтоб чтото выкладывать и иметь статистику на эту тему, но есть опыт в ловле багов в очень разных программах/кода… и к своему стыду как и говорил enjoyneering если я и нахожу баги я очень редко когда о них рапортую. точнее так.
если это большой известный проект и я им тоже часто пользуюсь я заношу баг. если это мелкая библиотека или малоизвестный автор я как правило исправляю для себя но не рапортую. так что цифра что из 10 тысяч буквально 2-3 случая я верю без проблем.

а вывод (впринципе в опенсурсе) если автор выложил — говорим спасибо. нет ну и ладно (это его воля) и нет тут никаких: так он же тоже гдето учился тоже использовал открытый код и т.д.
+
avatar
0
вывод такой. перестать верить в деда мороза, opensourse и клянчить чужой код. учиться, учится и еще раз учится, а потом писать самому.

мне вот код автора совершенно не нужен (сиди разбирайся в этой лапше), я сам напишу как я хочу и исходя из своего чувства прекрасного.

интересны только конечный функционал устройства (многие функции действительно полезны, но ты про них даже не догадываешся), подводные камни и особенности (глюки) оборудования используемые в устройстве.
+
avatar
  • Undef
  • 09 декабря 2022, 01:49
+1
Зачем тратить время, если за тебя кто то уже написал велосипед и ты можешь его улучшить или исправить под себя?
Я вот в юности тоже считал, что нужно всё СВОЁ, но потом приходит осознание, что на это слишком много времени тратится, если так писать всё своё то за пару лет может и закончишь проект
Это уже проект не ради выполнения какой-то нужной задачи, а проект ради проекта

Вот гос-во даже операционную систему свою не может сделать
А телефоны? Почему не осталось больше телефонов с другими ОС, кроме как айос и андроид, ибо это сложно, долго и дорого (и на перспективу может быть убыточно)
Используют уже готовые наработки
+
avatar
  • Undef
  • 09 декабря 2022, 01:43
0
Ой фу, прямо так и веет короной на голове, осуждаю
Кто то просто качает для просмотра, кто то может исправил и ему незачем или тупо лень бежать сразу же к вам и говорить — а вот тут надо было сделать так(а вы думаете что вы пуп земли и без вас тут никак)

И зачем е вам обращаться тем, кто подправил и оно работает?
Логично, что будут обращаться большинство не очень шарящих
+
avatar
+6
по статистике только 2%..5% пользователей интернета генерирует его контент, осталальные 95% биомассы тупо потребители.
Сталевары тоже могут посетовать, что только 0,1% населения умеют варить сталь, а 99,9% тупо потребители. И чо, еще не чувствуешь себя биомассой?
+
avatar
+2
Сталевары тоже могут посетовать, что только 0,1% населения умеют варить сталь, а 99,9% тупо потребители. И чо, еще не чувствуешь себя биомассой?
все правильно, но есть нюанс. мы же про opensource говорили, который даром те бесплатно и я когда про 2%..5%, тоже имеел ввиду тех кто не за деньги, а по зову души. столлевары за бесплатно вам только обсценной лексики отгрузят.
+
avatar
+5
>>Ну и для справки вам, по статистике только 2%..5% пользователей интернета генерирует его контент, осталальные 95% биомассы тупо потребители.

Остальные 95% населения шьют вам штаны и водят ваши машины «скорой помощи».
+
avatar
+6
А пока вы пишите вот вам мои 2 копейки.
Расскажу историю.

Очень давно, году так в 2003-2005-м (не помню точно) я купил процессор core 2 duo. Собрал системник, поставил в него SB Live! и вдруг обнаружил, что при попытке декодирования ac3 система уходит в синий экран. Разочаровался, но делать ничего не стал. А чуть позже заметил, что powerdvd при попытке декодирования того же ас3 заваливается с ошибкой в неком ivaudio.ax. Решил посмотреть, что там. Открыл дебагер и увидел в этом месте какую-то странную команду ассемблера — я такую не знал. Стал гуглить, оказалось, она для алтона. Но у меня core 2 duo.

Стал разбираться, выяснил, что из-за неправильного использования cpuid библиотека ошибочно определяла, что у меня атлон и пыталась использовать оптимизированный для него декодер. Исправил бинарник (просто зашил подходящий результат cpuid) — powerdvd стал работать. Тогда я вспомнил про синий экран и решил посмотреть в драйвере. И обнаружил там точно такой же код. Исправить смог только под 98, т.к. отключать требование подписи драйвера в хр тогда не умел.

После этого обратился в поддержку креатива, описал детально ситуацию. Мне ответил человек, что, если драйвер определяет мой компьютер как атлон, надо обратиться к поставщику компьютера. Затем, что драйвер надо переустановить. Я ему еще раз объяснил, что проблема в самом драйвере. Еще через пару писем его ответ меня просто поразил: «найдите на нашем сайте контакты разработчиков и обратитесь к ним».

Находил баги в OCCI — библиотеке для поддержки оракла. Но у них вообще, не имея подписки, создать обращение в поддержку было невозможно.

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

Какой вывод для себя я сделал — если нахожу небольшой баг в опер-сорс коде, чаще проще и быстрее его исправить самому и забыть. Если нахожу большой — тут можно и к автору обратиться, но исправит ли он?

Возвращаясь к нашей ситуации — тут раздел диайвай. Будем честными, вряд ли много кто найдет баги в коде и напишет автору, но вот подправить код для себя могут захотеть многие. А кто-то может посмотреть код и написать потом свой. То есть, пользы от открытого кода в данном разделе несравненно больше.
+
avatar
0
Все правильно, но опять есть нюанс. Некоторые diy так безобразно написанны, а новички все тянут в рот и в итоге мы имеем огромную армию любителей (дальше алегория), которые в место красивого русского языка говорят на папуасском.
+
avatar
+2
но опять есть нюанс
Если бороться с кривым кодом, ардуино надо вообще запретить :) Но ведь цель ардуино именно в том, чтобы принести микроконтроллеры и умные вещи в массы. И чем больше будет исходников, пусть и кривых, тем больше будет возможностей выбора. А кто понимает — сможет взять из них тот участок кода, который нужен ему.

Например, у меня есть идея — сделать простую звонилку. Коробка, на ней три кнопки и, возможно, один светодиод. Нажимаем кнопку, устройство звонит на определенный номер (там скидывают) и все. Были бы тут открыты исходники, я бы посмотрел команды инициализации модема и быстро написал свой код, тем более, ничего другого мне не надо. Может быть, даже на tiny13 получилось бы :) (хм, хотя, похоже, конфиг-то как раз в статье есть)

А так, если руки дойдут, надо будет искать в инете.
+
avatar
0
Были бы тут открыты исходники, я бы посмотрел команды инициализации модема и быстро написал свой код, тем более, ничего другого мне не надо.
Так есть же datasheet, открываем, смотрим, пишем. Всегда так делаю — работает.
+
avatar
+1
В модеме физически нет такой функции это же не сматрфон всётаки.
+
avatar
  • Siroc-co
  • 08 декабря 2022, 08:05
+13
Ну то есть вы и дальше будите спорить, но исходник не предоставите? Тогда грош цена вашему коду.
+
avatar
+1
обновил ;)
+
avatar
  • Undef
  • 08 декабря 2022, 11:39
+2
Может он стесняется своего кода? Настолько он плох
+
avatar
0
не без этого
+
avatar
  • Siroc-co
  • 08 декабря 2022, 15:24
+2
Я много интересных штук накодил. Но о них никто никогда не узнает. Потому, что я не имею IT образования, а на всех форумах меня поливают сильно и долго. Например один умник докопался до меня, что я применил в коде "&" для логического оператора, а не "&&". А мне откуда знать? Мне глубоко пофиг, ведь код работает. И это самые мелочи. Так что решено раз и на всегда — своё оставляю при себе. Но я не в коем случае не против, чтоб другие код выкладывали, любой.
+
avatar
  • Undef
  • 09 декабря 2022, 01:52
0
Не на форуме сайта схем ли это было
+
avatar
  • iamjdoe
  • 10 декабря 2022, 10:40
+1
Так ведь & и && это разные операторы! У них и операнды разные.
+
avatar
  • Siroc-co
  • 10 декабря 2022, 12:09
+1
Не ты ли это был..?
+
avatar
+7
Без схем и исходников — этого тут не надо.
Целиком вас поддерживаю. Искренне не понимаю, какую ценность для сообщества несут такие самоделки. Да и для сайта никакой — ссылок на товар нет.
+
avatar
  • kven
  • 08 декабря 2022, 13:54
0
да еще и новорег!

+
avatar
0
а что это меняет?
но к слову далеко не новорег, но старый акаунт после переезда домена не работает. если вы знаете как его вернуть буду признателен. alex68md.
админам писал. ответа нет.
+
avatar
0
ну у Вас ведь нет исходного кода сигнализаций пандора и старлайн. А они постоянно в интернете сидят. У вас нет исходного кода ОС телевизора, айфона, андройда? (не считая АОСП)
+
avatar
  • 2022
  • 11 декабря 2022, 01:10
+1
но все эти фирмы не анонимусы, и чисто теоретически им можно и претензию предъявить… ну, раньше) можно было((
+
avatar
  • 2022
  • 11 декабря 2022, 01:05
+2
Для тех, кто не понял фишки:
Мне предлагают оформить на свой паспорт свою симку. ..
так вообще никогда не надо было делать)
… На свои деньги купить комплектующие и за своё время всё спаять.
~$3 + датчики, +20' времени (в реальности, конечно, всё равно целый день;)
Влить чужой закрытый код. И самому послушно оплачивать трафик. Веря честному слову незнакомой фигуры из интернета, что в том коде сигналка.
это дико неприятно, и автор очень зря «зажал» понаписанное, даже без традиционной отмазки «у меня там в коде не прибрано и вообще здесь рыбу заворачивали»,

НО,

чего вы боитесь больше: что там майнинг во всю ардуинскую мощь,
или что оно будет рассылать прямо в органы что-то непатриотичное про новое платье короля?)
[ «он сможет отключить мой датчик протечки», надеюсь, не обсуждается, — автору явно не три года; ]

Тарифов честных, подходящих под эксплуатацию подобных вещей, всё равно давно нет, только дикие «безлимитные» пакеты — вот проблема, почти дезактуа делающая бесполезной данную разработку:\
+
avatar
0
справделиво.
да и в правду проект начинался когда смс во всю в ходу были… но к слову у нас с этим и сейчас проблем нету НО да тендеция намечается (интернет увеличивают/смс урезают)… тут люди добрые подкинули идею с DTMF… конфиг модем через тон. сигналы было бы интереснее (чем через смс)?

PS: изначально я не планировал выкладывать в паблик впринципе, делал чисто для себя под свои задачи… но со временем сложность/алгоритм росли и даже если оставлять чисто для себя необходима была универсальность кода и понятное его общение с человеком, и я подумал — а поделюсь, может комуто будет инетерсно попробывать или подкинуть хотябы интересных идей.
+
avatar
  • DSLTIP
  • 07 декабря 2022, 21:24
+11
Так какое же всё-таки энергопотребление у вашей «Энергоэффективной» сигнализации?
+
avatar
  • katran
  • 07 декабря 2022, 21:34
+5
такое-же как и защита от дребезга контактов… и защита от внешних помех…
+
avatar
+1
в режиме сна считайте потребление только сенсора. если один AM312 то 0,1mA
+
avatar
  • klop
  • 07 декабря 2022, 21:39
+16
Может вам просто стыдно ваш исходный код выложить? Не стесняйтесь, все когда-то начинали, посмотрим, поможем.
+
avatar
+19
Вы не понимаете.
Это же коммерческий продукт!
Наверное…

Обидно. Потратил время на чтение этого потока в надежде понять.
Понял только, что на понимание этот материал не рассчитан
+
avatar
0
обновил ;)
+
avatar
+2
Нет уж, спасибо.
Второй раз тратить время как-то не хочется

:-(
+
avatar
+24
.hex серьезно? Зря время потратил…
+
avatar
  • GIPER
  • 07 декабря 2022, 21:58
+2
+
avatar
  • Totka
  • 07 декабря 2022, 22:14
0
Сейчас, наверное, более актуальна будет сигнализация с информированием через Интернет (в умный дом на любой из систем). Телефон с мобильным Интернетом есть всегда. Роутер через ИБП с сим-картой внутри как резерв (если злоумышленник отрубит электричество), то есть используя симку для Интернета, а не только как сигналку. Заодно так же камеру наблюдения подключить, чтобы при срабатывании сигналки просто открыть камеру, посмотреть тревоги и так далее. Вроде все это делается до 100 баксов вложений. Роутеров тоже много, которые поддержат usb-модем с симкой и автоподключат его при пропадании Интернета (по пингу или более умным способом).
+
avatar
0
я делал с прицелом отсутсвия сети 220В это уже потом добавил фишки постоянной работы и тд. Главное всё же автономность.
+
avatar
  • rubanok
  • 08 декабря 2022, 02:24
+3
(если злоумышленник отрубит электричество)
Э… А если нехороший дядя еще и глушилку мобильной сети включит?
+
avatar
  • demonk
  • 08 декабря 2022, 13:41
0
Мне вот интересно насколько эффективны эти глушилки. Если я модем повешу на окно, отделенное тремя ж-б стенами от входной двери — его заглушит или он успеет поднять тревогу?
+
avatar
0
когда у нас на работе была китайская глушила в районе 5 метров стабильно. на открытой местности. через 3 стены наврядли пробьет. только если профессиональная омжет.
+
avatar
  • 2022
  • 11 декабря 2022, 01:50
0
насколько эффективны эти глушилки
в основном от прошивки модема зависит, как он отнесётся к пермане длительной невозможности связаться с базовой станцией (задержки, количество повторов, попытки перезагрузиться..)
его заглушит или он успеет поднять тревогу?
это не работает с предварительным предупреждением, типа "иду на вы"
увы, — нет.
+
avatar
  • sfs
  • 07 декабря 2022, 22:19
+7
К сожалению первый блин вышел несколько комом. Впрочем на то он и первый. Следующий наверняка будет лучше, а желание не просто повторять чужое, а сделать что-то свое и поделиться с народом похвально. Успехов в дальнейшем творчестве!
+
avatar
+8
Автор, без схемы не понятен масштаб очумелых ручек и количество покупных деталей.

Ну и раз вы заговорили о 2х амерном бп, то вангую у вас sim800, а на него зоопарк прошивок, разной степени глючности. Например, некоторые не по стандарту принимают sms о платной подписке и провайдер расценивает это как согласие. Вобщем не завидую я вам.
+
avatar
0
Согласен новичку тяжело. Постараюсь позже добавить.
Тем кто уже собирал сигналки с этого сайта — ничего сложного. По элементам тоже всё похоже. По этому я и указал стаьи первоисточники. Минимум это модем, ардуино и один сенсор (напрмиер АМ312) и уже будет работать.
У меня кстати Neo 590. Но должно работать и на sim800 там тоже самое. У меня используется минимум стандартных команд — проблем не должно быть. Глючность тестировалась не один меясц. Если питание надежное ничего глючить не будет. У большинства глючность потому используют блокирующий код и не поверяют ответы. У меня это учтено.
+
avatar
0
обновил ;)
+
avatar
+1
Кроде как номер звонящего можно подделать. Насчет СМС не помню
Была статья на хабре про hackerSIM
+
avatar
  • mike888
  • 07 декабря 2022, 23:01
+1
Собрал несколько лет назад конструкцию отсюда radiokot.ru/forum/viewtopic.php?f=25&t=127128&sid=023ffbbfe0fb49a64965ca70584ed3e9 работает на даче без проблем, хотя основное это метеостанция, есть шлейф для сигнализации и при желании можно довести своё. Из плюсов все выводится в приложении народмонитора, смс не используется, только инет. Из минусов есть завязка на сервер автора, но пока все работает. С железом не все просто, зависший девайс на даче не порадует, если некому дёрнуть питание. Конкретная конструкция точне не зависала в последние три года, с последнего включения. Среднее потребление около 70мА при 12В.
+
avatar
  • IN19
  • 07 декабря 2022, 23:06
+3
На рынке цены на GSM сигнализации сейчас негуманные. Да и выбор небогат. У меня на даче стоит CCU625 уже лет 12. В этом году сгорел адаптер питания, от старости. Я уж испугался, что и сигнализация накрылась. Ан нет, все работает. К сожалению, за 12 лет ничего более хорошего, удобного и функционалного так и не появилось, только цену вздули на «новую» модель, да теперь за каждую дополнительную функцию нужно доплачивать (раньше все возможности были сразу доступны и включены). Осталось только еще сделать все по подписке, в плане особой заботы о юзере. И я даже не знаю, какие еще возможности можно придумать для этой древней GSM- сигнализации, там все было предусмотрено. Так что если кому хочется создать что-то свое, не нужно изобретать велосипед, а просто взять готовое устройство как прототип. Да, энергопотребление можно на порядок легко уменьшить, сделать что-то удобнее, убрать глюки (и не насажать своих). Но там все питается от 12В 7Ач кислотника и никто не заморачивается экономичностью. Поскольку львиную долю съедают датчики, пожарные и движения. И батареи вполне хватает на 24 часа работы.
Я не профессиональный программист, но делал несколько проектов на ATMega и прекрасно представляю, что возможностей Меги32 больше чем достаточно для такой GSM-сигнализации с любыми мыслимыми функциями. Конечно, если не нужно писать и передавать видео, держать онлайн связь через инет и нечто подобное. А вот звуковые функции, управление исполнительными реле, контроль температуры в доме, передача состояния объекта и управление смс через GSM, работа с электронными ключами-таблетками — на все это МК вполне хватает.
+
avatar
  • iv1
  • 07 декабря 2022, 23:15
0
На рынке цены на GSM сигнализации сейчас негуманные.
Да не сказать бы. С учетом инфляции относительно подешевели наверное ( поэтому и продают функции отдельно). Сравните эти же тульские. Раза в 2 за 15 лет ( мое сравнение) подорожало «всего».
К сожалению, за 12 лет ничего более хорошего, удобного и функционалного так и не появилось,
А что там надо? Из заметного- управление через интернет ( приложение). Удобней
Но там все питается от 12В 7Ач кислотника и никто не заморачивается экономичностью.
Это аварийное питание. Основное- 220. И потребление тут не слишком важно
Очень узкая сфера у таких устройств- дача Если есть интернет стационарный, то выбор гораздо веселее, вплоть до умных домов
+
avatar
  • iv1
  • 07 декабря 2022, 23:06
+3
Не уловил: в чем фишка упора на малое потребление? Для дачи, в которой нет электричества? И батарейку из дома привозить? ГСМ контроллеров на рынке как грязи ( у меня работает 17 лет), кроме сигнализации они умеют что то включать, например отопление, измерять температуру и т.п.
В чем состоит концепция?
+
avatar
+1
Ну я делал изначально на место без розетки в которое приезжаю могу раз в неделю могу раз в 3 месяца. Потом добавил функциональности. Особенной фишки нет. Просто звонит на ваш номер когда есть нарушения контура.
На пин внешней сигнализации / сирены можно впринципе повесить что угодно — но тем кто дружит с микроэлектроникой. Если выходного уровня 3 минуты хватает. Ну например просто как стартовый импульс. Бесконечно длго этот пин выдавать уровень не будет.
Я сам не паял на этот пин ничего сложного — советовать не буду
+
avatar
  • Siroc-co
  • 08 декабря 2022, 08:15
+9
В чем состоит концепция?
В закрытом коде. Прощупывает количество мамкиных ардуинщиков, готовых слепо верить незнакомцам. Тут тебе ни файрволов, ни антивирусов, ни трафик не проснифать. Твори чё хочешь, и хренас кто тебя вычислит.
Признаться, я и сам такое делал, лет 10 назад. Аж семеро человек нашлось, кто поставил. Трое из них пинговались три года, а потом мой хостер закрылся, я уже не стал домен переносить и заморачиваться с хостингом.
+
avatar
+2
Значит ваш уровень программирования достаточно высок, я пока не дорос. Я не знаю как всего этого сделать без интернета. Да и с интернетом туманно себе представляю. А что его нету очень легко проверяется, наверху написано как. Плюс у оператора его можно выключить. А также вы используете кучу других устройств с закрытым кодом, но это вас не останавливает.
Да и что реально даёт доступ к вашей неизвестной ардуине? Которая может просто стоит на столе для изучения? Или вы думаете я буду ездить по всем бывшим Республикам с каким-то спец приборами и вычислять слабое звено?
У вас намного больше личной информации утекает через телефон, телевизор, ip камеры и тд. А вы ищите подвоха в ардуинке на форуме где делятся своими не коммерческими проектами.
+
avatar
  • Undef
  • 08 декабря 2022, 11:42
+5
Если он не коммерческий, то почему код закрыт?
Вы исходник не выкладываете, чтобы ЧТО?
+
avatar
  • adenisen
  • 07 декабря 2022, 23:07
-1
вот буквально только сегодня забрал из постамата — на случай если кому-то нужно сделать быстро (или поиграться и забросить понять нужно ли оно). ну или просто лень паять. в инете есть открытые примеры работы — буду изучать в ближайшее время. целевое использование — мониторинг удаленной дачи или строящегося дома (в котором отопление уже включено, но ремонт не доделан и на постоянке никто не живет — следить за температурой)
+
avatar
  • iv1
  • 07 декабря 2022, 23:19
0
А что это, где взять прошивки? Почему оговорка про отопление? Не работает при минусе?
Т.е функцию «сигналка для дачи, включить отопление » выполнить может без написания прошивок самому?
+
avatar
  • adenisen
  • 07 декабря 2022, 23:52
+1
это платка, на которой установлен ESP32, 2G модем SIM800 и схема зарядки лития. плюс ножки на которые можно подцепить датчики. писать прошивку нужно самому (по сути та же ардуина). есть примеры с которых можно начать.
оговорка исключительно про мою ситуацию — имеется строящийся дом у тестя с работающим отоплением но отсутствием отделки (и постоянных жильцов). нужно следить не вырубилось ли электричество или отопление — чтобы не померзли трубы. ну и не пришел ли кто посторонний. сейчас там трудится собранная на коленке конструкция на АТМеге
+
avatar
0
Вроде у них на нордике что-то было. Поинтереснее будет в плане энергопотребления
+
avatar
  • iv1
  • 08 декабря 2022, 00:02
+3
Понятно. Для энтузиастов, когда процесс важнее результата. И дело даже не в том, что надо изучать программирование, а будешь бесконечно исправлять косяки, дорабатывать, вылавливать глюки и т.п.
Если хотя бы полусамодельное, с большим сообществом, где можно взять ( почти) готовое, ну или кто то продает прощивки ( типа 1М, часть прошивок бесплатна), а так… на любителя. Мнение чуть продвинутого пользователя, который немного в теме. На истину не претендую
+
avatar
  • adenisen
  • 08 декабря 2022, 00:33
+4
для энтузиастов — да. готовую прошивку — что-то здесь ее никто не хочет ставить ее даже забесплатно )) так что если кому-то нужно готовое, то идут к известным производителям за готовым решением и за другие деньги. кто хочет свои перламутровые пуговицы — сделает сам. и у каждого своя истина, да
+
avatar
+1
да, но почему схемы то нет?
+
avatar
0
Чуть позже будет
+
avatar
+4
позже — поздно
+
avatar
0
ну извините.
+
avatar
  • Rost
  • 08 декабря 2022, 11:31
+1
А как оно относится к пропаданию сигнала GSM и появлению его снова?
У меня на даче стоит сигналка с модулем SIM300, она мне уже надоела. Часто отрубают свет (сама сигналка оснащена аккумом) и близлежащая вышка тоже выключается, после восстановления электроснабжения сига остается «вне сети».
Иногда вышку, возможно, перезагружают, и тогда и без отключения света сигналка снова «вне сети».
Я думал к ней таймер прикрутить и передергивать по питанию раз в сутки, но она не запоминает состояние, снимается с охраны.
+
avatar
+1
в этой прошивке это учтенно. там нет проверки сети в режиме ожидания. но есть при тревоге. и модем/ардуино сами перегрузяться и если есть сеть позвонят вам или отпраят смс.
+
avatar
  • vp7
  • 08 декабря 2022, 18:30
0
Устройство само по себе интересное, но блин, цена и 2G only совершенно убивают всю идею. ;(
+
avatar
+6
Грамотность уровня GOD! Мои глаза все в крови.
+
avatar
+2
Есть такой момент, если глушака ставят на GSM и модулю нужно сделать регистрацию, то у него это не выйдет.
А если к моменту постановки глушака модуль в сети, то у него больше шансов сообщить о проблеме звонком или смс.
В данной конструкции вы гасите модуль и подымаете по сработке, чем играете на руку любителям глушилок.
Хотя при батарейном питании увы никак иначе.
+
avatar
+1
Честно, глушилки нет, поэтому даже не задумывался. А без проверки на железе нормальный код не напишешь :(
Да и такие поделки ставяться на охрану помидоров, отслеживания 220В, и защиту от дурака :)
Не совсем правильно их ставить на охрану реальных ком. Объектов.
+
avatar
0
Встречный момент — раз в минуту коробочка пингует некий внешний ресурс.
Если этого почему-то не произошло — внешний ресурс ждет еще пару минут и поднимает вой на весь интернет. :)
+
avatar
  • kvolk
  • 08 декабря 2022, 18:17
+3
Ночью плохо спать будете, когда технические специалисты провайдера будут тестировать свои каналы связи, проводить профилактические работы или ещё чего им там вздумается.
+
avatar
0
>>когда технические специалисты провайдера будут тестировать свои каналы связи

Глуша при этом GSM и WiFi? Я бы таки с подозрением отнесся к таким тестированиям и профилактикам…
+
avatar
  • BigB
  • 08 декабря 2022, 07:52
+2
Ни схемы, ни исходников.
+
avatar
0
всё есть ;)
+
avatar
  • BigB
  • 08 декабря 2022, 20:37
+1
Теперь есть. На момент написания предыдущего комментария их не было.
+
avatar
  • DenOFF
  • 08 декабря 2022, 08:23
+5
Это что-то из разряда как нарисовать сову. Если Вы изначально не захотели нормально и доступно, со схемой и Т.Д. показать людям, то для чего вообще выкладывать сие?
+
avatar
0
Ну любая поделка расчитаная на паяльник, програмирование или и то и то вместе подразумивает коекакие знание. с этими занниями и подробным описанием — любой справиться.
но добавил и картинки ;)
+
avatar
  • iamjdoe
  • 08 декабря 2022, 08:27
+5
Про схему и сорцы уже сказали. И это вот ещё почему важно. Все AT-команды желательно завернуть в макрос «F()», чтобы они ОЗУ не отъедали попусту, а хранились во флеш-памяти. Иначе оно (ОЗУ) очень быстро закончится, а ведь в нём и стек, и куча. Наступит момент и для них места уже не останется, а растут они динамически.
+
avatar
  • Undef
  • 08 декабря 2022, 11:32
+3
«Соурсов: сори не будет. Free for use w/o source.»

После такого — хочется написать прошивку ещё лучше и выложить исходный код в интернет"
В принципе так и делал пару раз
Считаю что код на мк должен быть открытым, чтобы понимать как это работает, может там написан плохой код, который при условии >1 каждый тик выполняет задачу, когда можно написать ==1, чтобы задача срабатывала единожды, а не каждый тик
И это ещё не самое худшее
+
avatar
0
без иронии. с большим удовольствием почитаю ваш код. если вам удастьтся в меньший размер ПЗУ и ОЗУ разместить его ;)
Я поэтому и выложил сколько занимает скетч и рам. при том что у меня нет блокирующего кода, у меня паралельно принимается/отправляется смс и прослушиваются сенсоры и прочий функционал.
+
avatar
  • Undef
  • 08 декабря 2022, 12:30
+1
Использую мк без Ардуино — уже удалось
+
avatar
0
попробуйте тоже самое на ардуино ;)
единственное что я изменил на ардуино уменьшил сериал буфер до 32 (а не увилечил как kvolk) скетчу хватает скорости и справиться с 32 буфером.
плюс в раме 64 бит буфер для моего смс. итого из 128 байт оперативки 96 отдано на буфер итолько 32 используется для нужд программы.
+
avatar
  • Undef
  • 08 декабря 2022, 12:56
0
Вместо digitalWrite(9, HIGH) — пишу PORTB |= (1<<PB0)
Опять удалось
+
avatar
0
ну это и запись во флэш первое что делается. но даже с этим код программы на ардуино будет не маленький
+
avatar
  • iamjdoe
  • 08 декабря 2022, 13:27
+3
Неплохо. Осталось от «Magic Numbers» избавиться дефайнами, а макроопределениями создать какую-нибудь команду для данной функции, отражающую в самом своём названии идею выполняемого действия :D
+
avatar
+1
А это приходит позже. Когда свой код через год читаешь :)
Сразу всё становится понятно и про именование и про комменты.
+
avatar
  • Z2K
  • 08 декабря 2022, 14:07
+1
а у меня реально кривой код…
только 32 используется для нужд программы.
— нельзя сказать что это плохой результат.
+
avatar
  • Undef
  • 08 декабря 2022, 12:42
+1
Блокирующий код в программировании — вообще дурной тон))

Вы наверное это не выкладываете, потому что думаете, что написали нечто крутое и этим крутым не хотите делиться с другими? Ибо вы столько труда вложили
Но может это крутой код только с вашей точки зрения и точки зрения первого проекта))
+
avatar
+2
поверьте, я близко не програмист и код мой далеко не крутой. но из того что всплывает (про сигналки + ардуино) у всех блокирующий код.
а у меня реально кривой код… который даже стыдно показать. не нравиться он мне. пока думаю как изменить главный цикл чтоб был и быстрее и красивее. как придумаю выложу.
+
avatar
  • Z2K
  • 08 декабря 2022, 14:04
+3
а у меня реально кривой код…
— откуда Вы это взяли? Сами оцениваете себя как джуна, но высказываете экспертное мнение что это плохой код. Може Вы можете обьективно оценить окд других программистов? Думаю чо у Вас нет достаточного опыта. Так може у Вас код не прохой. а даже оптимальный. Сейчас мы этого не узнаем, не оценим, не исправим и не улучшим.
+
avatar
  • r0c
  • 08 декабря 2022, 11:49
+4
Простой по функционалу проект. Непонятно, почему стесняетесь выложить исходник? Коллективным разумом его можно доработать до идеала. Все равно исходники понятны очень ограниченному кругу лиц. Да и в интернете есть идентичные проекты с открытыми исходниками. Лет 7 назад повторял похожий проект.
+
avatar
0
мможет вы и правы. пока хотелось бы услышать конструктивную критику или предложения от тех кто всётаки попробует.
для меня это первый проект. переделывалась логика несколько раз. ну так всегда проихсодит когда «по ходу пьесы» меняются требования/алгоритм. а они всегда меняются когда нет опыта :) поэтому интересно а оно вообще работает у других. понятна другим логика работы или надо чтото упростить переделать… и тогда уже может выложу чтобы как вы сказали общими усилиями «причесать»
+
avatar
  • iamjdoe
  • 08 декабря 2022, 13:34
+2
Думаю, созданием подобного рода сигналок с GSM-модулями не игрался только ленивый, так что не стоит бояться показать свой код. Мы все когда-то начинали что-то новое осваивать и были новичками.
Мне бы, например, была интересна логика обнаружения зависания модема, неотправленного сообщения или несостоявшегося звонка. Я её решил «топорно», но даже так приходится парсить ответ модема, учитывая при этом, что первоначальное «ок» на отправку команды на звонок вовсе не является гарантией успеха, и что через некоторое время модем может выплюнуть ещё что-то.
И таких моментов масса. Так что было бы интересно взглянуть на Ваш код. Даже тем, кто не страдает паранойей :)
+
avatar
  • Z2K
  • 08 декабря 2022, 14:17
+3
Думаю, созданием подобного рода сигналок с GSM-модулями не игрался только ленивый
— Хотелось бы что б была польза всем от всего того потраченого времени, набытых шишек, найденных багов, решенных проблемм — чтоб синергия коллективного разума создала cовершенную замечательную вещь, удобную каждому в отдельности и всем вместе. :))
+
avatar
0
спасибо. видно что человек тестил нечто подобное а не просто залил чужой код.
у меня тоже топорно. а как я понимаю и нет других способов. это же не протокол с подтверждением пакета.
логика обнаружения зависания модема — тупо нет сети. нет нужно ответа ресет. с запоминанием состояния.

неотправленного сообщения — тут два варианта. если нет подтверждения успешной отправки (когда денег нет например) нормально обрабатываем. а вот если ушло но на самом деле не пришло — тут никак не обработаешь. но у меня такого и не было. было только один единственный раз что смс якобы ушло. а я его не получил. но получил его когда через время второе отправил.

несостоявшегося звонка — было буквально 2-3 раза за оч длительно время. OK получаешь но звонка нет. получается можно пренебречь такими случаями но и борьбы с ними нет. а вот чаще бывает изза плохого питания (или соплей вмесо контакта) что во время звонка модем зависает/отрубается но тут просто проверил сеть — нету. рестарт.
+
avatar
  • r0c
  • 08 декабря 2022, 16:40
0
Никто не сомневается, что этот код будет работать в идеальных условиях. Самое интересное и трудное — добавить корректную работу при возникновении различных ошибок и глюков. Нужно обеспечить 101% гарантии доставки оповещения владеельцу
+
avatar
  • SEM
  • 08 декабря 2022, 13:07
+1
Энергоэффективная сигнализация — это которая запитана через «нормальноразомкнутый контакт».
Дверь открыли — контакт замкнулся, питание пошло на сигналку (плюс вкл. ключ или реле параллельно контакту на двери, чтобы не выключилось при закрывании двери), она загрузилась, отзвонилась и отрубилась.
Потребление в режиме ожидания — ноль. С блоком обычных батарей (в герметичном корпусе) может несколько лет ждать срабатывания. Нужно только SIM-ку «подкармливать» чтобы не заблокировали (например, автоплатёж 1 руб в месяц).
+
avatar
  • Undef
  • 08 декабря 2022, 13:27
0
А можно одну копейку?
+
avatar
  • iamjdoe
  • 08 декабря 2022, 13:36
+2
Не надо жадничать, покажите своё великодушие, тем более, что это обходится так недорого :)))
+
avatar
  • Undef
  • 08 декабря 2022, 13:48
+1
Ну как говорится, с миру по нитке — голому рубашка
А если по рублю, то это уже получится не голому рубашка, а одетому Майбах))
А мне хочется, чтобы у голого была рубашка, а не у одетого Майбах))
+
avatar
0
дельное замечание. я и забыл что в России нужны эти подверждения. у нас они просто не нужны. Этой функции не реализовано у меня — «подкармливание» на совести хозяина.
+
avatar
  • SEM
  • 08 декабря 2022, 14:59
0
«Подкармливание» — это функция не сигналки, а электронного кошелька или «Клиент-Банка». В ЛК там настраивается ежемесячный автоплатёж.
Сигналка может только «подъедать» баланс, отправляя SMS, по встроенному календарю или в ответ на входящую SMS (запрос статуса).
Вот только находящаяся «в глубоком сне» сигнализация это не сможет сделать. А личный кабинет «Клиент-Банка» крутится 24х7 силами самого банка.
Остаётся вопрос — хватит ли движения по счёту на 1 рубль в месяц для сохранения статуса активного клиента, или оператору требуется ещё и расход средств.
+
avatar
+2
Энергоэффективная сигнализация — это которая запитана через «нормальноразомкнутый контакт».
В корне неверно. Сигналка должна контролировать состояние шлейфа датчика. Иначе, если оборвать шлейф, датчик никогда не сработает.
+
avatar
  • SEM
  • 09 декабря 2022, 10:25
0
Смотря что вам нужнее. Срабатывание на обрыв цепи или автономность в несколько лет.
+
avatar
  • Z2K
  • 09 декабря 2022, 12:05
+1
«Срабатывание на обрыв цепи или автономность в несколько лет. »
— при сегоднешнем уровне электроники выбор или-или не стоит, можно производить опрос линии со скважностю (даже переменной для обеспечения большей защиты от обмана ПОС) 1 к 200, а бороться за потребление значительно ниже уровня саморазряда батерей не нужно.
+
avatar
+1
Че, серьезно? То есть, несколько лет вас не будет интересовать состояние контролируемого объекта? Ведь сигналка молчит, и никакой информации о состоянии объекта нет.

Тогда не нужно вообще заморачиваться с электричеством, аккумуляторами, проводами, датчиками. Механические системы плюс правильно подобранные заклинания обеспечат вам истинную автономность на протяжении не только лет, но и веков и, даже не побоюсь заявить, тысячелетий. Примеры систем можно увидеть в фильмах: «Мумия», «Лара Крофт расхитительница гробниц» и др.
+
avatar
  • SEM
  • 09 декабря 2022, 12:39
0
Несколько лет — это возможность, а не обязанность.
Для «дальней дачи» (дача, склад, лабаз, контейнер на площадке хранения, лодка, нычка) без электричества, не посещаемой всю зиму (или посещаемой нестабильно), нужна автономность в пол-года, а лучше ещё с запасом.
+
avatar
0
Мне интересно, в такой ситуации: вы приезжаете на «дальнюю дачу», склад, лабаз, контейнер на площадке хранения, к лодке, нычке в компании с женой, приятелями, собакой (нужное выделить курсивом) и находите, что объект сгорел три месяца назад.
Какие аргументы у вас будут для жены, приятелей, ...(собаку вычеркиваем) в оправдание своего «альтернативного» подхода к автономности сигнализации?
+
avatar
  • SEM
  • 13 декабря 2022, 17:02
0
Тем что без сигнализации объект сгорел бы точно в это же время.
+
avatar
  • RusL
  • 08 декабря 2022, 14:46
+3
Закрытая прошивка + СИМ карта = Коллцентр сотрудников службы безопасности банка. )))
+
avatar
  • kvolk
  • 08 декабря 2022, 15:49
+1
Скажу я вам так, всё это шляпа на li-ion. И эта шляпа перестаёт работать как только температура в охраняемом помещении приближается к 5°C. Ваш модем даже смс не успеет отправить если отключить внешнее питание. Проверил прошлой зимой при установке сигнализации в неотапливаемый гараж. Li-ion аккумулятор на морозе превращается в «тыкву», никакой энергоэффективности там не будет.

Что касается 590го модема — забудьте про него, просто не используйте его в своих проектах, есть менее глючный sim800l, но и он не идеален.

ЗЫ. Ссылка в тексте не работает:
Более подробно про модем mySKU.me/blog/aliexpress/37745.html. Выхода в интернет
точку после html уберите или пробел добавьте.
+
avatar
0
полностью с вами согласен. линк поправил.
+
avatar
+2
Ставьте в параллель li-ion несколько танталовых или полимерных конденсаторов, чтобы они обеспечивали необходимый пиковый ток на нагрузке. Если средний ток небольшой, то аккумулятор будет работать и при отрицательных температурах. На холоде замедляется скорость движения ионов, т.е. уменьшается отдаваемый ток, а накопленный заряд не изменяется.
+
avatar
  • Mishakov
  • 10 декабря 2022, 23:13
0
Проблема всех подобных сигнализаций в одном. Частоты GSM и WIFI уважающие себя воры глушат во время проникновения.
+
avatar
  • 2022
  • 11 декабря 2022, 03:07
0
alexblade
08 декабря 2022, 12:54
+2
а у меня реально кривой код… который даже стыдно показать. не нравиться он мне. пока думаю как изменить главный цикл чтоб был и быстрее и красивее. как придумаю выложу.
Вот! сразу надо было это написать, а не провоцировать законное нытьё
и щаз ещё не поздно добавить обещалку в дисклеймер

теперь по делу:
Global variables use 266 bytes (10%)
вот одна из непонятных (и провоцирующих потенциальное недоверие;) странностей: просто от факта компиляции под другую платформу RAM'a вдруг более чем удвоилась. Что это — пустяковый дефект кода (типа int… byte… #default;) или(1%;) нечто другое?

и молдавский номер какой-то) в конфиге забыт|«забыт»

Если у вас предложения по добавлению дополнительной лед индикации (определенные моргания для 13 пина) буду рад услышать.
один сигнал служебный, длииинный — и потом столько коротких «точек», сколько команд из СМС прошло (обработка строки ведь после первой же ошибки прерывается?)
хотя, пока мы живьём сидим «у печки», всё можно и через порт посмотреть?..
это потом вся «морзянка» станет только развлечением для тараканов)
+
avatar
0
если написать одну и туже программу с сериал и другими библиотеками для нано и для микро — тогда и вопроса такого не былоб ;) да под разные ситемы а микро это другой проц — по разному компилируется.

номер не забыт а показан пример что будет при таком конфиге модема… пробовал разные конфиги остановился на таком. прошивка расчитана на разные странны (молдова в том числе). все страны указанны в prefix.

смс после первой же ошибки прерывается? нет. выполняется до конца и в конце может даже успешно применится (если правильно) просто в целях экономии РАМа все моргания по [маске] так сказать… считать успешные можно (вроде не сложно) но увеличит рам т.к. моргание живое (каждый раз считать надо) а не по маске. но даже если сделать пользы мало. 5 раз могнет а 10 команд было. какие 5 не сработали не понятно. по сути мало чем отличается от моего варианта. хоть одна не прошла мы сообщили юзеру. а дальше или юзер ищет опечатку или разделяет длинную команду на более короткие. и таким способом находит проблеммную команду. да согласен не так удобно как в смартфонах или компьюетерах. но и ресурсы у МК другие…

ну да всё это балоство с настройкой это в начале поиграться… у меня по итогу в смс сохранена одна длинная команда которая сразу всё настраивает и даже не смотрю индикацию.
+
avatar
  • 2022
  • 11 декабря 2022, 17:28
0
5 раз моргнет а 10 команд было. какие 5 не сработали не понятно
а если прерывать обработку командной строки после первой же ошибки, будет понятно: сработали первые пять
ну да всё это баловство с настройкой, это вначале поиграться…
вот правда, потому и особого значения этому всему не придавал
номер не забыт а показан пример
я к тому, что это «просто номер» и случайный звонок на него не нарушит ничьего покоя?)
да, под разные системы — а «микро» это другой проц — по-разному компилируется.
очень похоже на то, что тип переменных у вас описан нестрого, и компилятор в первом случае отводит под каждую один байт, а во втором два (ну или два-и-четыре)

тут люди добрые подкинули идею с DTMF… конфигурировать модем через тон. сигналы было бы интереснее, чем через SMS?
при текущей нашей ситуации с тарифами — да, хотя это и крохоборство (при спокойном сценарии использования сигналки:)
ставя себя на место жадных операторов связи), не могу придумать, как можно было бы «красиво» закрыть потребителю и эту лазейку

так что «да» — DTMF это не просто сегодняшняя мода, это перспективно, и удобно, и универсально (можно хоть тексты полубайтами передавать;), и готовые библиотеки чуть ли не для Attiny13 есть…
И ещё, — ваш проект может прекрасно обойтись без него))
+
avatar
0
просто номер если интересно можно и звонить иначе зачем это всё если не потестировать ;). оно в дебаге так приходит. в готовом варианте для экономии места и ресурсов вся дебаг информация не выводится.

да нет все переменные жестче некуда :) я в детали не в никал… примерно представляю но не копал чтоб точно сказать куда идут доп память… точно изза сериал может еще чтото (там таймеры и прочее… у микро их поболее)

«ваш проект может прекрасно обойтись без него)) „
на выходные полез немного улучшить логику… так наулучшал что всё разрослось и запуталось — вернулся обратно )) вот и я думаю от добра добра не ищут… ну может опять ради изучения ради процесса когдато и запилю dtmf…
+
avatar
  • vagonsky
  • 11 декабря 2022, 09:23
0
убедитесь что у вас GSM симка а не CDMA например
а разве такие бывают? Насколько мне известно ?CDMA\TDMA\DAMPS\NMT-450i симок никогда не было
+
avatar
0
у меня в гелекси эске европейском сдма симка… тоже вначале не мог понять почему моя программа перестала работать (поменял оператора) оказалось это не жыэсэм.
+
avatar
  • vagonsky
  • 11 декабря 2022, 18:37
0
сдма симка
первый раз такое слышу.Думал, что CDMA операторы давно прекратили своё существование, и никогда симки не выпускали-у них вроде прямо в телефон номер программировался, как пейджер.Может, тут дело в BAND-ах? Например, у нас 20 есть, а где-то за бугром только 38 вместо нашего 20-го
+
avatar
0
ну по началу да они тел без симки… потом кто не умер начал симки выпускать ну и волны у них другие да. но в современных фонах есть все волны поэтому простой чел даже не замечает разницу
+
avatar
  • SEM
  • 13 декабря 2022, 17:13
0
Насколько мне известно ?CDMA\TDMA\DAMPS\NMT-450i симок никогда не было
Были, лично в руках держал (вставлял в аппараты и переставлял). Покупал несколько телефонных шлюзов «Хуавей» и одну трубку-раскладушку «Киосера» стандарта CDMA, «симка» там называется RUIM (если память не изменяет).
+
avatar
  • SEM
  • 13 декабря 2022, 17:47
0