USB GPS reciever always present at /dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0 USB LCD display always present at /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 LICENCE ------- GPL3, Kyle Gordon kyle@lodge.glasgownet.com NETWORK ------- Static address on eth0:1 - 192.168.1.240, netmask 255.255.255.0 DHCP on eth0 REQUIREMENTS ------------ pylcd python-pip python-gps python-dateutil python-ftdi curl python-bluez python-serial INSTALLING LCDPROC ------------------ sudo apt-get install python-pip sudo pip install lcdproc CONFIGURE LCDPROC ----------------- Ensure the following is in the [Server] section ServerScreen=no AutoRotate=no INSTALLING CARTRACKER --------------------- Copy it into somewhere sensible. ie /usr/local/cartracker/ Owned as the user that will be providing the schedule SVN pulls Take the cartracker.cfg.example file and edit to suit, then save as cartracker.cfg Copy cardisplay.service to /etc/systemd/system/, run systemctl daemon-reload and then systemctl start cardisplay.service GPSD ---- Make sure GPSD is installed and running. You probably want to ensure at the very least START_DAEMON is set to true in /etc/default/gpsd (on Debian systems) Also in /etc/default/gpsd USBAUTO has been known to work too... although this may interfere with LCD on USB Included /dev/serial/by-path/pci-0000:00:0a.1-usb-0:1.2:1.0-port0 in the DEVICES parameters. Theres's a 64 character limit here, so /dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0 fails, sadly On the Bifferboard Debian install GPSD dropped privs to nobody as expected, but was then unable to read /dev/ttyUSB* even though they were mode 777 Compiling gpsd-3.3 caused an internal error crash when run, but 2.95 works fine. 2.95 was configured with ./configure --enable-gpsd-user=root The /etc/init.d/gpsd script and /etc/default/gpsd was taken from a working debian install, and modified to suit the location of the gpsd binaries The /etc/default/gpsd script was taken from a working debian install, and modified as above ONBOARD TIME ------------ The board has no RTC, so an external time source must be provided. GPS acts as a stratum 0 source, so can be fed through to GPSD for Stratum 1 clients. Use the -n switch to update the system clock even when no clients are connected - http://gpsd.berlios.de/gpsd.html INSTALLING BLUETOOTH & PAIRING UP --------------------------------- apt-get install bluetooth python-gobject python-dbus Find the device with 'hcitool scan' In a separate terminal, start a simple passkey agent /usr/share/doc/bluez/examples/simple-agent Open a new terminal, and pair with the device with hcitool cc 00:21:BA:DB:32:19 ; hcitool auth 00:21:BA:DB:32:19 Simple-agent will now be prompting for a PIN. Enter a PIN, and then enter it on the phone when prompted. All being well, hcitool auth won't fail with i/o error Devices are now paired SETTING UP PAND NETWORKING -------------------------- modprobe bnep edit /etc/default/bluetooth change PAND_ENABLED=0 to PAND_ENABLED=1 ======= Need ncurses.h for curses lcdproc driver ----------------------------- Related notes, bookmarks, etc Various Python apps, including Bluetooth detection and Planet.osm location http://gagravarr.org/code/ IMPROVEMENTS ------------ A journey log that can be generated after 10 minutes of no movement. Include data such as start time & location, end time & location, distance travelled, average speed, and maybe attach the GPX file. Cartracker could also keep track of maintenance intervals, tasks needing done, etc. Send out email when service is required, UJs need greased, etc USB Accelerometer to measure road smoothness averaged over 50m segments Use the Wireless RS232 for rudimentary geofencing? Use DLP-IO8G coupled to a ACS712ELC-30A (http://www.ebay.co.uk/itm/290645654975) for current sensing RED-TMC support? http://windytan.blogspot.fi/2013/05/a-determined-hacker-decrypts-rds-tmc.html?r44b=no