SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
Raspberry Pi SDR IGate
Last update 11/9/2015
7/3/2016 – Added note about /etc/modprobe.d/raspi-blacklist.conf.
9/22/2016 – Clarify IGate server rotate addresses.
It’s easy to build a receive-only APRS Internet Gateway (IGate) with only a Raspberry Pi and a software
defined radio (RTL-SDR) dongle. Here’s how.
Hardware Required
 Raspberry Pi
I happened to use the model 2 so I can’t say, with certainty that the earlier models would be fast
enough to keep up. “top” shows about 93% cpu idle time so the older models are probably
more than adequate.
The procedure here is known to work with the Raspbian operating system. Some adjustments
might be required for other operating systems.
 SDR Dongle
This connects to the USB port and an antenna. This is the one I used.
http://www.amazon.com/NooElec-RTL-SDR-RTL2832U-Software-Packages/dp/B008S7AVTC
There are many others that appear to be equivalent such as
https://www.adafruit.com/products/1497
Software Required
 Dire Wolf
Install following the instructions in Raspberry-Pi-APRS.pdf.
You can stop at the section called Interface for Radio. Here we are using the SDR dongle rather
than a USB audio adapter.
Don’t worry about the configuration part because we will build our own configuration file here.
 RTL-SDR Library from http://sdr.osmocom.org/trac/wiki/rtl-sdr
Install it like this:
sudo apt-get update
sudo apt-get install cmake build-essential libusb-1.0-0-dev
cd ~
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
make
sudo make install
sudo ldconfig
I didn’t find it to be necessary, with the software version I was using, but community feedback suggests
adding the following to /etc/modprobe.d/raspi-blacklist.conf to prevent the use of undesired device
drivers.
blacklist dvb_usb_rtl28xxu
blacklist dvb_usb_v2
blacklist rtl_2830
blacklist rtl_2832
blacklist r820t
Configuration
We need to construct a configuration file for Dire Wolf. Take the following text and put it into a text file,
called sdr.conf, in our home directory. You might find a copy of this file in
/usr/share/doc/direwolf/examples.
#
# Sample configuration for SDR read-only IGate.
#
# We might not have an audio output device so set to null.
# We will override the input half on the command line.
ADEVICE null null
CHANNEL 0
# Put your callsign in place of xxx below.
MYCALL xxx
# Pick appropriate servers for your geographical region.
#
# noam.aprs2.net - for North America
# soam.aprs2.net - for South America
# euro.aprs2.net - for Europe and Africa
# asia.aprs2.net - for Asia
# aunz.aprs2.net - for Oceania
#
# Change the following line if you are not in North America.
IGSERVER noam.aprs2.net
# You also need to specify your login name and passcode.
# This is the same passcode you would use with any other IGate
# application. Contact the author if you can't figure out
# how to generate the passcode.
IGLOGIN xxx 123456
# That's all you need for a receive only IGate which relays
# messages from the local radio channel to the global servers.
Put your callsign and optional SSID in the two places that have xxx above. Put your actual passcode in
place of 123456.
Choosing the IGate Server
Which server should you use? The current preferred way is to use one of these regional rotate
addresses:
 noam.aprs2.net - for North America
 soam.aprs2.net - for South America
 euro.aprs2.net - for Europe and Africa
 asia.aprs2.net - for Asia
 aunz.aprs2.net - for Oceania
Each name has multiple addresses corresponding to the various servers available in that region. Why
not just specify the name of one specific server? This approach offers several advantages:
 Simplicity – You don’t need to change your configuration as new servers become available or
disappear.
 Resilience – If your current server becomes unavailable, another one will be found
automatically.
 Load balancing – Picking one at random helps to spread out the load.
Visit http://aprs2.net/ for the most recent information.
Run It
rtl_fm -f 144.39M - | direwolf -c sdr.conf -r 24000 -D 1 -
Note the “-“ at the end of the line which means read audio from stdin. Alternatively this could have
been done in the configuration file, using either of these forms:
ADEVICE stdin null
ADEVICE - null
You should now have a functioning receive only IGate. Consult the User Guide for more details.
Automatic Startup on Reboot
You might be tempted to put the command line above into /etc/rc.local. It’s not that simple and there
are some disadvantages. First, it runs as root. It’s best to avoid running as root, when possible, because
it’s harder to accidentally trash your system. When /etc/rc.local is running, $PATH is set to
/sbin:/usr/sbin:/bin:/usr/bin so it wouldn’t find anything in /usr/local/bin. You would need to specify
the full path. The current working directory and $HOME are both / so you would need to put the
configuration file there or specify a different location. The text output, for troubleshooting, is not
readily available. Finally, it there is a failure, it won’t restart until the next reboot.
My suggestion would be to modify the included dw_start.sh script so that it also runs rtl_fm. Look for
this line and remove the # at the beginning.
#DWCMD="bash -c 'rtl_fm -f 144.39M - | direwolf -c sdr.conf -r 24000 -D 1 -'"
Run “crontab –e” to edit your crontab file. Assuming that you are running as user “pi” and you have a
copy of dw-start.sh in the home directory, add a line like this:
* * * * * /home/pi/dw-start.sh >/dev/null 2>&1
This script will run once per minute. Dire Wolf is started automatically if not running already. If it
crashes, or is terminated for any other reason, it will be restarted. A log of restarts can be found in
/tmp/dw-start.log.
Calibration
The cheap RTL SDR dongles might be a few kHz off and drift even more with temperature variations.
In one test, I found that it worked best when I specified a frequency 8 kHz lower than the desired
frequency.
For best results you will want to calibrate them using a nearby station of known frequency. Here is a
script that will perform calibration periodically: https://github.com/khaytsus/direwolf-init

Más contenido relacionado

La actualidad más candente

Juniper JNCIA – Juniper RIP and OSPF Route Configuration
Juniper JNCIA – Juniper RIP and OSPF Route ConfigurationJuniper JNCIA – Juniper RIP and OSPF Route Configuration
Juniper JNCIA – Juniper RIP and OSPF Route ConfigurationHamed Moghaddam
 
Saad baig practical file
Saad baig practical fileSaad baig practical file
Saad baig practical fileSaadBaig33
 
Packet Filtering Using Iptables
Packet Filtering Using IptablesPacket Filtering Using Iptables
Packet Filtering Using IptablesAhmed Mekkawy
 
10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-express10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-expressNguyen Thanh
 
Cisco commands List for Beginners (CCNA, CCNP)
Cisco commands List for Beginners (CCNA, CCNP)Cisco commands List for Beginners (CCNA, CCNP)
Cisco commands List for Beginners (CCNA, CCNP)DH Da Lat
 
Cisco CCNA- How to Configure Multi-Layer Switch
Cisco CCNA- How to Configure Multi-Layer SwitchCisco CCNA- How to Configure Multi-Layer Switch
Cisco CCNA- How to Configure Multi-Layer SwitchHamed Moghaddam
 
Router Commands Overview
Router Commands OverviewRouter Commands Overview
Router Commands OverviewMuhammed Niyas
 
Cisco CCNA OSPF IPV6 Configuration
Cisco CCNA OSPF IPV6 ConfigurationCisco CCNA OSPF IPV6 Configuration
Cisco CCNA OSPF IPV6 ConfigurationHamed Moghaddam
 
Cisco CCNA- NAT Configuration
Cisco CCNA- NAT ConfigurationCisco CCNA- NAT Configuration
Cisco CCNA- NAT ConfigurationHamed Moghaddam
 
Networking Tutorial Goes to Basic PPP Configuration
Networking Tutorial Goes to Basic PPP ConfigurationNetworking Tutorial Goes to Basic PPP Configuration
Networking Tutorial Goes to Basic PPP Configuration3Anetwork com
 
Cisco CCNA-Standard Access List
Cisco CCNA-Standard Access ListCisco CCNA-Standard Access List
Cisco CCNA-Standard Access ListHamed Moghaddam
 
Cisco CCNA IP SLA with tracking configuration
Cisco CCNA IP SLA  with tracking  configurationCisco CCNA IP SLA  with tracking  configuration
Cisco CCNA IP SLA with tracking configurationHamed Moghaddam
 
CCNA - Routing & Switching Commands
CCNA - Routing & Switching CommandsCCNA - Routing & Switching Commands
CCNA - Routing & Switching CommandsEng. Emad Al-Atoum
 
Cisco CCNA IPV6 Static Configuration
Cisco CCNA  IPV6 Static ConfigurationCisco CCNA  IPV6 Static Configuration
Cisco CCNA IPV6 Static ConfigurationHamed Moghaddam
 
Cisco CCNA-Router on Stick
Cisco CCNA-Router on StickCisco CCNA-Router on Stick
Cisco CCNA-Router on StickHamed Moghaddam
 
Como Trabaja un Procesador
Como Trabaja un ProcesadorComo Trabaja un Procesador
Como Trabaja un ProcesadorPablo Macon
 

La actualidad más candente (20)

Juniper JNCIA – Juniper RIP and OSPF Route Configuration
Juniper JNCIA – Juniper RIP and OSPF Route ConfigurationJuniper JNCIA – Juniper RIP and OSPF Route Configuration
Juniper JNCIA – Juniper RIP and OSPF Route Configuration
 
Router commands
Router commandsRouter commands
Router commands
 
Saad baig practical file
Saad baig practical fileSaad baig practical file
Saad baig practical file
 
Packet Filtering Using Iptables
Packet Filtering Using IptablesPacket Filtering Using Iptables
Packet Filtering Using Iptables
 
10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-express10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-express
 
Chapter5ccna
Chapter5ccnaChapter5ccna
Chapter5ccna
 
Cisco commands List for Beginners (CCNA, CCNP)
Cisco commands List for Beginners (CCNA, CCNP)Cisco commands List for Beginners (CCNA, CCNP)
Cisco commands List for Beginners (CCNA, CCNP)
 
Cisco CCNA- How to Configure Multi-Layer Switch
Cisco CCNA- How to Configure Multi-Layer SwitchCisco CCNA- How to Configure Multi-Layer Switch
Cisco CCNA- How to Configure Multi-Layer Switch
 
Router Commands Overview
Router Commands OverviewRouter Commands Overview
Router Commands Overview
 
Cisco CCNA OSPF IPV6 Configuration
Cisco CCNA OSPF IPV6 ConfigurationCisco CCNA OSPF IPV6 Configuration
Cisco CCNA OSPF IPV6 Configuration
 
Cisco CCNA- NAT Configuration
Cisco CCNA- NAT ConfigurationCisco CCNA- NAT Configuration
Cisco CCNA- NAT Configuration
 
Networking Tutorial Goes to Basic PPP Configuration
Networking Tutorial Goes to Basic PPP ConfigurationNetworking Tutorial Goes to Basic PPP Configuration
Networking Tutorial Goes to Basic PPP Configuration
 
Router commands
Router commandsRouter commands
Router commands
 
Configuracion rip practica 1
Configuracion rip practica 1Configuracion rip practica 1
Configuracion rip practica 1
 
Cisco CCNA-Standard Access List
Cisco CCNA-Standard Access ListCisco CCNA-Standard Access List
Cisco CCNA-Standard Access List
 
Cisco CCNA IP SLA with tracking configuration
Cisco CCNA IP SLA  with tracking  configurationCisco CCNA IP SLA  with tracking  configuration
Cisco CCNA IP SLA with tracking configuration
 
CCNA - Routing & Switching Commands
CCNA - Routing & Switching CommandsCCNA - Routing & Switching Commands
CCNA - Routing & Switching Commands
 
Cisco CCNA IPV6 Static Configuration
Cisco CCNA  IPV6 Static ConfigurationCisco CCNA  IPV6 Static Configuration
Cisco CCNA IPV6 Static Configuration
 
Cisco CCNA-Router on Stick
Cisco CCNA-Router on StickCisco CCNA-Router on Stick
Cisco CCNA-Router on Stick
 
Como Trabaja un Procesador
Como Trabaja un ProcesadorComo Trabaja un Procesador
Como Trabaja un Procesador
 

Similar a Raspberry PI iGate with TNC Direwolf Soundmodem

Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMAlexander Shopov
 
Katello on TorqueBox
Katello on TorqueBoxKatello on TorqueBox
Katello on TorqueBoxlzap
 
Graphing Nagios services with pnp4nagios
Graphing Nagios services with pnp4nagiosGraphing Nagios services with pnp4nagios
Graphing Nagios services with pnp4nagiosjasonholtzapple
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleAlex Thompson
 
Computer technicians-quick-reference-guide
Computer technicians-quick-reference-guideComputer technicians-quick-reference-guide
Computer technicians-quick-reference-guideShathees Rao
 
NFS is an excellent way of sharing files between linux and other unix systems
NFS is an excellent way of sharing files between linux and other unix systemsNFS is an excellent way of sharing files between linux and other unix systems
NFS is an excellent way of sharing files between linux and other unix systemsAshish Mamgain
 
02 Hadoop deployment and configuration
02 Hadoop deployment and configuration02 Hadoop deployment and configuration
02 Hadoop deployment and configurationSubhas Kumar Ghosh
 
Andresen 8 21 02
Andresen 8 21 02Andresen 8 21 02
Andresen 8 21 02FNian
 
Performance: Observe and Tune
Performance: Observe and TunePerformance: Observe and Tune
Performance: Observe and TunePaul V. Novarese
 
Arp Dan Ipconfig Syntax
Arp Dan Ipconfig  SyntaxArp Dan Ipconfig  Syntax
Arp Dan Ipconfig Syntaxguestcc37e8c
 
RAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and DatabaseRAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and DatabaseNikhil Kumar
 
Ansible automation tool with modules
Ansible automation tool with modulesAnsible automation tool with modules
Ansible automation tool with modulesmohamedmoharam
 

Similar a Raspberry PI iGate with TNC Direwolf Soundmodem (20)

Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
 
Katello on TorqueBox
Katello on TorqueBoxKatello on TorqueBox
Katello on TorqueBox
 
Xen time machine
Xen time machineXen time machine
Xen time machine
 
Graphing Nagios services with pnp4nagios
Graphing Nagios services with pnp4nagiosGraphing Nagios services with pnp4nagios
Graphing Nagios services with pnp4nagios
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scale
 
Raspbery pi commands
Raspbery pi commandsRaspbery pi commands
Raspbery pi commands
 
Computer technicians-quick-reference-guide
Computer technicians-quick-reference-guideComputer technicians-quick-reference-guide
Computer technicians-quick-reference-guide
 
NFS is an excellent way of sharing files between linux and other unix systems
NFS is an excellent way of sharing files between linux and other unix systemsNFS is an excellent way of sharing files between linux and other unix systems
NFS is an excellent way of sharing files between linux and other unix systems
 
02 Hadoop deployment and configuration
02 Hadoop deployment and configuration02 Hadoop deployment and configuration
02 Hadoop deployment and configuration
 
Andresen 8 21 02
Andresen 8 21 02Andresen 8 21 02
Andresen 8 21 02
 
Performance: Observe and Tune
Performance: Observe and TunePerformance: Observe and Tune
Performance: Observe and Tune
 
Arp Dan Ipconfig Syntax
Arp Dan Ipconfig  SyntaxArp Dan Ipconfig  Syntax
Arp Dan Ipconfig Syntax
 
RAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and DatabaseRAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and Database
 
Ansible automation tool with modules
Ansible automation tool with modulesAnsible automation tool with modules
Ansible automation tool with modules
 
Linux
Linux Linux
Linux
 
Iptables presentation
Iptables presentationIptables presentation
Iptables presentation
 
Ex200
Ex200Ex200
Ex200
 
Sahul
SahulSahul
Sahul
 
Sahul
SahulSahul
Sahul
 
Ns2leach
Ns2leachNs2leach
Ns2leach
 

Más de AURELIO PY5BK

Manual Controladora Repetidora Simples RX TX
Manual Controladora Repetidora Simples RX TXManual Controladora Repetidora Simples RX TX
Manual Controladora Repetidora Simples RX TXAURELIO PY5BK
 
Tracker GT02 gt02_mt621d_v2.3 Manual
Tracker GT02 gt02_mt621d_v2.3 ManualTracker GT02 gt02_mt621d_v2.3 Manual
Tracker GT02 gt02_mt621d_v2.3 ManualAURELIO PY5BK
 
Placa APRS BravoTracker - Tracker/Digi/KISS TNC com Telemetria
Placa APRS BravoTracker - Tracker/Digi/KISS TNC com TelemetriaPlaca APRS BravoTracker - Tracker/Digi/KISS TNC com Telemetria
Placa APRS BravoTracker - Tracker/Digi/KISS TNC com TelemetriaAURELIO PY5BK
 
How to use mmdvm host - main board
How to use mmdvm host - main boardHow to use mmdvm host - main board
How to use mmdvm host - main boardAURELIO PY5BK
 
Tutorial RX Gate / iGate / Digipeater APRS no MS Windows
Tutorial RX Gate / iGate / Digipeater APRS no MS WindowsTutorial RX Gate / iGate / Digipeater APRS no MS Windows
Tutorial RX Gate / iGate / Digipeater APRS no MS WindowsAURELIO PY5BK
 
Apostila Resolução Conflitos Agrários - EAD SENASP
Apostila Resolução Conflitos Agrários - EAD SENASP Apostila Resolução Conflitos Agrários - EAD SENASP
Apostila Resolução Conflitos Agrários - EAD SENASP AURELIO PY5BK
 
APRS Packet Modem Dire Wolf User Guide
APRS Packet Modem Dire Wolf User GuideAPRS Packet Modem Dire Wolf User Guide
APRS Packet Modem Dire Wolf User GuideAURELIO PY5BK
 
Curso Radioamador Voluntário da Defesa Civil - PARANÁ
Curso Radioamador Voluntário da Defesa Civil - PARANÁCurso Radioamador Voluntário da Defesa Civil - PARANÁ
Curso Radioamador Voluntário da Defesa Civil - PARANÁAURELIO PY5BK
 
Antena WG - 40/160 metros - Total 20 Metros
Antena WG - 40/160 metros - Total 20 MetrosAntena WG - 40/160 metros - Total 20 Metros
Antena WG - 40/160 metros - Total 20 MetrosAURELIO PY5BK
 
Análise Criminal - SENASP - Versão Atualizada 2016
Análise Criminal - SENASP - Versão Atualizada 2016Análise Criminal - SENASP - Versão Atualizada 2016
Análise Criminal - SENASP - Versão Atualizada 2016AURELIO PY5BK
 
Manual Baofeng BF-V85 pt-br
Manual Baofeng BF-V85 pt-brManual Baofeng BF-V85 pt-br
Manual Baofeng BF-V85 pt-brAURELIO PY5BK
 
Manual UV-5R Baofeng Pofung PT-BR
Manual UV-5R Baofeng Pofung PT-BRManual UV-5R Baofeng Pofung PT-BR
Manual UV-5R Baofeng Pofung PT-BRAURELIO PY5BK
 

Más de AURELIO PY5BK (13)

Instalacao roip
Instalacao roipInstalacao roip
Instalacao roip
 
Manual Controladora Repetidora Simples RX TX
Manual Controladora Repetidora Simples RX TXManual Controladora Repetidora Simples RX TX
Manual Controladora Repetidora Simples RX TX
 
Tracker GT02 gt02_mt621d_v2.3 Manual
Tracker GT02 gt02_mt621d_v2.3 ManualTracker GT02 gt02_mt621d_v2.3 Manual
Tracker GT02 gt02_mt621d_v2.3 Manual
 
Placa APRS BravoTracker - Tracker/Digi/KISS TNC com Telemetria
Placa APRS BravoTracker - Tracker/Digi/KISS TNC com TelemetriaPlaca APRS BravoTracker - Tracker/Digi/KISS TNC com Telemetria
Placa APRS BravoTracker - Tracker/Digi/KISS TNC com Telemetria
 
How to use mmdvm host - main board
How to use mmdvm host - main boardHow to use mmdvm host - main board
How to use mmdvm host - main board
 
Tutorial RX Gate / iGate / Digipeater APRS no MS Windows
Tutorial RX Gate / iGate / Digipeater APRS no MS WindowsTutorial RX Gate / iGate / Digipeater APRS no MS Windows
Tutorial RX Gate / iGate / Digipeater APRS no MS Windows
 
Apostila Resolução Conflitos Agrários - EAD SENASP
Apostila Resolução Conflitos Agrários - EAD SENASP Apostila Resolução Conflitos Agrários - EAD SENASP
Apostila Resolução Conflitos Agrários - EAD SENASP
 
APRS Packet Modem Dire Wolf User Guide
APRS Packet Modem Dire Wolf User GuideAPRS Packet Modem Dire Wolf User Guide
APRS Packet Modem Dire Wolf User Guide
 
Curso Radioamador Voluntário da Defesa Civil - PARANÁ
Curso Radioamador Voluntário da Defesa Civil - PARANÁCurso Radioamador Voluntário da Defesa Civil - PARANÁ
Curso Radioamador Voluntário da Defesa Civil - PARANÁ
 
Antena WG - 40/160 metros - Total 20 Metros
Antena WG - 40/160 metros - Total 20 MetrosAntena WG - 40/160 metros - Total 20 Metros
Antena WG - 40/160 metros - Total 20 Metros
 
Análise Criminal - SENASP - Versão Atualizada 2016
Análise Criminal - SENASP - Versão Atualizada 2016Análise Criminal - SENASP - Versão Atualizada 2016
Análise Criminal - SENASP - Versão Atualizada 2016
 
Manual Baofeng BF-V85 pt-br
Manual Baofeng BF-V85 pt-brManual Baofeng BF-V85 pt-br
Manual Baofeng BF-V85 pt-br
 
Manual UV-5R Baofeng Pofung PT-BR
Manual UV-5R Baofeng Pofung PT-BRManual UV-5R Baofeng Pofung PT-BR
Manual UV-5R Baofeng Pofung PT-BR
 

Último

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

Raspberry PI iGate with TNC Direwolf Soundmodem

  • 1. Raspberry Pi SDR IGate Last update 11/9/2015 7/3/2016 – Added note about /etc/modprobe.d/raspi-blacklist.conf. 9/22/2016 – Clarify IGate server rotate addresses. It’s easy to build a receive-only APRS Internet Gateway (IGate) with only a Raspberry Pi and a software defined radio (RTL-SDR) dongle. Here’s how. Hardware Required  Raspberry Pi I happened to use the model 2 so I can’t say, with certainty that the earlier models would be fast enough to keep up. “top” shows about 93% cpu idle time so the older models are probably more than adequate. The procedure here is known to work with the Raspbian operating system. Some adjustments might be required for other operating systems.  SDR Dongle This connects to the USB port and an antenna. This is the one I used. http://www.amazon.com/NooElec-RTL-SDR-RTL2832U-Software-Packages/dp/B008S7AVTC There are many others that appear to be equivalent such as https://www.adafruit.com/products/1497 Software Required  Dire Wolf Install following the instructions in Raspberry-Pi-APRS.pdf. You can stop at the section called Interface for Radio. Here we are using the SDR dongle rather than a USB audio adapter. Don’t worry about the configuration part because we will build our own configuration file here.  RTL-SDR Library from http://sdr.osmocom.org/trac/wiki/rtl-sdr
  • 2. Install it like this: sudo apt-get update sudo apt-get install cmake build-essential libusb-1.0-0-dev cd ~ git clone git://git.osmocom.org/rtl-sdr.git cd rtl-sdr mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON make sudo make install sudo ldconfig I didn’t find it to be necessary, with the software version I was using, but community feedback suggests adding the following to /etc/modprobe.d/raspi-blacklist.conf to prevent the use of undesired device drivers. blacklist dvb_usb_rtl28xxu blacklist dvb_usb_v2 blacklist rtl_2830 blacklist rtl_2832 blacklist r820t Configuration We need to construct a configuration file for Dire Wolf. Take the following text and put it into a text file, called sdr.conf, in our home directory. You might find a copy of this file in /usr/share/doc/direwolf/examples. # # Sample configuration for SDR read-only IGate. # # We might not have an audio output device so set to null. # We will override the input half on the command line. ADEVICE null null CHANNEL 0 # Put your callsign in place of xxx below. MYCALL xxx # Pick appropriate servers for your geographical region. # # noam.aprs2.net - for North America # soam.aprs2.net - for South America # euro.aprs2.net - for Europe and Africa # asia.aprs2.net - for Asia # aunz.aprs2.net - for Oceania #
  • 3. # Change the following line if you are not in North America. IGSERVER noam.aprs2.net # You also need to specify your login name and passcode. # This is the same passcode you would use with any other IGate # application. Contact the author if you can't figure out # how to generate the passcode. IGLOGIN xxx 123456 # That's all you need for a receive only IGate which relays # messages from the local radio channel to the global servers. Put your callsign and optional SSID in the two places that have xxx above. Put your actual passcode in place of 123456. Choosing the IGate Server Which server should you use? The current preferred way is to use one of these regional rotate addresses:  noam.aprs2.net - for North America  soam.aprs2.net - for South America  euro.aprs2.net - for Europe and Africa  asia.aprs2.net - for Asia  aunz.aprs2.net - for Oceania Each name has multiple addresses corresponding to the various servers available in that region. Why not just specify the name of one specific server? This approach offers several advantages:  Simplicity – You don’t need to change your configuration as new servers become available or disappear.  Resilience – If your current server becomes unavailable, another one will be found automatically.  Load balancing – Picking one at random helps to spread out the load. Visit http://aprs2.net/ for the most recent information. Run It rtl_fm -f 144.39M - | direwolf -c sdr.conf -r 24000 -D 1 - Note the “-“ at the end of the line which means read audio from stdin. Alternatively this could have been done in the configuration file, using either of these forms:
  • 4. ADEVICE stdin null ADEVICE - null You should now have a functioning receive only IGate. Consult the User Guide for more details. Automatic Startup on Reboot You might be tempted to put the command line above into /etc/rc.local. It’s not that simple and there are some disadvantages. First, it runs as root. It’s best to avoid running as root, when possible, because it’s harder to accidentally trash your system. When /etc/rc.local is running, $PATH is set to /sbin:/usr/sbin:/bin:/usr/bin so it wouldn’t find anything in /usr/local/bin. You would need to specify the full path. The current working directory and $HOME are both / so you would need to put the configuration file there or specify a different location. The text output, for troubleshooting, is not readily available. Finally, it there is a failure, it won’t restart until the next reboot. My suggestion would be to modify the included dw_start.sh script so that it also runs rtl_fm. Look for this line and remove the # at the beginning. #DWCMD="bash -c 'rtl_fm -f 144.39M - | direwolf -c sdr.conf -r 24000 -D 1 -'" Run “crontab –e” to edit your crontab file. Assuming that you are running as user “pi” and you have a copy of dw-start.sh in the home directory, add a line like this: * * * * * /home/pi/dw-start.sh >/dev/null 2>&1 This script will run once per minute. Dire Wolf is started automatically if not running already. If it crashes, or is terminated for any other reason, it will be restarted. A log of restarts can be found in /tmp/dw-start.log. Calibration The cheap RTL SDR dongles might be a few kHz off and drift even more with temperature variations. In one test, I found that it worked best when I specified a frequency 8 kHz lower than the desired frequency. For best results you will want to calibrate them using a nearby station of known frequency. Here is a script that will perform calibration periodically: https://github.com/khaytsus/direwolf-init