Написать пост

osa
osa

Ставим мегагаджет в оку. Часть 1: Творим навигатор.

Все началось буквально месяц назад, когда я получил права. Т.к. я занимался ремонтом ноутбуков, дома скопилось их n-ое количество и решил, не пропадать же добру: будем делать CarPC для 13ой оки.
В планах:
1) навигация
2) видеорегистрация с записью на внешний секретный черный ящик
3) запись треков
4) Ну и одометр, спидометр, тахометр с датчиков двигателя, которые еще поставить надо.
Спрашивали:

Отвечаем:
just for fun and lulz:)
Часть 1: делаем из ноутбука и андроидфона навигатор.

Так как я ниразу не программист, будем действовать подручными средствами и все что гугль найдет.
Для начала делаем подготовку андроидфона, он у нас служит источником данных GPS. Для этого нужна любая программа, которая умеет создавать NMEA TCP Server, в моем случае мне попалась TurboGPS 2
Создаем NMEA сервер двумя тычками пальцев:

После создания, подключаем зверька к большому брату используя точку доступа wi-fi или режим модема андроида.
Следущим этапом будет установить навигационную программу, на этапе тестирования возьмем SasPlaneta. На текущий момент найти программу, которая прокладывает маршруты мне не удалось, однако я езжу по дальнему замкадью и качество карт НЕ в областном центре отвратительное, гораздо легче ориентироваться по спутниковым снимкам.
И сразу упс:

Мы, как и 95% программ, не понимаем NMEA сервер, а те 5% программ, которые понимают, я не нашел и не знаю, существуют ли они...
Если чего-то нет, то это необходимо создать. В помощь нам идут две программки com0com и com2tcp, оба проекта живут тут. Первая создает виртуальный Com-порт, а вторая перекидывает данные сервера в этот com.
Ставим com0com и запускаем процесс установки портов.

После этого у нас появился новый порт и встали новые драйвера.
Com2tcp установки не требует и запускается из командной строки: com2tcp --telnet \\.\CNCB0 192.168.42.129 7777
Где: CNCB0 берется из программы com0com как принимающая сторона, циферка в вашем случае может отличаться.
192.168.42.129 адрес андроида, берется из свойст сетевых соединений, он там как шлюз прописан
ну и 7777 это порт, заданный в TurboGPS 2
После этого в SasPlaneta ставим свежесозданный порт приемника и включаем его в работу.
В командной строке появится:
Microsoft Windows [Версия 6.0.6002]
(C) Корпорация Майкрософт, 2006. Все права защищены.

c:\Program Files\com0com\com2tcp-1.3.0.0-386>com2tcp --telnet \\.\CNCB0 192.168.
42.129 7777
OpenC0C("\\.\CNCB0", baud=19200, data=8, parity=no, stop=1) - OK
DSR is ON
WaitComReady() - OK
Connect("192.168.42.129", "7777") - OK
InOut() START
DSR is ON
и все, смотрим и радуемся:)
К сожалению я счас нахожусь на работе в здании и не могу в полной мере предоставить результат работы программы из-за отсутствия GPS спутников.
На сим все, надеюсь вам понравилось и буду писать дальше свои злоключения:)
Личный опыт: Разное
27 комментариев 5нравится избранное
Rusman
ocker
osa
Lipton
Fukurokudzu
  • osa
    25 мар 2012 в 11:32
    http://com0com.sourceforge.net/doc/UsingCom0com.pdf
    это первоисточник, а то на хабре проскакивало с какими-то самописными программами
  • Fukurokudzu
    1 25 мар 2012 в 11:37
    круто, жги дальше :)
  • gregst
    25 мар 2012 в 12:22
    я конечно не претендую на звание переводчика, но слово "fan" переводится как "вентилятор"
    • osa
      25 мар 2012 в 12:25
      спасибо, опечатался, поправил.
  • StamPit
    25 мар 2012 в 12:34
    Хм. Картинка про троллейбус тут как раз в тему =) Целый пост с описанием "как бы ещё изъебнуться, чтобы не покупать USB GPS за целых пицот рублёв". Зачем извращаться с Wi-Fi, TCP и облизательным наличием ещё одной железки, которая будет жрать батарейку?

    А как с остальным дела? Монтаж, местонах монитора, начинки, проблемы охлаждения итд. И какие датчики под снятие параметров дрыгателя?
  • osa
    25 мар 2012 в 12:55
    а нафига покупать еще одну железку если есть тел с андроидом?:)
    Про дрыгатель, готов прототип, который показывает температуру, обороты, но пока по отдельности, как сведу их в одну программу, обязательно напишу.
    Комп - обыкновенный нетбук, даже не помню какой и поставил:) Насчет охлаждения пока штатное ибо была зима и осень, не очень жарко было.
    Датчик температуры простой: http://www.cqham.ru/usbtherm1.html
    Датчик оборотов на базе частотометра тоже собран. Со спидометром пока не извращался.
    Как крепится, объяснить не смогу, лучше сфоткать, но это позже.
    • StamPit
      25 мар 2012 в 13:16
      Количество точек отказа и лаг при передаче NMEA. Сумма не столь значительна, чтобы колхозить.
    • vitalyu
      25 мар 2012 в 18:41
      У меня на ELM327 стоит устройство и вещает по BT на андроид
      http://www.drive2.ru/cars/chevrolet/aveo/aveo_1st_generation/vitalyu/journal/288230376152157607/
      • vitalyu
        25 мар 2012 в 18:43
        тоже есть желание сделать полноценный бортовик, написав еще примочку для получения данных с парктроника .. может к лету время появится сделаю)
      • StamPit
        25 мар 2012 в 20:15
        Хехе. У меня ровненько такой перед глазами щас лежит - пользуем на УАЗе, пользовал на Subaru, Suzuki Liana, но на моём не покатит =( OBD-I, протокол проприетарный Mitsu4. Печально =(
  • twist7777
    25 мар 2012 в 12:56
    да и фоточку бешенной табуретки, можно было бы прикрепить :)
    • osa
      25 мар 2012 в 13:08
      я на работе, как вдохновение нашло так и написал:) во второй части расскажу про крепление и опишу впечатления. в двух словах: в незнакомой местности в отсутствии карт очень помогает, гораздо информативнее всяких навигаторов и экран побольше чему у телефона:) не хватает только poi, но SASPlanet можно вроде это прикрутить, пока не занимался.
  • osa
    25 мар 2012 в 12:57
    и кстати, батарейку не жрет, питание ноутбука через фильтр от аккумулятора.
    • StamPit
      25 мар 2012 в 13:15
      Телефон жрёт, пусть он и на зарядке. Это добавляет ещё одну точку отказа по питанию.
      • osa
        25 мар 2012 в 13:23
        ну и пусть себе жрет, в случае отказа ноутбука, вместо навигатора - телефон с автономным питанием от своей батарейки, в случае отказа по питанию все цепочки( предохранитель полетел), то на автономном питании все это дело в связке живет около 3х часов на своих батареях. Не понимаю вашего скепсиса, это ведь все для баловства по сути:) Но и задуманную полезную роль это играет замечательно. Были планы ip камеру еще прикрутить с ик прожектором, но пока не нашел нормальной камеры за приемлемую цену, пока регистраторы рулят. Счас вот готовлю черный ящик, но не знаю как справлюсь с охлаждением микросхем. поживем увидим:)
        • StamPit
          25 мар 2012 в 13:30
          Никакого скепсиса. =) С удовольствием читаю и читать буду, самому нужен некий аналог (правда, мне проще будет сделать расход топлива - либо повесить датчик на форсунку, либо считывать с мозгов, ибо там вроде протокол Mitsu4)

          Но здесь, скорее, профессиональная деформация - меня так бесят подобные колхозы на работе, что я везде стараюсь придумать максимально элегантное решение, даже если это повлечёт за собой небольшое увеличение цены =)
          • osa
            25 мар 2012 в 13:37
            ну одно дело с протоколами работать, а другое к карбюраторному двиглу все это приделывать:) GPS по usb это конечно лучше, лагов меньше, работать проще. Я довольно молод, потому могу не знать, есть ли готовые решения для контроля карбюраторных двигателей?
            В настоящее время у меня готов тахометр и термометр(уже заведены в комп, но на соплях), насчет спидометра я еще думаю, как его корректно реализовать, ну и думу думать на датчики уровня и расхода топлива. Получится ли? не знаю если честно:)
            • StamPit
              25 мар 2012 в 13:46
              С тахометром и спидометром проще. Как мониторить расход топлива в карбюраторе - вообще идей нет =)
            • StamPit
              25 мар 2012 в 13:49
              Датчик скорости в коробку вроде крепится и даёт импульсы по 11 вольт. Там корректнее некуда - решение одно и в лоб =)
              • osa
                25 мар 2012 в 13:56
                это то понятно, я больше задумался построить еще один одноканальный или переделать его в двухканальный:) к тому же это будет дубль основным приборам для себя так сказать.
                • StamPit
                  25 мар 2012 в 20:18
                  Так а по большому счёту какая разница, давать импульсы на один приёмник или на 2? Перебрать немного, внедрить Ардуину внутрь (для сбора инфы со всех датчиков) и так далее.
              • osa
                25 мар 2012 в 20:30
                с ардуиной еще не связывался, вот и повод связаться:)
                • StamPit
                  25 мар 2012 в 20:46
                  Ну здесь не обязательно ардуина. Чисто ради того, чтобы отвязаться от лишних подключений к ноутбуку.
  • firej
    25 мар 2012 в 16:04
    хабр там ===>>>>
    • StamPit
      4 25 мар 2012 в 20:17
      Тематика автомобильной электроники? CarPC? Тут ему самое место! На хабре он затеряется среди анонсов новых игрушек, никому не нужных гаджетов и постов класса "Аааа!!! КОПИРАСТЫ!!!"
  • Timur1976
    26 мар 2012 в 12:00
    А вот есть телефон с андроидом, ноут без экрана, п133/16Ram/2Gb HDD, чего можно сотворить? USB нету.
    • osa
      27 мар 2012 в 08:45
      Сотворить можно свалку:) трудозатраты по соединению этого оборудования будут сравнимы с построением нового компьютера с нуля паяльником.
Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста, или зарегистрируйтесь.