PDA

Просмотр полной версии : Дистанционный запуск ДВС, Arduino+GSM


Shino Kuyo
16.03.2016, 15:16
Так как тут ардуинщики со стажем и пониманием обращаюсь за помощью.

в машине есть заводская сигнализация, городить для дистанционного запуска еще одну желания нет. модули жсм типа старлайн м32 стоят свиреповато, как по мне.
поэтому хочется недорогой девайс :blush:

видится мне устройство на ардуино и жсм модуле. в этих ваших интернетах много находил реализаций, но сам не могу допереть.
функционал нужен такой:
с определенных номеров принимает команды, с неизвестных шлет нафиг.
отправляю допустим на модуль
1 = заводится на заданное в скетче время. или лучше например "1_20" завести двигатель на 20мин
2 = глохнет.
3 = отправляет в ответ смс с температурой с датчика ds18b20

ну и по результатам команд запуск/остановка отчитывается, типа двигло стартануло, или нет.
второе. при заведенном от ардуины двигателе я например сажусь в машину, вставляю ключ и ардуина должна перестать реагировать на команды! (вдруг я сел на телефон он отправил смс), как в обычных сигнализациях.
так же и если двигатель заведен то должен быть контроль чтобы по приходу смс стартер не включился.

еще вопрос как определять, что двигатель завелся? чтобы стартером не вращать в это время. ну и "отпускать" вовремя. в идеале вижу: через CAN шилд получать сообщения с шины, о успешном запуске. но где взять эти мессаги? в смысле список их.

ардуину цеплять к модулям типа SIM900\SIM800\M590 (http://duino.ru/index.php/cat/c13_Besprovodnaya-svyaz.html) через софтсериал

итого:
например ардуино про микро примерно 120р
каншилд 150
жсм модуль м590 170р.
преобразователь dc-dc регулируемый (гсм модулю надо 3,7-4,2в) рублей 50-60.
блок реле рублей 150

сим800 900 с голосовой связью, они дороговаты, но можно например позвонить послушать что в салоне происходит :)

ссылки по теме
https://www.drive2.ru/l/7715112/
https://www.drive2.ru/c/2389447/

в общем нужен скетч мне :blush: ну и вдруг кому пригодится, можно дописывать свой функционал.

Trantor
16.03.2016, 15:54
Забыл добавить контроль нейтрального положения ручки передач и/или включенного ручного тормоза, чтоб не было вот так:
http://www.ochevidets.ru/rolik/15746/

На определение завелся движок в процессе заводки можно плюнуть и просто подавать импульс на 2-3 сек (как это и делается во многих автозапусках). После этого аналоговым входом контролировать повышение бортового напряжения - так можно определить, успешен ли запуск.

Shino Kuyo
16.03.2016, 16:11
контроль положения селектора АКПП и ручной тормоз можно читать (http://tec-integrator.com/#/device/06e73944c269119372f4ad0c235af0ee/car/81f174773077c8d2b35c815d49b0cbb0/connection/1ec0af36-23ec-0da8-91be-d0ff515c29fb) с CAN.
нужно только идентификаторы знать. а вот где их взять это вопрос...

Trantor
16.03.2016, 17:06
контроль положения селектора АКПП и ручной тормоз можно читать (http://tec-integrator.com/#/device/06e73944c269119372f4ad0c235af0ee/car/81f174773077c8d2b35c815d49b0cbb0/connection/1ec0af36-23ec-0da8-91be-d0ff515c29fb) с CAN.
нужно только идентификаторы знать. а вот где их взять это вопрос...
Найти идентификторы и считать это только первая проблема. Вторая, на первый взгляд неочевидная - это поведение программы при пропаже связи с шиной CAN, постоянной либо временной. По каждому сигналу нужно определяться, да еще и с учетом текущей ситуации. Иначе можно долго стартером крутить.... Также я бы задумался на тему, что произойдет, если адаптер выйдет из строя и эту шину "завесит" для всех устройств, какие будут последствия данного отказа.
Еще очень интересна ситуация самопроизвольного перезапуска ARDUINO в процессе запуска двигателя из за просадки/помех/других причин и ее корректная обработка.