2017-02-21 30 views
1

Итак, я немного дилемма, я хочу создать светодиодную панель с помощью моей малины Pi, единственная проблема заключается в том, как я буду читать данные на малиновый Pi с использованием C++? Я думаю о покупке OBD для USB-разъема и чтении данных оттуда, но он по-прежнему не меняет того факта, что мне нужно будет анализировать данные, но единственная библиотека, которую я нашел для OBD на C++, - https://github.com/lkrasner/obd-cxx, но она не выглядят многообещающими.Пользовательская приборная панель для автомобиля; Чтение данных OBD ​​II с использованием C++?

Так вот я перейду в сообщество переполнения стека, чтобы помочь мне, потому что у меня закончились варианты.

Можете ли данные OBD считаться серийными? Если бы это было серийно, не было бы слишком медленным для спидометра в реальном времени? Должен ли я использовать другой порт вместо OBD?

ответ

1

я быстро искал и нашел эту тему: http://blog.lemberg.co.uk/how-guide-obdii-reader-app-development

Это не USB, но Tels о AT команды для обмена данными с адаптером. Таким образом, я бы предположил, что USB один будет отображаться как последовательный интерфейс с одним и тем же принципом связи. Тогда вам может не понадобиться библиотека, так как вы можете напрямую читать и записывать свое последовательное устройство. Убедитесь, что адаптер, который вы собираетесь купить, поддерживает протокол связи вашего автомобиля (CAN или другой). Возможно, также один из вариантов подумать о том, обеспечивает ли адаптер высокоуровневые команды для вас (тогда вам нужно проверить, что необходимые диагностические службы поддерживаются адаптером), или вам нужно самостоятельно создавать/анализировать необработанные диагностические сообщения (I подумайте, что это будет более гибкое решение).

+0

Я получил свой датчик OBD, и вы правы. Это последовательный интерфейс, и мне не нужна библиотека для его чтения, мне просто нужно прочитать его как серийный. Спасибо за ваш вклад! –