Car Computer – Entertainment System

I remember someone asking me (quite awhile ago) about car computers and where to find them on the Internet. At the time I knew nothing about them. I don't remember how much later I thought about what I was asked and I started researching car computers. I then looked at the Linux / Open Source community and found a lot of software out there that could actually work for this project. This project has been on the back burner for awhile, so I started experimenting recently with a Raspberry Pi Model 3 I have and not utilizing.

I started looking at which operating systems were available. After installing a few of them to try, I settled on sticking with Raspian. It is simpler and less resourse hungry than the others I tried. Now it was time to install the things I want this to do -

Functionality:

Play MP3s (DVDs ?), GPS, wireless Internet, amateur radio, weather / traffic reports, backup camera, and whatever might come up in the future.

Testbed-Hardware:

As mentioned above - Raspberry Pi Model 3, because it has an Ethernet port, WLAN, and Bluetooth.

Software:

  • Raspian OS (now RaspiOS - Buster)
  • Festival and support packages
  • Glade (for GUI development only)
  • Python
  • My custom Menu GUI*

*Created with Glade and coded with Python.

In order to meet my requirements, I installed the following applications:

  • AWeather
  • Navit
  • RTL2832U SDR firmware, library, tools
  • VLC Media Player
  • Xastir
  • Gnuradio

I have had for quite some time now a Lilliput 8" touchscreen monitor that I hope to still use with this project at some point. But I was having a problem getting it to work. So, to save time I decided to go another way. I installed VNC Server by RealVNC on the RPi and I installed VNC Viewer and Terminus on my iPhone. Once they were configured and then connected, the iPhone became my monitor for the RPi.


Amateur Radio – Software Defined Radio (SDR)

I have two SDR radios, both are receivers only:

  • QS1R - 15 kHz to 55 MHz, BNC connector and 15 kHz to 30 MHz, SMA connector
  • Realtek DVB-T Dongle - RTL2832U

As you can see, the QS1R will only receive up to 30 MHz. Not very useful to me as I'm traveling. Space is limited for installing an antenna, inside or out.

On the other hand, the Realtek SDR dongle is, overall, a small package. It also comes with a 4" antenna and magnetic mount base. It's range is 64 - 1700 MHz.

Because of the above, I went with the Realtek dongle. It is small, the antenna is small, and it covers the 2 meter and 70cm amateur bands. Also, there is a GUI frontend that works well with it, gqrx. You can find it using Raspbian's Add / Remove Software app. I decided to download it here and install it from their tarball.

Navit for Car Navigation

Install navit via the Raspberry Pi Add / Remove Software app.

Backup Camera

This project is still in the planning stage. I have not had too much time to spend on it. As soon as I have something in mind, I will report it here.


Xastir – X Amateur Station Tracking & Info Reporting

From the Xastir website -

Xastir provides mapping, tracking, messaging, weather, weather alerts, and Search & Rescue features over radio or internet and runs on a variety of platforms. Xastir is an open source software project maintained by Developers and Contributors from all over the globe, provided free under the GNU General Public License.

So why use Xastir? As stated above, you can track and message others, and receive weather alerts (as you travel.) Sometimes when traveling it can be hard picking up an AM radio station or a NOAA station (if your car radio even has NOAA capability.) You never know what the coverage will be given a particular area.

Xastir can be installed on your Raspberry Pi by using the Add / Remove Software app. I have not seen a tarball download for Raspberry Pi

To configure Xastir, go to Interface in the Menu bar, then click on Interface Control. In Interface Control you have your choice of what to add. I chose Internet Server since I am just setting things up and I do not have a radio capable of TNC, etc. If you are like me and just experimenting, select Internet Server. In the dialog box that opens:

  1. Select Activate on Startup
  2. Select Allow Transmitting
  3. Use rotate.aprs2.net as the Host
  4. Use 14580 as the Port
  5. For Passcode, open a terminal and run callpass your callsign. You should get a number as a result. Enter that number as your Passcode.
  6. Filter Parameters - you can experiment with this. I choice m/10.
  7. It is up to you what you enter for Comment and if you want Xastir to Reconnect on NET failure.
  8. Click on OK to save your settings.

Next it is time to select a map to use. This will depend where you are located. I suggest starting at the Xastir Maps page. There are multiple maps to choose from, it all depends what you are using Xastir for.

Next, go to File/Configure/Configure Station. Here you want to enter your Callsign, the Latitude and Longitude (if you are land locked), and the icon you want your station to be represented as, i.e. boat, car, home, weather station, etc. Also, you can change the Comment and Position Ambiguity sections to whatever you want.

Next, go to File/Configure/Audio Alarms. Here, it is up to you what you want to select here. You hae the choices of New Station, New Message, Proximity, Band Opening, Weather Alert. Please note: for Proximity and Band Opening, you can set minimum and maximum distances (in miles.) Under Audio Play Command, enter the audio player you prefer - the default worked for me, though you might have to install it depending on your OS. Note that Xastir comes with default audio (.wav) files for each of the above options.

Next, go to File/Configure/Speech. Select the alerts you want to hear. The options are - New Station. New Message Alert, New Message Body, Proximity Alert, Tracked Station Proximity Alert, Band Opening, and New Weather Alert.

If you want to allow logging, go to File. Select what you want logged. This is probably best when you are trying to debug any problems you might be having.


Using an IOS Device as a Monitor to Raspberry Pi

As was mentioned earlier, I went with using my iPhone as the monitor for my RPi car computer. What follows is the steps I took to set up and configure the apps that I installed.

  • On the RPi, enable VNC in Raspberry Pi Configuration.
  • Now, on your phone, install VNC Viewer via the App Store. VNC Viewer is the remote desktop client that allows connection to the VNC Server installed on the RPi.
  • Open and configure VNC Viewer -
    • Select the plus sign (+) at the top right
    • Enter the IP address of your RPi
    • Enter the name of your RPi
    • Enter the username and password for the user you setup on the Raspberry Pi
    • Go to Interaction and select Touch panel
    • Save your settings
    • You should now see your RPi you just setup in the Address Book
  • Now test to see if you can connect to your RPi -
    • Start VNC Server on your RPi, if not already started
    • Start VNC Viewer on your iPhone. Select the computer you configured above in the Address Book and if prompted, enter your password. If you do not want to keep entering your password, select Remember Password.
    • You should now see the screen of your RPi on your phones screen

After the screen appears on your phones screen, experiment. Open and close some apps to make sure the touchscreen function is working.

That is it for using your iPhone as a touch screen monitor for your Raspberry Pi project, enjoy!

UPDATE:

The Lilliput touchscreen monitor is now working. The process involved -

  • modifying, recompiling, and installing the modified kernel
  • installing the eGalax driver
  • run the eCalib software to calibrate the touchscreen

That's it!

FYI, if you are looking for an easy way to download and install the kernel source on your Raspberry Pi, find rpi-source on Github.