10-18-2019, 08:13 PM
+1 here too.
10-18-2019, 08:13 PM
+1 here too.
09-02-2020, 08:41 AM
Hello guys,
Just have read this thread and just wanted to make sure what we are talking about, because i also think this is one of the most useful features that could be provided by OpenAuto: One thing is to simply read obd2 parameters using a OBD2 bluetooth or usb dongle, that cn provide parameters such as speed, revs, temperature and some others related to the engine. Something more tricky can be done using the mentioned hat that reads the CanBus Low, that includes climate / radio, and so on. Let's put an example. In my case i have a 2006 astra, that has a GID with the radio station, temperature and the settings such as time, date, bass, aux volume, etc. My intention has always been to replace that screen with a touchscreen and obviously openauto. So now i am in process of dediding if i could 3d print a mount for the screen and put it over the GID but leaving a space to be able to see it or remove it. The problem with removing it is that if i have to change some settings or if i want to put the radio, i am completely blind. So, the ideal thing would be to show in OpenAuto the radio station and change it, and also if you have selected the aux (for MP3 or some other audio source), and also use the buttons of the stereo to change settings. To sumarize: being able to read all canbus info and show it in the touchscreen. Also would be great to have the steering wheel buttons mapped like you can see in this video: https://www.youtube.com/watch?v=GrgyPQrKCEU But this is something apart.... Sorry for the long text but needed to be sure about what is being requested. If this is the case, you have my +1. Regards!
09-28-2021, 07:26 PM
(02-13-2019, 05:55 PM)BlueWave Wrote: I have been able to get an MCP2515 and TJA1050 to talk to the pie directly. I just need a ObdDeviceType for serial support on SPI. Proof i have it working lol:
10-04-2021, 09:04 AM
Hallo I have been doing some work on this here:
https://github.com/simonemarin/vag-canbus far from being a generic solution, you can see how it s been done in Python and reuse part of the code, soon I am posting some more object oriented code for the volume controls. I guess any main manufacturer will have its own quirks so it may be difficult to get a generic solution. S.
10-04-2021, 12:51 PM
I'm driving a 2017 Mazda that has good infotainment but I just love OpenAuto Pro wide screen, HiFiBerry Digi2+ snd card and the possibility to have better GPS with dead reckoning system install. I have been sniffing the CAN messages, connect my steering wheel buttons and controller using LIN bus and Arduino, and learned to develop a simple HMI using EB guide for car settings. all these can be done but I hit a roadblock. apparently my struggle now is to elevate my C++ programming skill to write API to marry both HMI (EB guide) and cansocket together as a launcher for OPA. somehow I'm still stuck and my spirit is spiraling down.
So my Wish List on CAN support are these 1) a standard GUI interface for us to add car settings that trigger CAN bus message at every define time intervals 2) The standard GUI allow us to pick either is a slider bar, toggle button, check box or allow to pick among the drop down list 3) allow us to write simple code like switch/case or if/else scenarios for some other CAN bus data control. Hope is not too much to ask. If anyone know how to use EB guide with cansocket, pls raise your hand. thanks!!
11-10-2021, 01:40 PM
thanks ioioioio for the reference code for can bus control. I taken yours and combine with shutdown scripts and I generate this method to trigger the Day and Night. example as below.
#!/usr/bin/python3 -u import RPi.GPIO as GPIO import subprocess import syslog STATUS = 0 import time import can # GPIO / BCM 4 - physical pin 11 DayNi = 4 # specify pin numbering format GPIO.setmode(GPIO.BCM) # set pin to input, set pull up resistor so it reads high GPIO.setup((DayNi), GPIO.IN, pull_up_down=GPIO.PUD_DOWN) bus = can.Bus(interface='socketcan', channel='can0', receive_own_messages=True) bus.set_filters([{"can_id": 0x48E, "can_mask": 0xFFF, "extended": False}]) for msg in bus: #print(msg) if msg.arbitration_id == 1166: if msg.data[1] == 108: # vol click if STATUS == 0: GPIO.setup((DayNi), GPIO.IN, pull_up_down=GPIO.PUD_UP) print('NIGHT') STATUS = 1 if STATUS == 1: GPIO.setup((DayNi), GPIO.IN, pull_up_down=GPIO.PUD_DOWN) print('DAY') STATUS = 0 |
|