Als Bildschirm hab ich diesen hier verwendet: LINK
und diesen GPS-Stick: LINK
1. Grundlagen:
Code: Alles auswählen
sudo apt-get update && sudo apt-get upgrade
Code: Alles auswählen
sudo apt-get install subversion espeak cmake freeglut3-dev imagemagick libdbus-1-dev libdbus-glib-1-dev libdevil-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgarmin-dev libglc-dev libgps-dev libgtk2.0-dev libimlib2-dev libpq-dev libqt4-dev libqtwebkit-dev librsvg2-bin libsdl-image1.2-dev libspeechd-dev libxml2-dev ttf-liberation
Code: Alles auswählen
sudo apt-get install gpsd gpsd-clients python-gps
Code: Alles auswählen
sudo nano /boot/config.txt
Code: Alles auswählen
overscan_left=-4
overscan_right=-2
overscan_top=-14
overscan_bottom=-18
Code: Alles auswählen
dmesg | grep ttyUSB
[ 7.930852] usb 1-1.2: pl2303 converter now attached to ttyUSB0
Code: Alles auswählen
gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
Code: Alles auswählen
┌───────────────────────────────────────────┐┌─────────────────────────────────┐
│ Time: 2013-08-18T15:05:10.0Z ││PRN: Elev: Azim: SNR: Used: │
│ Latitude: 51.231848 N ││ 14 43 249 40 Y │
│ Longitude: 0.514014 E ││ 25 75 283 37 Y │
│ Altitude: 132.3 m ││ 2 26 085 31 Y │
│ Speed: 0.0 kph ││ 12 56 070 18 Y │
│ Heading: 0.0 deg (true) ││ 9 19 133 22 Y │
│ Climb: 0.0 m/min ││ 27 09 133 17 Y │
│ Status: 3D FIX (1 secs) ││ 4 17 045 31 Y │
│ GPS Type: ││ 32 05 321 20 Y │
│ Longitude Err: +/- 8 m ││ 29 41 192 18 Y │
│ Latitude Err: +/- 9 m ││ 31 28 304 42 Y │
│ Altitude Err: +/- 27 m ││ │
│ Course Err: n/a ││ │
│ Speed Err: +/- 68 kph ││ │
│ ││ │
│ ││ │
│ ││ │
│ ││ │
│ ││ │
└───────────────────────────────────────────┘└─────────────────────────────────┘
Hierfür habe ich nur eine dreckige Lösung, die aber wenigstens funktioniert:
Zuerst hab ich den Daemon für GPSD entfernt:
Code: Alles auswählen
sudo rm /etc/init.d/gpsd
Code: Alles auswählen
sudo nano /etc/init.d/gpsdrestart
Code: Alles auswählen
#! /bin/sh
# /etc/init.d/gpsdrestart
touch /var/lock/gpsdrestart
case "$1" in
start)
echo "Töte gpsd... "
killall gpsd
echo "Starte gpsd neu... "
gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
;;
*)
echo "Usage: /etc/init.d/navit {start}"
exit 1
;;
esac
exit 0
Code: Alles auswählen
sudo update-rc.d gpsdrestart defaults
Es besteht auch noch die Möglichkeit, via GPS die Systemzeit zu aktualisieren:
]Hierzu muss NTP installiert werden:
Code: Alles auswählen
sudo apt-get install ntp
Code: Alles auswählen
# 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
Code: Alles auswählen
sudo service ntp restart
Code: Alles auswählen
pi@raspberrypi:~$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ns1.luns.net.uk 33.117.170.50 2 u 54 64 7 65.454 2.666 5.800
+resntp-b-vip.lo 127.151.91.34 3 u 45 64 17 55.704 -5.169 8.482
+bart.nexellent. 194.242.34.149 2 u 17 64 17 76.585 -4.271 57.595
+v01.s01.be.it2g 193.190.230.65 2 u 20 64 37 86.464 -2.374 228.460
xSHM(0) .NMEA. 0 l 11 16 377 0.000 144.714 3.026
SHM(1) .PPS. 0 l - 16 0 0.000 0.000 0.000
Code: Alles auswählen
wget http://andrei-development.googlecode.com/files/kernel_3_6_11_eGalax_feb_2013.tar.gz
Code: Alles auswählen
cd ~
tar -xzf kernel_3_6_11_eGalax_feb_2013.tar.gz
Code: Alles auswählen
sudo cp ~/kernel_3_6_11_eGalax_feb_2013/kernel.img /boot/kernel.img
Code: Alles auswählen
sudo cp -r lib /lib
Code: Alles auswählen
cd ~
wget http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-0.7.5.tar.gz
Code: Alles auswählen
tar -xf xinput_calibrator-0.7.5.tar.gz
Code: Alles auswählen
cd xinput_calibrator-0.7.5
./configure
sudo make
sudo make install
Code: Alles auswählen
xinput_calibrator
Code: Alles auswählen
sudo nano /usr/share/X11/xorg.conf.d/01-input.conf
Code: Alles auswählen
Section "InputClass"
Identifier "calibration"
MatchProduct "eGalax Inc. USB TouchController"
Option "Calibration" "56 1980 1876 111"
EndSection
4. Kompilieren von Navit:
Code: Alles auswählen
cd ~
svn co svn://svn.code.sf.net/p/navit/code/trunk/navit/ navit
Code: Alles auswählen
mkdir navit-build
cd navit-build
cmake ~/navit
make
Um zukünftig navit mal up zu daten, muss geht man wie folgt vor:
Code: Alles auswählen
cd /home/pi/navit
svn update
Als nächstes brauchen wir noch eine Karte.
Diese kann hier heruntergeladen werden: LINK
Diese findet sich hier und wird wie folgt angepasst:
Code: Alles auswählen
cd ~/navit-build/navit
nano navit.xml
Einmal die die Beispielkarte deaktiviert:
Code: Alles auswählen
<mapset enabled="no">
<xi:include href="$NAVIT_SHAREDIR/maps/*.xml"/>
</mapset>
Code: Alles auswählen
<!-- Mapset template for openstreetmaps -->
<mapset enabled="yes">
<map type="binfile" enabled="yes" data="/media/Pi-Car/map/europa.bin"/>
</mapset>
<navit center="4808 N 1134 E" zoom="256" tracking="1" orientation="-1" recent_dest="10" autozoom_active="1">
Mein Navit sieht so aus: Um dies zu erreichen, hab ich am Ende der Datei noch folgendes eingefügt:
Code: Alles auswählen
<!-- Anzeige-Einstellungen -->
<!-- Zoom-Buttons -->
<osd enabled="yes" type="button" x="10" y="-116" command="zoom_in()" src="zoom_in.png"/>
<osd enabled="yes" type="button" x="10" y="-55" command="zoom_out()" src="zoom_out.png"/>
<!-- aktuelle Geschwindigkeit -->
<osd enabled="yes" type="text" label="${vehicle.position_speed}" x="10" y="60" font_size="800" w="205" h="55" align="4" background_color="#c63030cc"/>
<!-- Anzeige der Fahrtrichtungsänderung -->
<osd enabled="yes" type="navigation_next_turn" font_size="350" x="10" y="130" w="100" h="100" background_color="#c63030cc" icon_src="$NAVIT_SHAREDIR/xpm/%s_wh_48_48.png" />
<!-- Entfernung zur nächsten Fahrtrichtungsänderung -->
<osd enabled="yes" type="text" label="${navigation.item[1].length[named]}" font_size="350" x="10" y="240" w="100" background_color="#c63030cc" />
<!-- Name der Straße, auf der man sich gerade befindet -->
<osd enabled="yes" type="text"label="Aktuelle Straße: ${navigation.item.street_name_systematic}" x="-805" y="10" align="0" background_color="#c63030cc" font_size="550" w="795" h="40"/>
<!-- per GPS errechnete Höhe über Meer (dies ist zwar recht ungenau, aber dennoch oftmals von Interesse) -->
<osd enabled="yes" type="text" label="${vehicle.position_height} m" x="-80" y="55" w="70" h="40" background_color="#c63030cc"/>
<!-- GPS-Status -->
<osd enabled="yes" type="gps_status" x="-60" y="100" w="50" h="40" background_color="#c63030cc"/>
<osd enabled="yes" type="text" label="${vehicle.position_sats_used}/${vehicle.position_qual}" x="-60" y="140" w="50" h="25" background_color="#c63030cc"/>
<!-- voraussichtliche Ankunftszeit -->
<osd enabled="yes" type="text" label="Ankunftszeit ${navigation.item.destination_time[arrival]}" x="70" y="-30" w="200" h="30" background_color="#c63030cc"/>
<!-- Restdistanz -->
<osd enabled="yes" type="text" label="Restdistanz ${navigation.item.destination_length[named]}" x="270" y="-30" w="200" h="30" background_color="#c63030cc"/>
<!-- Restzeit - Wie lange die Fahrt noch dauert -->
<osd enabled="yes" type="text" label="Restzeit ${navigation.item.destination_time[remaining]}" x="470" y="-30" w="200" h="30" background_color="#c63030cc"/>
6. Navit in LXDE integrieren:
Und Autostart wäre ja auch nicht schlecht. Hierzu sind wieder einige Schritte notwendig:
Ein Bash-Datei zum Starten anlegen:
Code: Alles auswählen
sudo nano /usr/bin/navit.sh
Code: Alles auswählen
#!/bin/bash
cd /home/pi/navit-build/navit
./navit
Code: Alles auswählen
chmod 755 /usr/bin/navit.sh
Code: Alles auswählen
sudo nano /usr/share/applications/Navit.desktop
Code: Alles auswählen
[Desktop Entry]
Version=1.0
Name=Navit
Name[de]=Navit
Name[fr]=Navit
Comment=The open source vector based navigation program with routing engine
Comment[de]=Ein vektorbasiertes Navigationsprogramm
Comment[fr]=Le logiciel opensource de navigation vectorielle
Exec=/usr/bin/navit.sh
Icon=/usr/share/icons/hicolor/128x128/apps/navit.png
StartupNotify=true
Terminal=false
Type=Application
Categories=GTK;Utility;Geography;
GenericName=Navit
GenericName[de]=Navit
Code: Alles auswählen
cp /usr/share/applications/Navit.desktop /$HOME/.config/autostart/
Damit das Ganze auch noch schön ausschaut, das Bild unten noch nach /usr/share/icons/hicolor/128x128/apps/navit.png kopieren:
http://engineering-diy.blogspot.de/2013 ... creen.html
http://blog.retep.org/2012/06/18/gettin ... pberry-pi/
http://wiki.navit-project.org/index.php ... figuration
Dieses HowTo ist mit Sicherheit noch nicht vollständig. Es fehlt zum Beispiel noch die Sprachausgabe, diese werde ich bei Gelegenheit nachreichen.
Es soll später auch noch ein HowTo für XBMC werden. Hier gibt's aber noch Probleme mit dem Touchscreen.