Revision [2636]

This is an old revision of RaspberryPiInCarProject made by ZorrUno on 2016-12-12 23:55:15.

 

Plans for Raspberry Pi In Car Project


Original concept notes: MiniCarComputer


Progress/Timeline

- Found box from neighbour's electrical junk
- Found spare USB Hub and pulled cover off
- Got to play with my dremel...
- Boards etc Mounted in box https://goo.gl/photos/557hZXdP5od1e4TA7
- decided to use my RPi3 instead of pi1.
- got a spare USB memory stick to use
- booted up raspbian console via HDMI and set up networking & OS updates
- i/o Connected and tested https://goo.gl/photos/EBsePoqLMcXUVTai9
- Ordered RTC and Amp modules
- Tested Pi power board functionality...
- Decided on circuitry for triggers and overrides https://goo.gl/photos/yKk6YVA8tEDinBCm8
- Obtained additional components, decided on switch types
- Got i/o pins working for hold and ACC active
- Moved GPIO pins as interfered with placing the RTC
- Got the RTC working
- Scripted the first part of bootup to set the GPIO
- Put script in /etc/rc.local
- Plugged in the GPS mouse
- spent ages getting gpsd to work
- installed ntp and got time set with GPS
- got gpspipe to dump a logfile continually
- got gpspipe to start logging on boot up with /etc/rc.local
- played with a USB relay (Mobius camera switching?)


Network Notes

On home network, Static DHCP assigned, hostname koala.foxlan 192.168.1.105

Hardware Used

Project Box
Raspberry Pi (v3)
PMB Power Board http://rcbeacon.com/blog/?page_id=3946
WIFI usb module (Not needed with Pi3)
1.2AH SLA Battery

Hardware Additional Planned

Camera: Pi Camera, Pi Camera HDMI Extender boards, HDMI Cable
GPS: GPS USB Module (puck)
Engine Logging: ODBII Bluetooth adaptor, Bluetooth adapter

Attached Devices

Direct USB: USB Memory Stick
Direct USB: USB Hub
USB HUB: Keyboard (then numeric keyboard... or maybe bluetooth?)
USB HUB: Wifi Dongle (Not needed with Pi3)
USB HUB: GPS Device
USB HUB: Bluetooth Dongle (Not needed with Pi3)
USB HUB: Mobuis Dashcam
USB HUB: USB Hard Drive?
Pi Cam
NFC Shield

Menu Feedback and Selection

Karl's BASH menuing
https://github.com/KarlMW/bash-ivr

Raspberry Pi GPIO general info and scripts

GPIO Info http://raspberry.io/projects/view/reading-and-writing-from-gpio-ports-from-python/
File System GPIO activation https://sites.google.com/site/semilleroadt/raspberry-pi-tutorials/gpio
WiringPi c Lib http://wiringpi.com/
GPIO info from raspberry pi org https://www.raspberrypi.org/documentation/usage/gpio/
GPIO Benchmarks http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/
inputs and outputs, file method https://www.element14.com/community/docs/DOC-78315/l/raspberry-pi-gpio-explained

i/o Setup

Using this reference https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/README.md
and https://sites.google.com/site/semilleroadt/raspberry-pi-tutorials/gpio

Used a 4 pin floppy disk connector on physical pins 7,9,11,13 which equates to IO4,GND,IO17,IO27.
The connector has fly leads of yellow (io4), black (gnd), black (IO17), red (IO27). The black was useful as a gnd for first testing IO but both black lead was then snipped.

Changed to individual pins - GPIO 27 and 17

GPIO Port 17 for HOLD (setting as 1 sets GPIO 17 to 3.3v)

sudo su
echo 17 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio17/direction
echo 1 > /sys/class/gpio/gpio17/value


notes, this is obviously volatile... on reboot GPIO17 is high appears high, but is actually floating. It appears to drop low when direction is set to 'out'

GPIO Port 27 for ACC IN (Set as 3.3V when power is plugged in to the ACC+12V)

sudo su
echo 27 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio27/direction
cat /sys/class/gpio/gpio27/value



Time and Date

Decided to get a RTC as may not always have GPS and/or network. Wrong log times are annoying.
https://nicegear.co.nz/raspberry-pi/high-precision-real-time-clock-for-raspberry-pi/
Can get similar for <$2 from china but this will do
Need to check pinouts - doesn't piggyback so need to make sure we don't need the same i/o pins.
Info on how to use https://nicegear.co.nz/blog/using-a-ds3231-i2c-real-time-clock-rtc-with-a-raspberry-pi-updated-for-jessie/

GPS Setup

http://raspberrypi.stackexchange.com/questions/547/how-do-i-attach-a-gps-receiver

Just needed to install gpsd and a bunch of stuff that comes with it

sudo apt-get install gpsd gpsd-clients python-gps

test status with cgps -s

http://raspberrypi.stackexchange.com/questions/28483/cgps-gps-timeout

Edit /etc/default/gpsd


# Default settings for the gpsd init script and the hotplug wrapper.

# Start the gpsd daemon automatically at boot time
START_DAEMON="true"

# Use USB hotplugging to add new USB devices automatically to the daemon
USBAUTO="true"

# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/ttyUSB0"

# Other options you want to pass to gpsd
GPSD_OPTIONS="-F /var/run/gpsd.socket"


Possible fix needed?
Note if you're using the Raspbian Jessie or later release
you'll need to disable a systemd (system management daemons) service that gpsd installs. This service has systemd listen on a local socket and run gpsd when clients connect to it, however it will also interfere with other gpsd instances that are manually run (like in this guide). You will need to disable the gpsd systemd service by running the following commands:

sudo systemctl stop gpsd.socket

sudo systemctl disable gpsd.socket

Should you ever want to enable the default gpsd systemd service you can run these commands to restore it (but remember the rest of the steps in this guide won't work):




sudo killall gpsd
sudo systemctl enable gpsd.socket
sudo systemctl start gpsd.socket
sudo cgps -s


then modify ntp to set system time based on ntp
https://blog.retep.org/2012/06/18/getting-gps-to-work-on-a-raspberry-pi/

Next you need to edit the file: /etc/ntp.conf and add a few lines to it defining the GPS. This can be either before or after the existing lines beginning with server:

# gps ntp
server 127.127.28.0 minpoll 4
fudge 127.127.28.0 time1 0.183 refid NMEA
server 127.127.28.1 minpoll 4 prefer
fudge 127.127.28.1 refid PPS

then restart ntp
pi@raspberrypi:~$ sudo service ntp restart

USB Relay

https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=77538
http://matthewcmcmillan.blogspot.co.nz/2013/03/compiling-libhid-for-raspbian-linux-on.html
http://www.signal11.us/oss/hidapi/

sudo ./usbrelay 2>/dev/null
OUGOH_1=1
OUGOH_2=1

$ sudo ./usbrelay PSUIS_2=0
$ sudo ./usbrelay PSUIS_2=1 PSUIS_1=0
$ sudo ./usbrelay PSUIS_2=0 PSUIS_1=1 0U70M_1=0 0U70M_2=1



Audio Output

HF: Sound output of some sort to a small speaker (I2S?), also 3.5mm audio to car audio input. Hardware switch to turn small speaker off (for music play etc)
Ordered one of these... can get cheaper/similar but this should do
https://nicegear.co.nz/electronics-gear/adafruit-i2s-3w-class-d-amplifier-breakout-max98357a/
...need i2S pinouts for Pi3
Notes on this unit https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp/raspberry-pi-usage


ODB2 Engine Logging

http://www.cowfishstudios.com/blog/obd-pi-raspberry-pi-displaying-car-diagnostics-obd-ii-data-on-an-aftermarket-head-unit

GPS Logging

DiscussionsOnGPSLoggingInCar
http://hackaday.com/2014/08/14/a-raspberry-pi-helmet-cam-with-gps-logging/

Pi Camera Snapshots and Video

Pi Cam getting started https://www.raspberrypi.org/learning/getting-started-with-picamera/
Pi Cam basics https://thepihut.com/blogs/raspberry-pi-tutorials/16021420-how-to-install-use-the-raspberry-pi-camera
More Pi Camera & Python info http://www.makeuseof.com/tag/raspberry-pi-camera-module/

Dashcam Video Store

- Connect dashcam via usb to pi, remove files from dashcam when stationary... upload to server when in wifi range

Music Server

- MPD server
- sync of music when in wifi range

Navigation

Some sort of audio only navigation... i.e. select preset from menu, audio navigation?
http://www.gpsdrive.de/features.shtml
Other GPS apps: http://tuxmobil.org/linux_gps_navigation_applications.html


Last edited by ZorrUno:
usb relay
Mon, 12 Dec 2016 23:55 UTC [diff]

--
CategoryHowTos
CategoryRaspberryPi
CategoryVehicles
CategoryLinux
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki