{"id":1187,"date":"2021-01-25T11:46:16","date_gmt":"2021-01-25T10:46:16","guid":{"rendered":"http:\/\/www.lora-aprs.at\/?page_id=1187"},"modified":"2021-06-07T13:24:03","modified_gmt":"2021-06-07T11:24:03","slug":"software-gateway-v","status":"publish","type":"page","link":"https:\/\/www.lora-aprs.at\/index.php\/software-gateway-v\/","title":{"rendered":"Software Gateway-V"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>Software Gateway&nbsp;<\/strong><\/h2>\n\n\n\n<p>Es tut sich einiges in der Community und es haben sich einige interessante Projekte entwickelt.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/github.com\/peterus\/LoRa_APRS_iGate\">https:\/\/github.com\/peterus\/LoRa_APRS_iGate&nbsp; <\/a>auf <strong>ESP32<\/strong><\/li><li><a href=\"https:\/\/github.com\/tomelec\">https:\/\/github.com\/tomelec<\/a>&nbsp; Raspberry Pi LoRa KISS TNC mit APRX<\/li><li><a href=\"http:\/\/www.iot4pi.com\/de\/raspberry-pi-projekte-software\/lora-aprs-gateway\/\">http:\/\/www.iot4pi.com\/de\/raspberry-pi-projekte-software\/lora-aprs-gateway\/<\/a> Sascha\u2019s iot4pi LoRa-APRS-iGate<\/li><li><a href=\"https:\/\/github.com\/begass\/LoraAPRSGW\">https:\/\/github.com\/begass\/LoraAPRSGW<\/a>&nbsp; Sascha hat uns dankenswerterweise den <strong>LoRa-APRS Gateway Code<\/strong> zur Verf\u00fcgung gestellt!<\/li><\/ul>\n\n\n\n<p>Sascha\u2019s iot4pi war die urspr\u00fcngliche Version, die seit mehreren Jahren erfolgreich im Einsatz ist. Wir haben f\u00fcr den Rasperry <strong>Pi ZeroW<\/strong> (und <strong>Pi 3 (+)<\/strong>  ) ein SD-Karten Image mit aktueller Kernel Version erstellt und  Sascha\u2019s Gateway-SW um ein paar Monitoring-Scripts erweitert.\u00a0\u00a0  Au\u00dferdem\u00a0 gibts in der letzten Version eine Anbindung an den GPSD, um  die GPS-Koordinaten in der Konfig je nach Standort beim Start zu  aktualisieren. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Andreas, <strong>OE5PON,<\/strong> hat das Image wesentlich \u00fcberarbeitet.\u00a0 In der letzten Version werden auch Wetter- und Telemetrie-Daten aus dem BME-280 Sensor am I2C Bus des Gateways unterst\u00fctzt. Es k\u00f6nnen mehrere APRS-IS Server definiert werden und au\u00dferdem hat Andreas der iot4pi Software ein kleines Web-Interface zu Konfiguration und Bedienung spendiert! <\/p>\n\n\n\n<p><strong>Vielen Dank f\u00fcr deine tolle Unterst\u00fctzung, Andreas!<\/strong><\/p>\n\n\n\n<p>Das Zip Archiv hat ca 1.6GB und wurde von einem 4GB SD-Karten Image erstellt.\u00a0 (Download am Besten \u00fcber FTP Client i.e.Filezilla) <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Download&nbsp; GW Version:<\/strong><\/h2>\n\n\n\n<p>zu finden auf unserer FTP-Seite:\u00a0\u00a0\u00a0\u00a0 FTP\u00a0<a href=\"ftp:\/\/www.lora-aprs.at\">ftp:\/\/www.lora-aprs.at\u00a0 (User: 158873ftp3 \/\u00a0 lora12345 )<\/a>  <\/p>\n\n\n\n<p>btw, wie&#8217;s scheint hat Firefox die ftp-Unterst\u00fctzung gestrichen. Es kann ein FTP-Client ( i.e. <a rel=\"noreferrer noopener\" aria-label=\" (\u00f6ffnet in neuem Tab)\" href=\"https:\/\/filezilla-project.org\/\" target=\"_blank\">https:\/\/filezilla-project.org\/<\/a> )  verwendet werden.  F\u00fcr Clients unter Linux bitte FTP-PASSIVE Mode verwenden.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Images:<\/h4>\n\n\n\n<p>Neu:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>  <strong>210605-iot4pi-Release_V0_4.zip<\/strong>  (ca\u00a01,6GB\u00a0&#8211;\u00a0bitte\u00a0per\u00a0FTP\u00a0laden)<\/li><\/ul>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/www.lora-aprs.at\/wp-content\/uploads\/2021\/06\/ReleaseNote_V0_4.pdf\">ReleaseNote_V0_4<\/a><a href=\"https:\/\/www.lora-aprs.at\/wp-content\/uploads\/2021\/06\/ReleaseNote_V0_4.pdf\" class=\"wp-block-file__button\" download>Herunterladen<\/a><\/div>\n\n\n\n<p>\u00e4ltere Versionen :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Mar 18 09:26 <strong>210226-Buster-systemd-2GB.zip<\/strong><\/li><li>Dec 22 10:00 <strong>201215-Buster-systemd-2GB.zip<\/strong><\/li><li><strong>&nbsp;<\/strong>Nov 24 13:49 <strong>GW-Image_20200819_Buster.rar<\/strong><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"> <br><strong>Aktualisierung des  LoRa I-Gate Symbols <\/strong><\/h4>\n\n\n\n<p><strong>(ab Version 0_4 bereits enthalten)  <\/strong> <\/p>\n\n\n\n<p>Es wurde vorgeschlagen, ein einheitliches Symbol f\u00fcr Lora-Gateways zu verwenden.  Andreas, OE5PON  beschreibt die \u00c4nderungen im  <strong>Lora_APRS_gateway_6.py<\/strong>  Script:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>&#8230; nun wurde es nochmal offiziell auf ein schwarzes L &nbsp;(L&amp;) ge\u00e4ndert!<br>pi@OE5XOL-LORAGW:~\/iot4pi $ nano Lora_APRS_gateway_6.py <\/p><p><br>Zeile 174:&nbsp;&nbsp;&nbsp;&nbsp; return (&#8222;%s&gt;APOTW1,TCPIP*:!%s<strong>L<\/strong>%s<strong>&amp;<\/strong>%s\/%s\\r\\n&#8220; % (APRS_IS_CALL, LATITUDE, LONGITUDE, PHG, INFO+&#8220; &#8222;+TempHumPress)) <\/p><cite>  <br><\/cite><\/blockquote>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"247\" height=\"204\" src=\"http:\/\/www.lora-aprs.at\/wp-content\/uploads\/2021\/03\/Lora_I_Gate_symbol.png\" alt=\"\" class=\"wp-image-1207\" srcset=\"https:\/\/www.lora-aprs.at\/wp-content\/uploads\/2021\/03\/Lora_I_Gate_symbol.png 247w, https:\/\/www.lora-aprs.at\/wp-content\/uploads\/2021\/03\/Lora_I_Gate_symbol-230x190.png 230w\" sizes=\"auto, (max-width: 247px) 100vw, 247px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Installation GW-Image:<\/strong><\/h4>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. Download Image von  FTP-Seite: &nbsp;<a href=\"ftp:\/\/www.lora-aprs.at\/\">ftp:\/\/www.lora-aprs.at&nbsp; (User: 158873ftp3 \/&nbsp; lora12345 )<\/a> <\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. entpacken (unzip)<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3. Image auf&nbsp; GB SD-Karte Kopieren (i.e. mit Win32DiskImager)<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4. du solltest dann damit vom Raspberry Zero W oder Pi 3 booten k\u00f6nnen ( Login: <strong>pi\/raspberry<\/strong> )<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>5. WLAN Zugang einrichten um das GW ans Netz zu h\u00e4ngen<\/strong>&nbsp;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; verschiedene M\u00f6glichkeiten:<\/p>\n\n\n\n<p>eine Datei &#8218;wpa.suplicant.conf&#8216; mit deinen WLAN-Daten erstellen und ins Root &#8211; Verzeichnis auf der SD-Karte kopieren. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Die Datei wpa_suplicant.conf kann mit SSID und PSK editiert werden, \nund einfach in das Root der SD Karte kopiert werden. Das wird beim \nBooten in das \/etc\/wpa_supplicant\/ \u00fcbernommen. Muster File liegt auch am\n FTP Server.<\/p><\/blockquote>\n\n\n\n<pre class=\"wp-block-preformatted\">#more wpa_supplicant.conf<br><br> ctrl_interface=DIR=\/var\/run\/wpa_supplicant GROUP=netdev<br> update_config=1<br> country=AT<br> network={<br>         ssid=\"MySSID\"<br>         psk=\"12345678\"<br> }<\/pre>\n\n\n\n<p>oder<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u00a0\u00a0\u00a0\u00a0 am Pi 3 \u00fcber Ethernet Kabel ( DHCP ist aktiv und er sollte sich eine IP aus deinem NW zuweisen lassen)<\/li><li>\u00a0\u00a0\u00a0\u00a0 am Pi Zero W (\u00fcber optionalen USB-Ethernet Kabel Adapter)<\/li><li>\u00a0\u00a0\u00a0\u00a0\u00a0 oder altmodisch \u00fcber Konsole (HDMI) &amp; USB Tastatur<\/li><li>\u00a0\u00a0\u00a0\u00a0\u00a0 wenn du in der Shell bist, kannst du \u00fcber sudo raspi-config deine WLAN konfig durchf\u00fchren<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"><br><br>....&nbsp; oder f\u00fcr \u00e4ltere GW-Image Versionen:<br>Falls ein Linux system mit SD-Karten Leser zur Verf\u00fcgung steht, kann das Image auch gemounted werden<br> und das File etc\/wpa_suplicant\/wpa_suplicant.conf direkt mit den eigenen WLAN (SSID &amp; Passwd) erg\u00e4nzt werden.<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">## nach Einschieben der SD-Karte wird das Filesystem gemounted:<br>\/dev\/mmcblk0p1 43539 22499 21040 52% \/media\/bernd\/boot<br>\/dev\/mmcblk0p2 15240048 1905136 12683112 14% \/media\/bernd\/rootfs<br><br>## ins Verzeichnis wechseln ...<br>$ df<br>$ cd \/media\/bernd\/rootfs<br>$ ls<br>$ cd etc\/wpa_supplicant\/<br>$ ls<br><br><br><br><br>##&nbsp; das File editieren ... (es kann auch ein anderer Editor verwendet werden zB: nano(1) )<br>$ sudo vi wpa_supplicant.conf<br><br>ctrl_interface=DIR=\/var\/run\/wpa_supplicant GROUP=netdev<br>update_config=1<br>country=AT<br><br>network={<br>ssid=\"HUAWEI-3A96-2.4G\"<br>psk=\"....password......\"<br>}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ##&nbsp; eigenes WLAN hinzuf\u00fcgen<br><br># add your&nbsp; WLAN parameters here ....&nbsp;&nbsp; SSID and Password<br>network={<br>ssid=\"NGbg24\"<br>psk=\"....password......\"<br>}<br><br>##&nbsp; Abspeichern ....<br><br>##&nbsp; zur\u00fcck ins HOME Verzeichnis und unmount der SD-Karten Filesysteme<br>$ cd<br>$ umount \/media\/bernd\/rootfs<br>$ df<br>$ umount \/media\/bernd\/boot<br><br><br><\/pre>\n\n\n\n<p>Das modifizierte Image kann jetzt zum \nBooten verwendet werden. Der Raspi sollte sich im eigenen WLAN anmelden.\n DHCP und ssh Server sind aktiv. Die neu vergebene IP Addresse l\u00e4sst \nsich am WLAN-Router (DHCP.log) finden, bzw, kann auch am Display \nangezeigt werden.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6. Wenn die NW\/WLAN Konfig erledigt ist, bitte im Verzeichnis \/home\/pi\/iot4pi das Konfigurationsfile<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>APRS.conf editieren<\/strong> und <strong>deine Parameter<\/strong> einstellen.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; falls die GPSD-Version&nbsp; verwendet wird, sollten die Parameter im File <strong>APRS.conf.GPS_in<\/strong>\n ge\u00e4ndert werden. Daraus wird dann APRS.conf.GPS (mit aktuellen \nGPS-Daten erzeugt, das dann auf \u201aAPRS.conf\u2018 symbolisch gelinkt ist.&nbsp; Die\n GW-Software startet dann mit den aktualisierten GPS-Daten, die vom \n\u201agpsd\u2018 empfangen wurden.<\/h6>\n\n\n\n<ul class=\"wp-block-list\"><li>&nbsp;Call des Gateways,<\/li><li>&nbsp; dein APRS- Passcode&nbsp;&nbsp; (Generator: <a href=\"http:\/\/www.dstarcomms.com\/aprs\/index.php\/passcode\">http:\/\/www.dstarcomms.com\/aprs\/index.php\/passcode<\/a>)<\/li><li>&nbsp;&nbsp; Bakentext<\/li><li>&nbsp;&nbsp; Latitude<\/li><li>&nbsp;&nbsp; Longitude<\/li><\/ul>\n\n\n\n<p>Die GW Software ist so eingestellt, dass sie nach dem Boot die \nNW-Konfig (IP Addresse) anzeigt, und wenn die APRS-Server erreichbar \nsind, wird die GW-Software (Sascha\u2019s iot4pi-Version) gestartet.<\/p>\n\n\n\n<p>\u00dcber \u2019sudo raspi-config\u2018 sollten noch der Hostname, Password und \nandere Parameter wie Partition-Size\/Filesystem, etc \u2026 angepasst werden.<\/p>\n\n\n\n<p>Zus\u00e4tzlich besteht die M\u00f6glichkeit die APRS.conf Datei \u00fcber einen \nScript mit den aktuellen Positionsdaten \u00fcber GPSD upzudaten, was bei \n\u00f6fterem Standortwechsel des GW ( z.B. bei Einsatz bei Fielddays oder am \nParkplatz im Auto) von Vorteil ist. Es muss somit nicht jedesmal m\u00fchsam \ndas APRS.conf File editiert werden \u2026<\/p>\n\n\n\n<p><strong>Update 05\/05\/2020:&nbsp;&nbsp;&nbsp; <br><\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Startup \u2013 Interaktion mit GPSD zum automatischen Update der Positionsdaten im APRS.conf File.<\/h4>\n\n\n\n<p>Es kann jetzt beim Start des Gateways \u00fcber TastenDruck ein \nautomatisches Update der Positionsdaten im APRS.conf File durchgef\u00fchrt \nwerden. Somit entf\u00e4llt das l\u00e4stige Editieren der Position \n(LATITUDE\/LONGITUDE) in der Konfig, falls das Gateway mal mit Hotspot \nzum Fieldday, Wandern, Skifahren, Laufen&nbsp; oder Urlaub mitgenommen wird.<\/p>\n\n\n\n<p>Die GPS-Daten werden \u00fcber den GPS-Daemon im OS gelesen.&nbsp; Es k\u00f6nnen \nunterschiedliche GPS-Empf\u00e4nger (USB\/Serial\/Bluetooth\/GPS vom \nMobiltelefon \u00fcber Shared GPS App und NW-Verbindung) eingebunden werden.<\/p>\n\n\n\n<p>Das Ganze wurde in eine neue Startup Routine verpackt, die beim \nStart\/Boot ausgef\u00fchrt wird. Die Konfig muss etwas angepasst werden \u2026<\/p>\n\n\n\n<p>\u2013 Tar Archiv mit neuer Statup-Routine&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href=\"https:\/\/www.lora-aprs.at\/wp-content\/uploads\/2020\/05\/show_startup_200505.tar.gz\">show_startup_200505.tar.gz&nbsp;&nbsp;&nbsp;<\/a><\/p>\n\n\n\n<p>(download \u00fcber wget https:\/\/www.lora-aprs.at\/wp-content\/uploads\/2020\/05\/show_startup_200505.tar.gz)<\/p>\n\n\n\n<p>Beschreibung\/README<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>startup_src $ more README<\/em><br><em>******************************************************<\/em><br><em>* *<\/em><br><em>* New Startup procedure with *<\/em><br><em>* \u2013 Verification of Network Connectivity and *<\/em><br><em>* \u2013 Interaction with GPS-Service Daemon (gpsd) *<\/em><br><em>* *<\/em><br><em>* *<\/em><br><em>* https\/www.lora-aprs.at Bernd Gasser\/OE1ACM *<\/em><br><em>******************************************************<\/em><\/p><p><em>Description:<\/em><br><em>when booting the RasPI the start.sh scrip gets executed thru cron.<\/em><br><em>(@reboot \/home\/pi\/iot4pi\/start.sh)<\/em><br><em>(see start.sh script below)<\/em><\/p><p><em>The start.sh calls a little program \u2019show_startup\u2018 that opens<\/em><br><em>the Oled 96 Display and reads buttons.<\/em><br><em>The initial purpose of this \u2019show_startup\u2018 was to check<\/em><br><em>network-connectivity, check wheter WAN connection to APRS-IS<\/em><br><em>servers can be connected and show the IP-Addresses that were<\/em><br><em>assigned by DHCP \u2013 for easy access to the OS (i.e. thru ssh)<\/em><\/p><p><em>What is new now?<\/em><br><em>\u2014\u2014\u2014\u2014\u2014-<\/em><\/p><p><em>If the Gateway isn\u2019t always operatedat the same location ( i.e.<\/em><br><em>placing the GW in car with hotspot on parking area while walking,<\/em><br><em>skiiing, cycling, etc \u2026 , it was quite annoying to manually<\/em><br><em>update it\u2019s position LAT\/LONG in the APRS.conf file.<\/em><\/p><p><em>For updating the current position in the APRS.conf file we now<\/em><br><em>added a feature during startup to interact with the GPS-Daemon<\/em><br><em>\u201agpsd\u2018 and automatically replace location (LAT\/LON) with current<\/em><br><em>position returned from gpsd.<\/em><\/p><p><em>This feature is activated by holding any of the buttons during<\/em><br><em>startup while Network interfaces are searched and tested.<\/em><\/p><p><em>A'(GPS)\u2018 marker will appear in upper left corner of the screen,<\/em><br><em>indicating that \u201agpsd\u2018 gets contacted for current position.<\/em><\/p><p><em>gpsd in turn will read it\u2019s data from any GPS device connected<\/em><br><em>either thru Serial, USB, Bluetooth or any network \u2013 TCP\/IP<\/em><br><em>connection. I have tested Bluetooth GPS from Garmin and also<\/em><br><em>sharing GPS data from mobile thru the \u201aShare GPS\u201c App (on my Samsung S9)<\/em><\/p><p><em>if Bluetooth is used it is required to pair the GPS and configure SPP<\/em><br><em>and add the device to gpsd \u2026 this can be added to the startup script<\/em><br><em>as shown below\u2026<\/em><br><em>proper connectivity can be checked and verified by \u201agpsmon\u2019\u2026.<\/em><br><em>gpsd is quite well documented so I don\u2019t want to go into detail<\/em><\/p><p><em>How do we replace current position in APRS.conf?<\/em><\/p><p><em>Once we activated the automatic position update by holding a<\/em><br><em>button during Interface scan in startup, we query \u201agpsd\u2018 for GPS-Data<\/em><br><em>and once we receive a valid position, we\u2019ll exchange a \u201aplaceholder\u2018<\/em><br><em>in the file \u201aAPRS.conf.GPS_in\u2018 and create the new \u201aAPRS.conf.GPS\u2018 file<\/em><br><em>with updated position Data (LAT\/LON).<\/em><\/p><p><em>Note, if retrieving GPS-data from \u201agpsd\u2018 fails, the old, last<\/em><br><em>configuration will be kept. Also if no key\/button is pressed during<\/em><br><em>startup, we\u2019ll not do any update and use prvious config.<\/em><\/p><p><em>btw, updating position is done by the streaming editor \u2019sed\u2018<\/em><br><em>with the foillowing command in the sedfile:<\/em><\/p><p><em>s\/LATITUDE:________\/LATITUDE:4812.91N\/g<\/em><br><em>s\/LONGITUDE:_________\/LONGITUDE:01627.25E\/g<\/em><br><em>so please don\u2019t remove the placeholder for the position when editing<\/em><br><em>APRS.conf.in.<\/em><\/p><p><em>So I\u2019d suggest to put your own current config into the \u201aAPRS.conf.in\u2018<\/em><br><em>file that is used as basis for creating the final APRS.conf with<\/em><br><em>current position updated.<\/em><br><em>to keep multiple configurations in parallel you can create<\/em><br><em>symbolic link to the configuration you want to use.<\/em><\/p><p><em>example ln -s APRS.conf.GPS APRS.conf<\/em><\/p><p><em>lrwxrwxrwx 1 pi pi 13 May 4 10:35 APRS.conf -&gt; APRS.conf.GPS<\/em><br><em>-rw-r\u2013r\u2013 1 pi pi 2140 May 4 12:20 APRS.conf.GPS<\/em><br><em>-rwxr-xr-x 1 pi pi 2140 May 4 10:58 APRS.conf.GPS_in<\/em><\/p><p><em>above will activate the automatically updated APRS.conf.GPS for<\/em><br><em>Sascha\u2019s (iot4pi-GW) Software to startup with the Gateway-Software.<\/em><\/p><p><em>using symlinks may help to keep multiple configs<\/em><\/p><p><em>Installation:<\/em><br><em>\u2014\u2014\u2014\u2014-<\/em><\/p><p><em>\u2013 create a backup\/copy of your current configuration<\/em><br><em>in \/home\/pi\/iot4pi<\/em><\/p><p><em>\u2013 download archive with new startup<\/em><\/p><p><em>\u2013 replace the current \u2019show_startup\u2018 binary with the one<\/em><br><em>from downloaded archive.<\/em><\/p><p><em>i@LoRaGW_27:~\/iot4pi $ mv show_startup show_startup.old<\/em><br><em>pi@LoRaGW_27:~\/iot4pi $ cp ..\/startup_src\/show_startup .<\/em><\/p><p><em>\u2013 copy your current APRS.conf to APRS.conf.GPS_in and add the<\/em><br><em>placeholders:<\/em><\/p><p><em>LATITUDE:________<\/em><br><em>LONGITUDE:_________<\/em><\/p><p><em>where you want the position be filled by the automatic<\/em><br><em>update.<\/em><\/p><p><em>\u2013 create the symbolic link from APRS.conf.GPS to APRS.conf<\/em><br><em>to use the automatically updated file as input for the GW-SW<\/em><\/p><p><em># ln -s APRS.conf.GPS APRS.conf<\/em><\/p><p><em>\u2013 setup gpsd and verify gpsd<\/em><\/p><p><em>there is plenty of information published<\/em><br><em>https:\/\/gpsd.gitlab.io\/gpsd\/gpsd.html<\/em><br><em>https:\/\/gpsd.gitlab.io\/gpsd\/troubleshooting.html<\/em><\/p><p><em>use gpsmon \/ gpsdctl to verify proper gpsd config<\/em><\/p><p><em>\u2013 verification<\/em><\/p><p><em>you can dry-run to verify \u2026<\/em><\/p><p><em>\u2013 stop current GW-SW<\/em><\/p><p><em>sudo pkill iot<\/em><\/p><p><em>\u2013 from iot4pi subdirectory start sudo .\/show_startup<\/em><br><em>Oled will list interfaces and IP \u2026 hold any button \u2026<\/em><\/p><p><em>Oled will show on top:<\/em><\/p><p><em>(GPS) Interfaces<\/em><\/p><p><em>gpsd will be queried for GPS-data and will contact configured<\/em><br><em>GPS-RX \u2026. when successful it shows LAT\/LON Position data<\/em><br><em>on Oled and will create \u2019sedfile\u2018 with streaming editor commands<\/em><br><em>to replace placeholder in APRS.conf.GPS_in and write to<\/em><br><em>APRS.conf.GPS (that is linked to APRS.conf)<\/em><\/p><p><em>\u2013 maybe verify that GPS-RX are properly configured and started<\/em><br><em>during boot. when needed you can add lines to the start.sh<\/em><br><em>script that gets started by cron.<\/em><\/p><p><em>below is a sample of my commands to add a network-shared GPS from<\/em><br><em>my mobile via TCP-connection to port 2947 (from Shared GPS App)<\/em><\/p><p><em>or the other Line shows the connection to an old Garmin Bluetooth<\/em><br><em>GPS. I did pair and trust the device via bluetoothctl before and<\/em><br><em>just do the rfcomm binding to the address to create a serial outgoing<\/em><br><em>connection via bluetooth to the GPS-RX. I then added the device<\/em><br><em>rfcomm0 to the device list for gpsd.<\/em><\/p><p><em>~\/iot4pi $ more start.sh<\/em><br><em>#\u2014- start.sh \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014-<\/em><br><em>#!\/bin\/sh<\/em><br><em>Pfad=\u201c\/home\/pi\/iot4pi\/\u201c<\/em><br><em>echo \u201eWaiting to wake up\u2026\u201c<\/em><br><em>cd $Pfad<\/em><\/p><p><em># Starting up gpsd and add device i.e. Shared GPS from mobile<\/em><br><em>#sudo gpsdctl add tcp:\/\/192.168.2.102:2947<\/em><\/p><p><em># Bluetooth Garmin<\/em><br><em>sudo rfcomm bind 0 00:05:4F:08:B3:F8<\/em><br><em>sudo gpsdctl add \/dev\/rfcomm0<\/em><\/p><p><em># startup and check NW Connectivity<\/em><br><em>.\/show_startup<\/em><br><em>ret=$?<\/em><\/p><p><em>echo $ret<\/em><\/p><p><em>if [ $ret -ne 5 ]<\/em><br><em>then<\/em><br><em>echo \u201eStarting UDP..GW..\u201c<\/em><\/p><p><em>sudo $Pfad\u201ciot4pi_LoraGW_01\u2033 &gt;&gt; $Pfad\u201cLogAPRS.txt\u201c<\/em><\/p><p><em>fi<\/em><br><em>#\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014<\/em><\/p><p><em>The code is shipped with the archive and can be compiled with supplied makefile.<\/em><br><em>Several Libraries pthread,gps,oled,wiringPI,etc\u2026 will be used but should be included in the image already.<\/em><\/p><p><em>It is intended fou our use in the HAM-Radio community only and should not be used for any commercial purpose. <\/em><em>If\n you want to make changes or fix bugs \u2013 please feel free to do so but \nplease keep us updated on improvements so a broader audience ca<\/em><em>n benefit.<\/em><\/p><p><em>Have fun!<\/em><\/p><p><em>vy73,<\/em><\/p><p><em>Bernd\/OE1ACM<\/em><\/p><\/blockquote>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Software Gateway&nbsp; Es tut sich einiges in der Community und es haben sich einige interessante Projekte entwickelt. https:\/\/github.com\/peterus\/LoRa_APRS_iGate&nbsp; auf ESP32 https:\/\/github.com\/tomelec&nbsp; Raspberry Pi LoRa KISS TNC mit APRX http:\/\/www.iot4pi.com\/de\/raspberry-pi-projekte-software\/lora-aprs-gateway\/ Sascha\u2019s iot4pi LoRa-APRS-iGate https:\/\/github.com\/begass\/LoraAPRSGW&nbsp; Sascha hat uns dankenswerterweise den LoRa-APRS Gateway Code zur Verf\u00fcgung gestellt! Sascha\u2019s iot4pi war die urspr\u00fcngliche Version, die seit mehreren Jahren erfolgreich [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1187","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/ParEtM-j9","_links":{"self":[{"href":"https:\/\/www.lora-aprs.at\/index.php\/wp-json\/wp\/v2\/pages\/1187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lora-aprs.at\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lora-aprs.at\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lora-aprs.at\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lora-aprs.at\/index.php\/wp-json\/wp\/v2\/comments?post=1187"}],"version-history":[{"count":11,"href":"https:\/\/www.lora-aprs.at\/index.php\/wp-json\/wp\/v2\/pages\/1187\/revisions"}],"predecessor-version":[{"id":1219,"href":"https:\/\/www.lora-aprs.at\/index.php\/wp-json\/wp\/v2\/pages\/1187\/revisions\/1219"}],"wp:attachment":[{"href":"https:\/\/www.lora-aprs.at\/index.php\/wp-json\/wp\/v2\/media?parent=1187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}