SkyView Pi - alex-43/SoftRF GitHub Wiki


Purpose

SkyView Pi shows traffic information provided by a FLARM NMEA or Garmin GDL90 data source device.

It is best suited to operate as a companion device for SoftRF hardware and it helps to visualize nearby traffic in a user friendly manner.

Data input is accepted over:

  • Serial interface ;
  • USB interface.

SkyView Pi has a lot of similarities with SkyView EZ. However, these features that available on ESP platform(s) are NOT included into the Raspberry Pi port :

  • WebUI
  • Wi-Fi
  • Bluetooth

They are to be superseded by built-in Raspberry Pi operating system capabilities. There are also chances that some of them will become ported later on.

Hardware

Single-board computer

Any of Raspberry Pi's that have 40-pin GPIO connector should suffice.

 

Disclaimer

In general a lot of Chinese DIY electronics manufacturers are known to behave this way:

  • sometimes they may not apply necessary Q.C. before releasing of a product from factory ;
  • they may arbitrary change schematics and electronic components from one batch to the next one ;
  • they may terminate manufacturing of a board just few month after initial production.

Because of that, author of SkyView:

  • will reject any hardware related claims associated with Waveshare 2.7 inch e-Paper HAT board. Ask for support from seller or manufacturer ;
  • reserves the right to suspend or terminate support of the e-Paper HAT in the firmware at any time.

For the time being ( April '20 ) there were no critical hardware issues reported for current version of the HAT board. However things my change over the time...
If you have issues with bringing up your new Waveshare 2.7 inch e-Paper HAT or just not happy with the board - be prepared to execute your Purchase Protection plan.

Bill of materials

Required

Number Part Qty Picture Source
1 Waveshare 2.7 inch e-Paper HAT B&W 1 1 AliExpress 1 2 3 4

1 - 2-color (black and white) version of the e-Paper HAT is the only one supported by SkyView software.

Recommended

SkyView Pi is designed to best operate together with SoftRF Dongle Edition.

Number Part Qty Picture Source
1 LilyGO® & SoftRF
T-Motion 2
1 AliExpress 1 2 3

2 - 868 MHz variant is applicable for these world regions: EU, RU, NZ, SA, IN ;
     915 MHz - US, CA, AU ;
     433 MHz - CN .

Assembly

It is not a lot to do at this point - just plug the e-Papaer display into 40 pin socket of your Raspberry Pi.

 

Then, connect your Pi to:

  • a 5V power supply unit or 'power bank' ;
  • your SoftRF Dongle ;
  • (optional) amplified speaker or headphones.

Software

Executable

Although CLI application's source code for Raspberry Edition is located at the same place
and is shared with other SkyView platforms - build instructions for the code are different.

This build has to be done on a Raspberry Pi host.
A known good Raspbian OS version that fits for this purpose is "Stretch".
Make sure that basic development packages (such as: binutils, g++, GNU make & etc) are installed.

  1. transfer full content of SkyView and libraries GitHub folders into a temporary build directory:

    SkyView --> <your path>/SkyView
    libraries  --> <your path>/libraries

  2. change directory on <your path>/SkyView and execute make as follows:

pi@raspberrypi: $ make -f Makefile.RPi
(cd ../libraries/bcm2835/src/../ ; ./configure ; make)
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no

< ... skipped ... >

As a result of the build, SkyView program binary will become created:

pi@raspberrypi: $ ls -l SkyView
-rwxr-xr-x 1 pi pi 1119848 Apr  3 13:16 SkyView

Data

  1. Create Aircrafts folder in the same directory with SkyView executable ;

  2. Download fln.db , ogn.db and icao.db files from this location ;

  3. Put these files into the Aircrafts folder ;

  4. Create Audio folder in the same directory with SkyView executable ;

  5. Download this ZIP file from this location ;

  6. Extract files from the ZIP archive into the Audio folder .


Final structure of your SkyView folder should look like this:

pi@raspberrypi: $ ls -la
total 2264
drwxr-xr-x 1 pi pi      60 Apr  3 12:55 .
drwxrwxrwt 1 pi pi      60 Apr  3 12:55 ..
drwxr-xr-x 1 pi pi     100 Apr  3 12:55 Aircrafts
drwxr-xr-x 1 pi pi    4096 Apr  2 14:33 Audio
-rwxr-xr-x 1 pi pi 1119848 Apr  3 13:16 SkyView

Use cases

I suppose here that a reader is already familiar with SkyView EZ operation. If not - please, read Quick Start instructions of the EZ first. Pi variant is in general operates very similar to the EZ one.

However, SkyView software for the Pi - is an application, not a firmware. So the application execution procedure is just a little bit different:

Example 1. Operation together with SoftRF Dongle Edition.

pi@raspberrypi $ sudo ./SkyView

SkyView-RPi FW.REV: 0.10 DEV.ID: 58E098B
Copyright (C) 2019-2020 Linar Yusupov. All rights reserved.
Intializing E-ink display module (may take up to 10 seconds)...  done.
$PFLAU,0,0,0,1,0,,0,,,,3A052D,5,0,0*7B
$PGRMZ,820,f,3*11
$GPGGA,125858.00,,,,,0,00,,,,,,,*4B
$GNGSA,A,1,,,,,,,,,,,,,,,*00
$GNRMC,125858.00,V,,,,,,,030420,,,N*65
$PFLAU,0,0,0,1,0,,0,,,,3A052D,5,0,0*7B
$PGRMZ,820,f,3*11

   < ... skipped ... >

Example 2. Operation together with SoftRF Prime Mark II.

pi@raspberrypi $ sudo TTYSERIAL_DEVICE_NAME=/dev/ttyUSB0 ./SkyView

SkyView-RPi FW.REV: 0.10 DEV.ID: 58E098B
Copyright (C) 2019-2020 Linar Yusupov. All rights reserved.
Intializing E-ink display module (may take up to 10 seconds)...  done.

   < ... skipped ... >

Example 3. Operation together with generic serial input on RPi Rx/Tx GPIO pins.

pi@raspberrypi $ sudo TTYSERIAL_DEVICE_NAME=/dev/ttyAMA0 ./SkyView

SkyView-RPi FW.REV: 0.10 DEV.ID: 58E098B
Copyright (C) 2019-2020 Linar Yusupov. All rights reserved.
Intializing E-ink display module (may take up to 10 seconds)...  done.

   < ... skipped ... >

Example 4. Change of radar view orientation and initial zoom level.


pi@raspberrypi $ echo "{class:SKYVIEW,orientation:TRACK,zoom:LOW}" | sudo ./SkyView

SkyView-RPi FW.REV: 0.10 DEV.ID: 58E098B
Copyright (C) 2019-2020 Linar Yusupov. All rights reserved.
Intializing E-ink display module (may take up to 10 seconds)...  done.
$PFLAU,0,0,0,1,0,,0,,,,3A052D,5,0,0*7B
$PGRMZ,820,f,3*11
$GPGGA,130514.00,,,,,0,00,,,,,,,*4A
$GNGSA,A,1,,,,,,,,,,,,,,,*00
$GNRMC,130514.00,V,,,,,,,030420,,,N*64

   < ... skipped ... >

Example 5. Auto-start the SkyView application upon power up.

/etc/inittab :

   < ... skipped ... >

#1:2345:respawn:/sbin/getty --noclear 38400 tty1
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1

   < ... skipped ... >

/home/pi/.profile :

   < ... skipped ... >

MYTTY=`tty`
if [ "$MYTTY" = "/dev/tty1" ]; then
        amixer cset numid=3 1
        sleep 1
#       amixer sset PCM,0 60%
#       sleep 1

        cd /home/pi/SkyView;
        sudo ./SkyView >/dev/null 2>&1
        sleep 1
        sudo shutdown -h now
fi

   < ... skipped ... >

Example 6. Display PLEASE WAIT splash screen at power up.

/etc/init.d/asplashscreen :

#! /bin/sh
### BEGIN INIT INFO
# Provides:          asplashscreen
# Required-Start:
# Required-Stop:
# Should-Start:
# Default-Start:     S
# Default-Stop:
# Short-Description: Show custom splashscreen
# Description:       Show custom splashscreen
### END INIT INFO

do_start () {
    if [ -x /home/pi/SkyView/SkyView ]; then
       sudo /home/pi/SkyView/SkyView -b >/dev/null 2>&1 &
    fi
    exit 0
}

case "$1" in
  start|"")
    do_start
    ;;
  restart|reload|force-reload)
    echo "Error: argument '$1' not supported" >&2
    exit 3
    ;;
  stop)
    # No-op
    ;;
  status)
    exit 0
    ;;
  *)
    echo "Usage: asplashscreen [start|stop]" >&2
    exit 3
    ;;
esac

symlink :

pi@raspberrypi ~ $ ls -l /etc/rcS.d/S01asplashscreen
lrwxrwxrwx 1 root root 23 May  9  2015 /etc/rcS.d/S01asplashscreen -> ../init.d/asplashscreen
pi@raspberrypi ~ $

Buttons

MODE
             Short press and release                 - change view mode
             Long press ( >2 sec. ) and release - soft power off

LEFT
             Radar view - zoom out
             Text view    - previous aircraft info

RIGHT
             Radar view - zoom in
             Text view    - next aircraft info

RESVD
             Reserved for UI of settings menu. If you an application developer - you may think about to CONTRIBUTE this feature into the project.

Enclosure

Decision was not to create a unique 3D design of enclosure for SkyView Pi purpose because there are plenty of Raspberry Pi and Waveshare cases on Thingiverse. Use Raspberry Pi and Waveshare epaper keywords for your search requests.

This is just one example of such public design:

Settings

Settings are explained on this page.

SkyView Pi specific JSON keywords are listed in this table:

1 2 3 4
class SKYVIEW adapter HAT27
    connection SERIAL
    baudrate 4800
    9600
    19200
    38400
    57600
    115200
    2000000
    protocol NMEA
    GDL90
    orientation NORTH
    TRACK
    units METRIC
    IMPERIAL
    MIXED
    vmode RADAR
    TEXT
    zoom LOWEST
    LOW
    MEDIUM
    HIGH
    adb NONE
    AUTO
    FLN
    OGN
    ICAO
    idpref REG
    TAIL
    MAM
    voice OFF
    VOICE1
    VOICE2
    VOICE3
    aghost OFF
    AUTO
    2MIN
    5MIN
    10MIN
    filter OFF
    500M
⚠️ **GitHub.com Fallback** ⚠️