Комментарии 35
Хороший проект, плюсую. Делал нечто похожее , но еще с 8266. Да, Сим800 очень капризная штука, прикол состоял в том, что будучи подключенным через softwareSerial 4,5 требовал что бы диагностический FTDI232 был просто физически подключен ... с ним работал четко и стабильно, без него , начинались чудеса. )) Питание через параллельные LiOn 18650 , 3.9в - несколько лет , полет нормальный, контроль заряда через ТР4056. Правда схема пропиетарная. Не смотрел пока ваш код - работу с Сим800 в асинхронном режиме делали ?
3.5V вроде бы еще не полный разряд Li-ion. Но SIM800L уже работате не стабильно. Да и КПД линейного стабилизатора ESP32 получается так себе. И со штатным 1117 в ESP32 2.3V+1.2+0.1 = 3.6V на батарее - уже ESP32 не работате (уходит в перерезагрузку на грани 2.2..2.3V).
Так что однозначно Li-ion 1S не самый удачный вариант. Хоть конечно работать и будет как то.
Что имете в виду под "в асинхронном режиме"?
немного предложений, сумбурно:
А если сделать менеджер питания - т.е. питание контроллера что управляет всей сигналкой, без rf, постоянное,
Другие модули подключаются и настраиваются по мере необходимости.
Хотя авторизация по ble... дальность тестировали?
Может классические lowRF(например TIRIS) метки что стоят в ключах, считыватель сделать в районе стойки, но с емкостным датчиком в этой области - подошёл, включился RF модуль, опрос - ура, открылись. тогда можно и на свои пропуска на работу/в дом настроить.
Другие модули подключаются и настраиваются по мере необходимости.
Пробовал снимать питание с neo-6m. Не вариант. Слишком долго ищет после включения и батарейки (там скорее всего ионистор) хватает максимум на 30 минут для сохранения данных. А при холодном старте минут 20 спутники ищет. А режимы экономи а либо не работают (программный режим экономии) либо принципиально снижения потребления не дают (упрощенная схемотехника с постоянным питанием активной антены).
режим сна SIM800L вообще ничего не дает.
подозреваю что у меня SIM800L и neo-6m подделки. Но возится и искать другие варианты не хочу. 10 дней автонома меня вполне устривают. Этой машиной я чаще чем раз в 10 дней пользуюсь. Подзаряжается.
Хотя авторизация по ble... дальность тестировали?
Берет BLE метку (зеленая на фото с озона) и BLE на телефоне на растоянии метров 6-7 (в квартире). В машине не замерял. Обычно, когда заводишь то сидишь на водительском месте :)
Варианты меток смотрел разные (включая даже потрощение датчика давления на колесах). Но BLE - самый просто вариант. Цель была сделать без всякой экзотики. На самых распространеных компонентах которые можно просто купить и которые всегда будут.
Ну и плюс, что режим BLE можно а андройде "включить". А телефон всегда с собой и bluetoot на нем всегда включен (смарт браслет ношу). Т.е по сути и метку можно не таскать, как физически одельной включенной железкой.
Конечно BLE это не крипто защита (статические данные в ответе на скан). Но так и не роллс ройс фантом защитить же..
Можно посмотреть на линию питания активной антенны и отрезать её плюс.
А сам модуль отправлять в спячку не для сна, а чтобы не слушал антенну.
Да же не сложно. Вместо одного резистора на плате (его видно прямо рядом с ръемом антенны) сделать ключ на полевике и...
Но я решил не заморачиваться. Ну будет на 30% меньше потреблять. Но нужно придумывать логику работы спящего режима для GPS.
Да же не реализовывать. а придумывать и потом проверять в жизни. Когда засыпать. Когда просываться.
И так из за стольких моментов пришлось туда сюда таскать (из машины домой). Именно их за логики работы. А не программных ошибок. Когда думаешь умозрительно, что "оно наверное так нужно". А по результату эксплуатации понимаешь "не.. по другому будет удобнее".
У Вас хороший продукт для многих применений, и в случае если использовать его решения где нет ёмкого аккумулятора то даже 30% потребления в минус - это более чем отлично!
ну если вдруг окажется, что 10 дней мало.. ну тогда добавлю и логику управления GPS и доработаю саму плату GPS.
Если было нужно оптимизировать "по правильному", то ESP32 как основной модуль - это не правильно. Нужно ставить что то работающее на 1-5Мгц и жрущее мизер. Желательно в режиме сна с пробуждением от аналогово датчика движения. А остальные компоненты пробуждать по мере необходимости. И тонкая настройка GSM.
SIM800L в виде модуля с той минимальной обвязкой что есть - то же не айс.
И вместо neo-6m нужно брать более дорогой вариант и оптимизировать и режим работы (отключая когда не нужно) и режимы настройки (там можно единицы mA выгадать)
В общем по честному, с серьезной экономией по току потребления - это другие компоненты и куча времени на отладку "в поле".
А к основному аккуму машины не подключал и даже не планирую.
Как то прилетел из отпуска в -40 в тропической одежде. А штатная сигналка с GPS (другая машинв) высосала весь штатный аккум в 0 за 20 дней. Вот весело было на морозе в легкой одежде плясать вокруг на стоянке аэропорта..
Так что, и производителеи сигнализаций экономят на компонетах и разработке.
Вполне можно потребление было сократить до средних 1-5мA в дежурном режиме (грубо прикидывал). Но нет же.. всякие StarLine по 30-50mA тянут на 12V
Достаточно поставить тантал на 1000мкф и норм, СИМ800 будет вести себя гораздо лучше. Потом 800й не плохо умеет говорить , когда ему плохо с питанием.. Да конечно , 3.5в для старого аккума это уже предсмертное... Но у меня проект был рассчитан на подзарядку постоянную и работу от батарей только в состоянии аварии.
Про асинхронное программирование - имелось ввиду то , что основная трудность для меня , как не профи в программировании , была в том , что запрос ты посылаешь сейчас , а ответ на него (совершилась операция или нет) можно ожидать через минуты... Например контроль баланса , например подтверждение что смс отправлена адресату и дошла , а в это время нужно ограничить остальные действия с системой , например дождавшись запроса на силу сигнала БС и качество связи , отправить СМС с данными .
Во второй реинкарнации я использовал две Симки от разных операторов - МТС и Мегафон , у обоих разная кодировка в СМС , типа у Мегафон USC2 , а у МТС не помню уже... - это для реданданси , параллельно вычислялись лучшие условия приема для каждого оператора , там вообще случился ад с асинхронностью и проект я не доделал.
Аа.. про это. Ну так это просто конечный автомат с состояниями.
Ассинхронность.. ну так FreeRTOS из ESP-IDF.
Команды в Tx шлет одна задача FreeRTOS, а поток из Rx (точнене из буффера, обеспечиваемого ESP-IDF) читает и обрабатывае другая задача FreeRTOS, выставляя состояния (типа пришел RING, получена SMS, получен ответ на такую то команду). Что читается (контекст) определяется либо по данным либо по признаку чего ждать.
типа
if (_rcv_sms_step == SMS_STEP_RCV_SMS_BODY)
{
strncpy(gsm_state.sms_body_in, answer, sizeof(gsm_state.sms_body_in) - 1);
_rcv_sms_step = SMS_STEP_IDLE;
gsm_state.has_sms = true;
ESP_LOGI(TAG, "gsm_state.sms_body_in: '%s'", gsm_state.sms_body_in);
}
else if (starts_with("+COPS:", answer))
{ // provider
if (parse_answer_payload(answer, 2, gsm_state.provider, sizeof(gsm_state.provider)))
{
ESP_LOGI(TAG, "gsm_state.provider: '%s'", gsm_state.provider);
}
}
кодировка.
Поскольку не предполагал использованеи кириллицы, то не стал заморачиваться в "голым" форматом SMS (хотя ничего особо сложного нет, но зачем) и возложил это на SIM800L (режим "AT+CMGF=1"). В этом режиме SIM800L выдает либо ASCII текст либо hex дамп UTF-16, сам занимаясь переводом в текст. Да еще длинные сообщения склеивает. Что при использовании PDU "голого формата" пришлось бы поддерживать "руками"
Увы на 8266 не было РТОСа ) Посмотрю ваш код, может время все переводить на 32й.. Надо сказать он настолько же лучше насколько неудобнее в сборке кастомных плат. )
Интересный проект. Какой LiFePO4 использовали для возможности работы в зимний сезон (и почему не титанат)?
Какой корпус использовали?
Современные готовые решения из магазина с gps и gsm просто дичь, работают через китайские серверы и через такие же кривые приложения, которые ещё и исчезнуть могут из маркета в любой момент и можно будет выкинуть на помойку эту сигналку. Так что проект хороший, сам пользуюсь старой starline с обратной радиосвязью.
Как с работой при минусах? У esp32 заявлено -10, но по опыту она начинает выпендриваться уже при нуле.
не знаю. Зимой, через пол года, и узнаю. Я вот в начале апреля только закончил. В морозилке не проверял.
Но, с учетом общего тока, который модуль тянут из батареи, возможно, просто куска вспененного пенопропилена сверху в коробку окажется достаточно
Да ну? Метеостанция на крыльце, гаражный блок, теплица до минус 30 легко выдерживали несколько лет уже и прекрасно себя чувствуют до сих пор
До сих пор - это с каких пор?:) у меня 2 штуки по очереди стояли на котле пеллетном для связи с автоматикой офиса. Естественно ночью котел стоит и температура в котельной 0...-5. Пол года норм и начинаются зависоны. Котел встает, офис замерз. Достало до чертиков. Был поставлен stm32 и греющий кабель. Есть сомнения в модуле w5500, но он до сих пор пашет.
Хороший проект.
LiFePo4 нужно же, вроде, на положительных температурах заряжать.
Сходу нагуглилась такая штука https://www.fortebit.tech/polaris/
Цена наверное будет больше чем у вашего решения, но за то без пайки)
в 2002-ом на свою ласточку ВАЗ2104 ставил приводы на все двери и контроллер от домофона с беспроводным ключем, считыватель вличинку замка.
Потом появились дешманские сигналки по 1тр - перестал самодельничать.
А так зачет, только отладить и собрать все на одной плате и без СМС
Сингалиция классическая это окрыть/закрыть машину (+прочеее). Из за своей штатности она только от шпаны. Да и не охота лезть встраивать.
у меня валяются ТРИ (!) GPS/GSM трекера. Два типа ST-901.
В одном оказалось что нет акукмулятора внутри (не припаян) и хотя есть провод ACC, но он на него не реагирирует. В другом вроде бы все норма. Но SMS разбивает на две части и время в GMT+8 (китайское). И это не меняется настройками.
3-й какой то российский, но... SMS режим убогий (ничего толком не посылает) и заточне на гвоздями прибитый API к определенному сайту производитля. Т.е. опять же не то.
И валяются два иммобилайзера FALCON C10. Только один удалось запустить нормально.
Какой то время обходился миксом FALCON C10+ST-901+датчик удара+генератор длинного импулься на NE555.
В общем, то что сейчас можно купить - это какой то мусор собранный в подвале в Китае.
Все все что мне нужно:
Найти машину на парковке
Уведомление об ударе/погрузке на эвакуатор.
Вдруг я забыл документы/права в которых лежит токен.
да собственно все.
Сейчас у меня в авто какой-то китайский трекер купленый 10 лет назад, через смс все настройки, можно хоть на свой айпишник настроить всю инфу слать. Вроде как у него пару входов даже было и брелок с кнопкой но не подключал.
И сигналка старлайн а9 по моему, использую ее как закрывашку, но - к ней можно модуль с симкой докупить и будет все в одном и приложение и личный кабинет и уведомления любые и без китайских серверов.
Тоже делал gps-tracker на sim700l и neo, который через мобильное "bigbrother" отправляло координаты на мобильный. Но еще до всем известных глушилок gps сигналов в общественных местах, в парках работало плохо, а в машине работало только если на "торпеду" класть, чтобы "небо со спутниками видело". Да и антенну пришлось взять до 3х метров, потому как пипка, что на фото в статье, совсем плоха была. Холодный старт до 3х минут, потребление питания - караул!
Сейчас дешевые китайские gps перестали вообще спутники ловить, даже с видимым небом. Как у вас с приемом?
И точно li-po падение напряжения при разряде не показывают ? Хотел датчик тока повесить на одну из батарей.
До нас глушилки GPS не дошли... Сибирь. Если что долетит, то сразу мегатонное.
А так, все работает даже не под лобовым. Кординаты показывает точно.
Холодный старт до 3х минут, потребление питания - караул!
Ну у всех GPS приемников холодный старт длинный. 3 минуты это еще ничо. и 15..20 искать может.
А питание... ну зато дешев. Дешевле 500 руб сложно найти готвый модуль.
У меня валяется старый GPS модуль (не помню даже чего. 15 лет ему). так однако 100mA берет
И точно li-po падение напряжения при разряде не показывают ?
Если Вы про lifepo4, то он очень "плох" для анализа остатка зарядя по напряжению.
С 3.6 до 3.2 падает за 1 день. Потом 7-8 дней 3.2. А если меньше 3.2 - то напряжение падает на глазах (за 1 день) и BMS на 2.5 выключает. Т.е. если 3.15 то значит остаток < 10..15%
Смотрю по SMS от..
А если про li-po, то у него график разряда вроде бы вообще близок к линейному и остаток заряда по напряжению хорошо коррелируется.
Но li-po 100% в not attended желеку ставить не стал бы. Это же просто опасно.
Ценная информация, спасибо.
Что касается угонов - то машину перегоняют в гараж, где она стоит, пока гарантированно все батареи разрядятся и/или сразу там же разбирают.
А с эвакуаторами проще - просто ты не успеваешь добежать до увозимой машины ( Собирал устройство-камеру, которое через skype "звонило", если лица в кадре.
А с эвакуаторами проще - просто ты не успеваешь добежать до увозимой машины
Были преценденты.
Машину увезли просто из за "какой то большой член МВД" должен был приехать и на всякий случай убрали машины, припаркованные без нарушений на штрафстоянку. Как же.. член же большой. Да еще из МВД.
Машина уехала на штраф стоянку. Но хотя бы понятно было на какую и что именно на нее. А не угнали. И понятно куда заносить квитацию о штрафе (какой район города).
Это же все молчком делается.
Угон то ладно. А официальный "угон" без оповещения - это всегда нервы.
В названии статьи, наверное, не gsp, но gps?
Не опасно в машине liFePo4 использовать? Слышал, что они более капризные в плане заряда и чаще воспламеняются, нежели другие.
Статью почему то хабр не позволяет сохранить отредактированную. кнопка "сохранить" деактивирована. Лень разбираться почему.
А литиево-железо-фосфатные и Литий-титанатные аккумуляторы – самый безопасный тип литиевых аккумуляторов.
Вы наверное с Li-pol перепутали (самые пожароопасные).
Автомобильная сигнализация на ESP32 + GSP + GSM и BLE метки для аутентификаци