Monday, 7 September 2020

De ISS volgen m.b.v. Raspberry PI en 4 regel LCD scherm

Als je regelmatig de ISS wil volgen en je SSTV, Packet signalen of andere informatie kunt ontvangen van de ISS dan is het erg handig om zonder het opstarten van je computer te zien of de ISS nabij je QTH is.

In dit schrijven ga ik gebruik maken van;

* Een Raspberry PI computer
* Een 4 regel display met I2C adapter
* Automatische TLE update 
* Internet via kabel of de ingebouwde Wifi op de Raspberry PI.

De bron van de software is gevonden op:  https://github.com/ForToffee/ISSTracker

+ Begin met de basis installatie van de Rpi ( In dit schrijven 'raspios buster armhf lite' 32 bits )

Ter voorbereiding van het daadwerkelijke programma (iss.py) moeten we extra software installeren op de Rpi.
Om te beginnen is dit de python versie 3.6.8 (standaard is de versie 2.0)
Ik heb de update ervan gevolgd van de site: 

https://installvirtual.com/install-python-3-on-raspberry-pi-raspbian/ 

Als de laatste check 'python -V' als resultaat geeft Python 3.6.8 (of zelfs 3.7.3) , dan kunnen we verder met de installatie.

+ apt-get install python3-pip
+ pip3 install pyorbital

Dan de laatste versie van python voorkeur maken:

# cd /home/pi
# nano ~/.bashrc

Voeg de volgende regel toe:
alias python='/usr/bin/python3'
alias pip=pip3

# source ~/.bashrc    Dit commando zorgt ervoor dat python nu python versie 3.x is.

Zover de voorbereidende software.


* Nu eerst de hardware inrichten.

Aan de Rpi wordt een 20x4 LCD display gekoppeld via de I2C bus (en de 3.3 Volt optie).
De beschrijving die ik heb gevolgd is op de volgende site te vinden:

https://raspberrytips.nl/lcd-scherm-20x4-i2c-raspberry-pi/

Volg de montage instructies voor de 3.3 Volt oplossing, en daarna de test software:

+ sudo apt-get install i2c-tools
+ i2cdetect -y 1    ( Schrijf het adres nummer op:  ... 26  ..) 
+ wget https://raspberrytips.nl/lcd20x4.py
+ sudo python lcd20x4.py

Test item:
Het kan voorkomen dat er een melding komt dat de 'smbus module' niet gevonden wordt.
Dit heeft te maken met de 'virtuele link'naar de juiste python versie (zie eerder).

Om het juiste IP (Eth0) nummer in het display te krijgen pas onderstaande regel in het script aan:

val = run_cmd("/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'")[:-1]

Naar:

val = run_cmd("/sbin/ifconfig eth0 | grep 'inet ' | cut -c 14-25 | awk '{ print $1}'")[:-1]

De laatste versie van het Rpi OS .. vragen om deze aanpassing.

Het resultaat ziet er dan als volgt uit ( Wifi is niet in gebruik )













Nu gaan we naar het volgende script .. en dat is iss.py

Download het script met het commando:
# wget https://raw.githubusercontent.com/ForToffee/ISSTracker/master/iss.py

Vervolgens passen we niks aan .. maar kijken wat het commando
# python iss.py als resultaat geeft

Er zullen op het basis script python3 fouten naar voren komen !
De file moet dus aangepast worden .. !

De file is een python 2 code en moet naar python 3.
Een hulptool hiervoor is te installeren door het commando:

 pip install 2to3

En daarna het commando:

# 2to3 iss.py -w

Daarna het commando:

# sudo pip3 install unicornhat -I
# sudo apt-get install libatlas-base-dev

Installatie vervolg van iss.py

De I2C bus is met een driver rechtstreeks aan te roepen, zodat op de 4 regel-display iedere regel te programmeren valt.

Dit gaan we doen met de source code van de website: gist.github.com / DenisFromHR / RPi_I2C_driver.py


Note: Bij het downloaden van git source bestanden install eerst het git programma op de RPi.
# apt-get install git

Uitgaande van een driver file die we nodig hebben, kunnen we de onbewerkte bestanden downloaden van: https://gist.github.com/cc863375a6e19dce359d.git

Hierin bevinden zich een demo file en de werkelijke python driver file (RPi_I2C_driver.py)
In de file 'iss.py' verwijzen nu een aantal regels naar de oude driver omgeving van Adafruit_CharLCDPlate .. deze moet nu aangepast worden naar de voorgaande beschreven driver file.

* Hernoem de file RPi_I2C_driver.py naar lcddriver.py
* Plaats deze file in dezelfde folder als het programma iss.py 
* Start het programma op met
    # python iss.py

Natuurlijk kun je nu zelf de source aanpassen maar in de download omgeving heb ik beide aangepaste bestanden beschikbaar gemaakt.


Suggesties:

* Locatie informatie ( Noorder breedte en Lengte graad ) handig aanpassen.
* Koppeling aan kleine GPS adapter GPS6MU2
* Weergave ook in webbrowser .. naast de weergave op de 4 regel LCD display. 

==    >>   [ Update volgt ...  ]   <<    ==



Translate