Raspberry Pi (B+, Zero, RPi2, RPi3 & RPi4) - Installation instructions for Raspbian, Dump1090 & Data Feeder

ab cd

Senior Member
Last Update: August 26, 2019

What you need is 3 components as follows:
1- An operating system like Raspbian.
2- A decoder software like Dump1090
3- Planefinder's Data Feeding software.

STEP 1- INSTALL OPERATING SYSTEM

1.1
- Download Raspbian image (zip) on your Desktop/Laptop
Download page:
http://www.raspberrypi.org/downloads/raspbian
Direct download link:
https://downloads.raspberrypi.org/raspbian_lite_latest

1.2 - Download and Install Win32DiskImager (Windows) OR Etcher (Win & Mac).
Only one of these two softwares is enough. No need to download and install both.
Download Pages:
Win32DiskImager: https://sourceforge.net/projects/win32diskimager/
Etcher: https://etcher.io/

1.3 - Insert microSD Card in your Desktop/Laptop’s card slot (or use a card reader plugged into USB Port).

1.4 - Unzip downloaded Raspbian file to get .img file.

1.5 - Write the unzipped Raspbian image to microSD Card using Win32DiskImager or Etcher.

1.6 - Enable SSH
Open File Explorer (Windows) or Finder (Mac), and open the microSD card.​
NOTE:​
If you have used Etcher, it will automatically eject the microSD card after writing the image.​
Physically remove the microSD card or USB adapter and plug it back into the computer before you carry-out steps below.​
The microSD card will appear with name "boot" as shown in screenshot below.​
Raspbian - microSD in Windows - 1.png
Open the drive named "boot". This will open the /boot folder of Raspbian. In this folder create a new text file, as shown in screenshot below​
Raspbian - microSD in Windows - 3.png
Change the name of file from New Text Document to SSH
1.7 - Enable WiFi
If you want your Pi to connect to local network/internet using a WIRED connection to router, skip this step.
To use WiFi to connect Pi to local network/internet, the WiFi configuration should be done after image is written, and while the microSD Card is still in the Laptop/Desktop. For details please see following post:​
Use only one connection at a time, either wired or WiFi.
It is not recommended to use both simultaneously
1.8 - First Boot of RPI​
Eject & remove microSD card from card reader, insert into RPi, power up the RPi.​
1.9 - Access and control of RPi from Desktop/Laptop using SSH​
You can access Pi and issue commands by connecting a Monitor and Keyboard to your RPi.
However use of SSH enables you to issue commands from your Desktop/Laptop and eliminates the need to connect a Monitor and Keyboard to your RPi.
For Remote access and SSH, please see following post:​
STEP 2 - INSTALL DECODER DUMP1090P-MUTABILITY
2.1 - Installation:​
For Raspbian Stretch and Buster
Code:
[/INDENT][/INDENT]
[INDENT][INDENT]sudo bash -c "$(wget -O - https://raw.githubusercontent.com/abcd567a/dump1090/master/install_dump1090_mut_1.15.sh)" [/INDENT][/INDENT]
[INDENT][INDENT]
Alternative for Raspbian Buster
Code:
[/INDENT][/INDENT]
[INDENT][INDENT]sudo apt-get update [/INDENT][/INDENT]
[INDENT][INDENT]sudo apt-get install lighttpd [/INDENT][/INDENT]
[INDENT][INDENT]sudo apt-get install dump1090-mutability [/INDENT][/INDENT]
[INDENT][INDENT]sudo lighty-enable-mod dump1090 [/INDENT][/INDENT]
[INDENT][INDENT]
2.2 - Configuration:​
Code:
[/INDENT][/INDENT]
[INDENT][INDENT]sudo dpkg-reconfigure dump1090-mutability [/INDENT][/INDENT]
[INDENT][INDENT]
During configuration accept all default values by pressing Enter key, except when asked for:​
(a) Latitude & Longitude, enter you location's latitude & longitude in decimal degrees like xx.xxxx​
(b)"Interface address to bind to (blank for all interfaces) " , remove 127.0.0.1 and leave entry blank. This is a workaround to overcome a bug.​
(c) "Extra arguments to pass to dump1090", leave it blank.​
The Web interface (gmap) will be displayed at http: //<ip address of RPi>/dump1090/
2.3 - Start, Stop, Status​
Code:
[/INDENT][/INDENT]
[INDENT][INDENT]# To stop[/INDENT][/INDENT]
[INDENT][INDENT]sudo systemctl stop dump1090-mutability [/INDENT][/INDENT]
[INDENT][INDENT][/INDENT][/INDENT]
[INDENT][INDENT]# To restart[/INDENT][/INDENT]
[INDENT][INDENT]sudo systemctl restart dump1090-mutability [/INDENT][/INDENT]
[INDENT][INDENT][/INDENT][/INDENT]
[INDENT][INDENT]# to check status[/INDENT][/INDENT]
[INDENT][INDENT]sudo systemctl status dump1090-mutability [/INDENT][/INDENT]
[INDENT][INDENT]
2.4 - Changing Settings​
You can anytime modify the settings by two methods:​
(a) Easy: By following command:​
Code:
[/INDENT][/INDENT]
[INDENT][INDENT]sudo dpkg-reconfigure dump1090-mutability [/INDENT][/INDENT]
[INDENT][INDENT]
(b) Advance: By editing config file:​
Code:
[/INDENT][/INDENT]
[INDENT][INDENT]sudo nano  /etc/default/dump1090-mutability [/INDENT][/INDENT]
[INDENT][INDENT][/INDENT][/INDENT]
[INDENT][INDENT]#scroll down and edit config value.[/INDENT][/INDENT]
[INDENT][INDENT]#after editing, save (ctrl+o) and close file (ctrl+x)[/INDENT][/INDENT]
[INDENT][INDENT]#for changes to take effect, reboot after you finish making changes[/INDENT][/INDENT]
[INDENT][INDENT][/INDENT][/INDENT]
[INDENT][INDENT]sudo reboot   [/INDENT][/INDENT]
[INDENT][INDENT][/INDENT][/INDENT]
[INDENT][INDENT]

STEP 3- Installation of Data feeder :
To install Plane Finder Client, enter these commands in console:​
Code:
[/INDENT][/INDENT]
[INDENT][INDENT]wget http://client.planefinder.net/pfclient_4.1.1_armhf.deb[/INDENT][/INDENT]
[INDENT][INDENT]sudo dpkg -i pfclient_4.1.1_armhf.deb[/INDENT][/INDENT]
[INDENT][INDENT]
The above version is current as on August 26, 2019.
For latest version check this page: https://planefinder.net/sharing/client
CONFIGURE
After installation is complete as above, type http: //<ip address of RPi on your network>:30053/setup.html in your browser, and follow instructions on the page opened. The <ip address of RPi on your network> will be something like 192.168.2.12 and can be found from your router setup.​
Choose option to request sharecode, if you don't already have one. Planefinder will send it to you by email. After you receive sharecode, you can enter it on above page and complete your configuration.​
During configuration,enter:​
Sharecode​
Receiver Lat: Your Latitude in decimal format​
Receiver Lon: Your Longitude in decimal format​
Click "Assign Share Code"​
PFClient Config 2.PNG.png
This will open a new page. On this page enter:​
Receiver Data Format: Beast​
How are you connecting to your receiver: Network​
IP Address: 127.0.0.1​
Port Number: 30005​
Click "Complete configuration"​
PFClient Config 3.PNG.png
PF Client web interfaces:
After SETUP is complete and pfclient is up & running, you can see following in your computer's browser.​
http:// <ip-address-of-RPi>:30053/map.html (shows planes on Google Map)​
http:// <ip-address-of-RPi>:30053/stats.html (shows stats of your receiver)​
http:// <ip-address-of-RPi>:30053/logs.html (shows logs of your receiver)​
(<ip-address-of-RPi> will be something like 192.168.2.15 . Obtain exact value from your router settings)
PF Client--3.5.png
Planefinder Stats.PNG.png
Planefinder Logs.PNG.png
AND THAT IS ALL....... ENJOY![/COLOR]​
 
Last edited:

ab cd

Senior Member
Last Update: August 26, 2019

(A) How To Enable WiFi Right from First Power up of RPi
This method does not require connecting network wire or Monitor & Keyboard to RPi.
It is done while the microSD Card is still in the Laptop/Desktop's card reader after writing the Raspbian image.


If you want your Pi to connect to local network/internet using a wired connection to router, skip this step.
If you want your Pi to connect to local network/internet using WiFi, enable Wifi as given below.
Use only one connection at a time, either wired or WiFi.
It is not recommended to use both simultaneously


1 - After image is written, and while the microSD Card is still in the Laptop/Desktop, open File Explorer (Windows) or Finder (Mac), and open the microSD card.

NOTE:
If you have used Etcher, it will automatically eject the microSD card after writing the image.
Physically remove the microSD card or USB adapter and plug it back into the computer before you carry-out steps below.


2 - The microSD card will appear with name "boot" as shown in screenshot below.

Raspbian - microSD in Windows - 1.png

3 - Open the drive named "boot". This will open the /boot folder of Raspbian. In this folder create a new text file, as shown in screenshot below

Raspbian - microSD in Windows - 3.png



4 - Open the text file using Notepad (Windows) or TextEdit (Mac)
In the opened text file, copy-paste following text:

Code:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

country=CA

network={
    ssid="YOUR_SSID"
    psk="YOUR_PASSWORD"
}
Replace:
  • CA by two letter code for your country e.g. GB for UK, US for USA, DE for Germany, FR for France, SE for Sweden, CH for Switzerland, NL for Netherland, AU for Australia, NZ for New Zealand, etc etc. (click here for complete list)

  • YOUR_SSID by your router’s wifi ssid

  • YOUR_PASSWORD by your router’s wifi password.
5 - Save file.

6 - Change the name of file from "New Text Document.txt" to "wpa_supplicant.conf"

NOTE: If your Desktop/Laptop does not show file extensions, the newly created file "New Text Document" will NOT show .txt extension at the end, as shown in screenshot below.

Raspbian - microSD in Windows - 3.png


In the case of hidden extension .txt, even after you change file name to "wpa_supplicant.conf" its full name will be "wpa_supplicant.conf.txt" with ".txt" not visible. If the file has a hidden extension .txt, it will not enable wifi.

Configure Windows File Explorer to show file extensions as shown in the screenshots below:

Raspbian - microSD in Windows - 4.png


Now change the name of file "New Text Document.txt" to "wpa_supplicant.conf", as shown in screenshot below:

Raspbian - microSD in Windows - 5.png

NOTE:
During boot, system moves this file from folder /boot to folder /etc/wpa_supplicant/
If you need to edit your wifi credentials, give following command:
Code:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf


(B) How To Enable WiFi After RPI is Powered up
You will need to use one of the following two methods:
- Connect RPI to router using a network wire and SSH to RPI.
- Connect Keyboard and Monitor to RPI.

1 - Give following command:
Code:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Above command will open file wpa_supplicant.conf for editing.
By default, this file has following code :
Code:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
NOTE: If the file is blank, copy-paste above code in it.


2 - Below the default code lines, add the following code:
Code:
country=CA

network={
    ssid="YOUR_SSID"
    psk="YOUR_PASSWORD"
}
Replace:
  • CA by two letter code for your country e.g. GB for UK, US for USA, DE for Germany, FR for France, SE for Sweden, CH for Switzerland, NL for Netherland, AU for Australia, NZ for New Zealand, etc etc. (click here for complete list)

  • YOUR_SSID by your router’s wifi ssid

  • YOUR_PASSWORD by your router’s wifi password.
5 - Save file (Ctrl+o) and Close it (Ctrl+x).

3 - Give following command to start wifi with new settings
Code:
sudo ip link set wlan0 down
sudo ip link set wlan0 up
 
Last edited:

trigger

Member
Hi ab cd, great posts. Thanks from me and future noobs. :):)

This should be made a sticky and non-editable (except for abcd) or else the thread will become "contaminated" by lots of debugging questions.
 
Last edited:

ab cd

Senior Member
How To Access and Control RPi from Desktop/Laptop using SSH

1 - Find the Local IP address of your RPi.
The IP is similar to 192.168.0.21.

You can find Local IP of your RPi by any one of the following methods:
(a) Login to your router's settings page and find the list of connected devices with their IP addresses.

(b) Use software "Angry IP Scanner" (for Windows & Mac)
https://angryip.org/download/

Angry IP Scanner.png


(c) Use software Advanced IP Scanner (Windows)
http://www.advanced-ip-scanner.com/

Advance IP Scanner.png


2 - Install SSH Software

2.1 - Mac:
No need to install any software. Use Mac's Terminal to SSH to RPi
Launch the Terminal application. Terminal is found in /Applications/Utilities/ directory but you can also launch it from Spotlight by hitting Command+Spacebar and typing “Terminal” and then return
In terminal type following and hit return key.
(Replace 192.168.0.21 by your RPi's actual IP address)
Code:
ssh pi@192.168.0.21
login as : pi
password : raspberry

2.2 - Windows:
Install PuTTY on your Windows computer to SSH to RPi
Download page: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Screenshots for Post Installation Steps:
PuTTY-3-1.png PuTTY-4-1.png PuTTY-5A.png Putty-6A.png


login as : pi
password : raspberry


3 - How To Copy-Paste Text To / From PuTTY

How to Copy-Paste To or From PuTTY.png
 
Last edited:

ab cd

Senior Member
HOW TO GET ALTERNATING BLUE/RED CIRCLES IN DUMP1090-MUTABILITY?
Open console and follow these steps:

Code:
cd /usr/share/dump1090-mutability/
dir
#you will see following:
config-template  html
STEP-1: Make a new directory orig-html and copy original files of html directory into new directory orig-html
In case you want to revert back, you can copy back these original files to html.
Code:
cd /usr/share/dump1090-mutability/
sudo mkdir orig-html
sudo cp /usr/share/dump1090-mutability/html/*.* /usr/share/dump1090-mutability/orig-html/

#check that files have been successfully copied in new directory orig-html:

dir /usr/share/dump1090-mutability/orig-html/

#This will be displayed:
config.js  gmap.html  planeObject.js  script.js  spinny.gif  style.css
STEP-2: Now EDIT the file "config.js" in the folder html:
Code:
cd /usr/share/dump1090-mutability/html
sudo nano config.js
This will open file config.js for editing in terminal.
Make changes shown in red.

// --------------------------------------------------------
//
// This file is to configure the configurable settings.
// Load this file before script.js file at gmap.html.
//
// --------------------------------------------------------

// -- Output Settings -------------------------------------
// Show metric values
// This controls the units used in the plane table,
// and whether metric or imperial units are shown first
// in the detailed plane info.
Metric = false; // true or false

// -- Map settings ----------------------------------------
// These settings are overridden by any position information
// provided by dump1090 itself. All positions are in decimal
// degrees.

// Default center of the map.
DefaultCenterLat = 45.0;
DefaultCenterLon = 9.0;
// The google maps zoom level, 0 - 16, lower is further out
DefaultZoomLvl = 7;

SiteShow = true; // true to show a center marker
SiteLat = xx.xxxx; //your Latitude position of the marker
SiteLon = yy.yyyy; //your Longitude
SiteName = "My Radar Site"; // tooltip of the marker


// -- Marker settings -------------------------------------
// The default marker color
MarkerColor = "rgb(127, 127, 127)";
SelectedColor = "rgb(225, 225, 225)";
StaleColor = "rgb(190, 190, 190)";


SiteCircles = true; // true to show circles (only shown if the center marker is$
// In nautical miles or km (depending settings value 'Metric')
SiteCirclesDistances = new Array(50,100,150,200,250,300);

// Show the clocks at the top of the righthand pane? You can disable the clocks$
ShowClocks = true;

// Controls page title, righthand pane when nothing is selected
PageName = "DUMP1090";



After modifications, save (Ctrl+o) and exit (Ctrl+x)

STEP-3: Now modify file script.js in folder html
Code:
cd /usr/share/dump1090-mutability/html
sudo nano script.js
This will open file script.js for editing.
Now press "Ctrl+w" then type "function drawCircle" and press Enter.
The cursor will move to "function drawCircle"
Following code will be displayed. Make changes as shown in red:

function drawCircle(marker, distance) {

var circleColor;
if (distance==50||distance==150||distance==250)circleColor="#0000FF";
if (distance==100||distance==200||distance==300)circleColor="#FF0000";
if (typeof distance === 'undefined') {
return false;

if (!(!isNaN(parseFloat(distance)) && isFinite(distance)) || distance <$
return false;
}
}

distance *= 1000.0;
if (!Metric) {
distance *= 1.852;
}

// Add circle overlay and bind to marker
var circle = new google.maps.Circle({
map: GoogleMap,
radius: distance, // In meters
fillOpacity: 0.0,
strokeColor: circleColor,
strokeWeight: 2,
strokeOpacity: 0.3
});
circle.bindTo('center', marker, 'position');
}


After modifications, save (Ctrl+o) and exit (Ctrl+x)

now run the web interface and you will see colored circles.


Range Rings Dump1090-mutability.PNG.png
 

ab cd

Senior Member
dump1090-mutability: How to change the clock "Last Update" to show your local time on gmap.html page.

Step-1: Open script.js for Editing
Code:
cd /usr/share/dump1090-mutability/html
sudo nano script.js
This will open in nano, the file script.js for editing.

Step-2: Press Ctrl+w and type the search keyword getUTC, and press Enter.
The cursor will jump to first getUTC in the following code:

if (ReceiverClock) {
var rcv = new Date(now * 1000);
ReceiverClock.render(rcv.getUTCHours(),rcv.getUTCMinutes(),rcv.getUTCSeconds());
}



comment out these 4 lines of code (i.e. type // at the start of each line) . It will look like following:

// if (ReceiverClock) {
// var rcv = new Date(now * 1000);
//ReceiverClock.render(rcv.getUTCHours(),rcv.getUTCMinutes(),rcv.getUTCSeconds());
// }

STEP-3: Press Ctrl+w and type keyword ticking and press Enter.
Cursor will jump to word ticking of following code:

// disable ticking on the receiver clock, we will update it ourselves
ReceiverClock.tick = (function(){})

comment out the 2nd line of code (i.e. type // at the start of the line) . It will look like following:

// disable ticking on the receiver clock, we will update it ourselves
//ReceiverClock.tick = (function(){})

Step-4: Save the file (Ctrl+o) then exit (Ctrl+x).

Step-5: Reboot RPi. After RPi has rebooted, reload page gmap.html


To change the Title of top-right clock from "Last Update" to "Local Time":
Step 1: Open gmap.html to edit.
Code:
cd /usr/share/dump1090-mutability/html
sudo nano gmap.html
This will open in nano, the file gmap.html for editing.

Step-2: Press Ctrl+w and type keyword Last Update, and press Enter.
The cursor will jump to the following line:

<td align="center">Last Update</td>

Change Last Update to Local Time.

The line in gmap.html will become:

<td align="center">Local Time</td>

Now save (Ctrl+o) and exit (Ctrl+x). Reload gmap.html web page.

 
Last edited:

loplo

New Member
I'd keep Last Update, TBH. This way you can spot problems with the hardware. Sometimes the dongle USB can become unresponsive without creasing dump1090, then the right clock would stop at the last time a packet was received.

Edit
With the changes you mentioned, the clock will still stop if no packages received, but it will show local time vs UTC.
Only presumptions, I did not operate these changes.
 

ab cd

Senior Member
I'd keep Last Update, TBH. This way you can spot problems with the hardware. Sometimes the dongle USB can become unresponsive without creasing dump1090, then the right clock would stop at the last time a packet was received.

Edit
With the changes you mentioned, the clock will still stop if no packages received, but it will show local time vs UTC.
Only presumptions, I did not operate these changes.
I am operating my changes for over a month, but never noticed any of the problems you have mentioned.
 

loplo

New Member
Just watch the dial hand showing the seconds, and you can see sometimes stall/jump. IMHO that means that the process hung for a second or two.
 

ab cd

Senior Member
Just watch the dial hand showing the seconds, and you can see sometimes stall/jump. IMHO that means that the process hung for a second or two.
Edited the procedure in post #8. No more stall & jump of seconds' hand.
With new updated procedure, the Receiver Clock (Local Time) is no more updated along with data update. It runs on its own :D
Thanks for pointing out.
 
Last edited:

Cy80rg

New Member
Just installed the PFClient, all working fine.

The stats and gmap work fine (nice UI on the live stats!), but what i'm most interested in is the
Google Earth - "range-in-direction" map (/ge.html) which doesnt seem to be available anymore?

(http://<Pi_IP>:30053/ge.html doesnt show anything).

Is this still supported - was hoping to use this to build polar (?) data maps locally, rather than VRS on my PC.

THX
 

ab cd

Senior Member
Just installed the PFClient, all working fine.

The stats and gmap work fine (nice UI on the live stats!), but what i'm most interested in is the
Google Earth - "range-in-direction" map (/ge.html) which doesnt seem to be available anymore?

(http://<Pi_IP>:30053/ge.html doesnt show anything).

Is this still supported - was hoping to use this to build polar (?) data maps locally, rather than VRS on my PC.

THX
If I recall correctly, @Lee Armstrong: mentioned that google is going to end webpage support for Google Earth shortly. May be by now this is implemented.
A new BETA2 version of PFClient is now available. That also does not have Google Earth interface, only Google Map interface is available. The advantage of new BETA2 is that it does NOT use node js, and as a result has cpu usage dropped from 25% (pfclient+node js) to less than 1% (beta2)! Try it:

http://forum.planefinder.net/threads/plane-finder-client-beta2-3-0-1435.258/
 
Last edited:

George John

New Member
What additional steps needs to be to done to make this working on mode-s beast connected with USB to Raspbian/Raspberry Pi using beast-splitter?
 

Rueganer91

New Member
Hey Guys , my client would not upload the Data . The Log View is Empty . In the map show airplanes :(
can you help me ?
 
Top