Sunday, December 23, 2018
JNOS2 and Ubuntu Virtual Box
I'm running Ubuntu 18.04.1 LTS in an Oracle Virtualbox with a bridged network adapter on a Windows 10 laptop. I've got my Yaesu FT-857D and Signalink usb connections shared with the VM. I'm thinking I need to use Direwolf. However my Kenwood TH-D74a has a built in KISS TNC and was super easy to access in Linux.
To get JNOS2 to work, I thought I'd be able to just follow the instructions listed on the webpages. Unfortunately this did not work for me.
When I downloaded and extracted the tar file and tried to run the installer, a message saying the file or directory doesn't exist. This seems to indicate that prerequisite libraries aren't installed. Eventually I discovered these needed to be installed:
sudo apt-get install libncurses5-dev
sudo apt-get install libssl-dev
I then received messages like in this thread: http://lists.tapr.org/pipermail/nos-bbs_lists.tapr.org/2018-July/005312.html
To resolve this, I downloaded this:
wget https://www.langelaar.net/jnos2/archive/news/tun_sp2l.c
cp tun_sp2l.c <src directory>/tun.c
Running the make command was finally successful. The JNOS installer ran successful.
Tuesday, July 17, 2018
Private Cloud
My next project is building a private cloud to see if I can take my OpenGIS project up a notch or two in order to support field deployable networks.
Existing Hardware:
New Hardware:
Existing Hardware:
- Gigabit Switch
- Linksys WRT1900AC running OpenWRT
- Various ODroid C2 and Raspberry PI computers
New Hardware:
- Supermicro SYS-E300-8D Intel Xeon D-1518, Dual 10G SFP+, 6 GbE LAN, IPMI, Mini Server
- Samsung 860 EVO 500GB 2.5 Inch SATA III Internal SSD (MZ-76E500B/AM)
- Crucial Ram 32 GB DDR4-2666 RDIMM
Future Hardware (whenever I find more $)
- 10GB SFP
- Fiber
- NAS for storage
- Ram and Storage Upgrades
Software:
With any luck, I'll be able to build out Zones/Containers/Virtual Machines to support not only GIS servers, databases, and web app servers but also some servers to run ham radio apps like PAT and maybe be able to process IoT sensors streams.
Wednesday, October 4, 2017
AX25, ODroid, PAT Part 2
At first I tried the deb package both linux and armhf but ran into problems with each. Solution was to build from source.
Build from Source:
https://github.com/la5nta/pat/wiki/Building-from-source
sudo apt-get install golang-go export GOPATH=`pwd`
Attempts at using go to do the install failed.
Success. Now edit the config:
I set the serial-tc path to: /dev/ttyACM0
Not sure if this will work yet though.
Next blog post...try to send an email P2P.
73
git clone https://github.com/la5nta/pat $GOPATH/src/github.com/la5nta/pat cd $GOPATH/src/github.com/la5nta/pat git submodule update --init --recursive ./make.bash libax25 ./make.bash sudo cp pat /usr/local/bin
Success. Now edit the config:
vi /home/odroid/.wl2k/config.json
Enter your callsign, winlink password, locator, etc.
I set the serial-tc path to: /dev/ttyACM0
Not sure if this will work yet though.
Run the web client with:
pat http
Next blog post...try to send an email P2P.
73
Tuesday, October 3, 2017
AX25,ODroid and PAT/Winlink
Considering what has been happening in Puerto Rico with Hurricane Maria, I decided I need to get Winlink operational so I can send email over radio. Since I prefer Linux, I started exploring options and found PAT, http://getpat.io/, a cross-platform Winlink client.
Goal: Get the Kenwood TH-D74A built in KISS TNC to send Winlink email using the PAT client on Ubuntu 16.04 on a 64Bit ODroid C2
Make sure the TH-D74A has the most recent firmware.
On Kenwood TH-D74A, go to:
Menu > Configuration > Interface > KISS > USB or Bluetooth. I chose USB.
Instructions:
https://github.com/la5nta/pat/wiki/AX25-Linux
Power on the TH-D74 and plug usb cable into it and the ODroid C2.
On the ODroid C2, use 'dmesg' to find the device name: /dev/ttyACM0
Modify /etc/ax25/axports
Here is where problems begin:
I received messages indicating modprobe cannot find the necessary modules.
https://github.com/umiddelb/armhf/wiki/How-To-compile-a-custom-Linux-kernel-for-your-ARM-device
Verify your kernel version with:
My ODroid say 3.14.79-97
Install the prerequisite software and start the process.
Make sure to run this:
After completing this step, I decided to make an image of the ODroid OS as a backup in case I screwed something up badly. To do this, I shutdown the ODroid, ejected the SD Card and put it into a card reader on my Windows 10 computer. I used Win32Disk Imager to make img files of both the main volume and the boot volume.
After making the backup, I loaded the SD card back into the ODroid, booted up, and continued the kernel build process.
Scroll to Networking and make sure AX 25 Ham Radio components are selected.
Complete the rest of the process.
Summary
After running this the first time and rebooting, I check the kernel version which appears to have been changed.
However no luck with AX25 module.
Turns out that in the "Menuconfig" step, those flagged with "*" need further selections. I need to redo entire process. Thanks to: http://www.tldp.org/HOWTO/AX25-HOWTO/x144.html
This time I made sure to go into each AX25 category and select the appropriate modules. They should be indicated with "M"
This time things went smoother. These commands worked without any errors:
That's it for now. In another post, I'll document steps taken to test the connection and will try to send an email.
Goal: Get the Kenwood TH-D74A built in KISS TNC to send Winlink email using the PAT client on Ubuntu 16.04 on a 64Bit ODroid C2
Make sure the TH-D74A has the most recent firmware.
On Kenwood TH-D74A, go to:
Menu > Configuration > Interface > KISS > USB or Bluetooth. I chose USB.
Instructions:
https://github.com/la5nta/pat/wiki/AX25-Linux
Power on the TH-D74 and plug usb cable into it and the ODroid C2.
On the ODroid C2, use 'dmesg' to find the device name: /dev/ttyACM0
sudo apt-get update && upgrade -y
sudo apt-get install ax25-tools
Modify /etc/ax25/axports
sudo apt-get install ax25-apps
Here is where problems begin:
sudo modprobe ax25 sudo modprobe mkiss
I received messages indicating modprobe cannot find the necessary modules.
Solution
Build a custom kernelhttps://github.com/umiddelb/armhf/wiki/How-To-compile-a-custom-Linux-kernel-for-your-ARM-device
Verify your kernel version with:
uname -r
My ODroid say 3.14.79-97
Install the prerequisite software and start the process.
Make sure to run this:
make menuconfig
After completing this step, I decided to make an image of the ODroid OS as a backup in case I screwed something up badly. To do this, I shutdown the ODroid, ejected the SD Card and put it into a card reader on my Windows 10 computer. I used Win32Disk Imager to make img files of both the main volume and the boot volume.
After making the backup, I loaded the SD card back into the ODroid, booted up, and continued the kernel build process.
Scroll to Networking and make sure AX 25 Ham Radio components are selected.
Complete the rest of the process.
Summary
$ git clone --depth 1 --single-branch -b odroidc2-3.14.y https://github.com/hardkernel/linux $ cd linux $ make odroidc2_defconfig $ make menuconfig ##Enable the AX25/Ham Radio Components $ make savedefconfig $ make -j 4 Image dtbs modules $ sudo cp arch/arm64/boot/Image arch/arm64/boot/dts/meson64_odroidc2.dtb /media/boot $ sudo make modules_install $ sudo make firmware_install $ sudo make headers_install INSTALL_HDR_PATH=/usr $ kver=`make kernelrelease` $ sudo cp .config /boot/config-${kver} $ cd /boot $ sudo update-initramfs -c -k ${kver} $ sudo mkimage -A arm64 -O linux -T ramdisk -a 0x0 -e 0x0 -n initrd.img-${kver} -d initrd.img-${kver} uInitrd-${kver} $ sudo cp uInitrd-${kver} /media/boot/uInitrd
After running this the first time and rebooting, I check the kernel version which appears to have been changed.
However no luck with AX25 module.
Turns out that in the "Menuconfig" step, those flagged with "*" need further selections. I need to redo entire process. Thanks to: http://www.tldp.org/HOWTO/AX25-HOWTO/x144.html
This time I made sure to go into each AX25 category and select the appropriate modules. They should be indicated with "M"
This time things went smoother. These commands worked without any errors:
sudo modprobe ax25
sudo modprobe mkiss
That's it for now. In another post, I'll document steps taken to test the connection and will try to send an email.
Saturday, April 22, 2017
Key Elements
Here is a shell script to receive APRS packet audio through the microphone input:
Here is a shell script to receive APRS packets from a RTL-2832 TV Tuner:
aprs_parser.py is a script I wrote to decode the APRS packets and insert into the PostgreSQL/PostGIS database. I'll post it when I clean the code up. It uses SQLAlchemy, Geoalchemy2, and aprslib Python modules.
The PostgresSQL/PostGIS database needs to have a geometry column with spatial reference id of 4326 (aka WGS_1984).
arecord -f S16_LE -c 1 -r 48000 -D hw:CARD=Device,DEV=0 - |sox -t raw -esigned-integer -b16 -r 48000 - -esigned-integer -b16 -r 22050 -t raw - | multimon-ng -q -v 10 -t raw -A - | python aprs_parser.py
Here is a shell script to receive APRS packets from a RTL-2832 TV Tuner:
rtl_fm -f 144.390M -s 22050 - | multimon-ng -q -v 10 -t raw -A - | python aprs_parser.py
aprs_parser.py is a script I wrote to decode the APRS packets and insert into the PostgreSQL/PostGIS database. I'll post it when I clean the code up. It uses SQLAlchemy, Geoalchemy2, and aprslib Python modules.
The PostgresSQL/PostGIS database needs to have a geometry column with spatial reference id of 4326 (aka WGS_1984).
Thursday, February 9, 2017
Interoperability Conference 2017
Open GIS Server with Raspberry Pi and Radio
Presentation Slides
This was a side project I worked on at night to see if I could run a geographic information system (GIS) that could support both traditional desktop application and modern web mapping applications (server/client). The Raspberry Pi is used to listen for and capture digital data containing location information and insert it into the GIS database.
The goal of this was to get audience members thinking about GIS and how it might be useful or could be applied in the radio/communication community.
I hope to publish a build log as well as the code I wrote to handle the database insertion.
73,
KE8CRV
Presentation Slides
This was a side project I worked on at night to see if I could run a geographic information system (GIS) that could support both traditional desktop application and modern web mapping applications (server/client). The Raspberry Pi is used to listen for and capture digital data containing location information and insert it into the GIS database.
The goal of this was to get audience members thinking about GIS and how it might be useful or could be applied in the radio/communication community.
I hope to publish a build log as well as the code I wrote to handle the database insertion.
73,
KE8CRV
Wednesday, February 8, 2017
GIS Data Sources
Finding sources of GIS data can be frustrating for several reasons:
Here are some useful links and the types of layers that can be found.
- Many formats and coordinate systems
- Lack of metadata
- Data has not been updated
- Restrictions that prevent sharing
Here are some useful links and the types of layers that can be found.
State of Michigan
http://gis.michigan.opendata.arcgis.com/
http://gis.michigan.opendata.arcgis.com/
- All Roads
- Boundaries
- Rivers and Lakes
- Imagery
- Elevation Data
Federal Government
https://hifld-dhs-gii.opendata.arcgis.com/
https://hifld-dhs-gii.opendata.arcgis.com/
- Hospitals
- FEMA Regions
- Communication Towers
- Topo Maps
https://earthexplorer.usgs.gov/
City or County
- Imagery
- Historical Imagery
- Elevation
- Population
City or County
Check with the County or City websites for GIS data.
- Parcel data
Open Street Map
http://wiki.openstreetmap.org/wiki/Downloading_data
http://wiki.openstreetmap.org/wiki/Downloading_data
- Basemap: Lots of data. May be better off using Natural Earth Data sets instead
Natural Earth Data
- Basemaps
US National Grid (USNG)
http://usngcenter.org/fema-region-5/
http://usngcenter.org/fema-region-5/
UTM Zones
http://earth-info.nga.mil/GandG/coordsys/grids/universal_grid_system.html
American Red Cross National Shelter System (NSS)
https://gis.fema.gov/REST/services/NSS/FEMA_NSS/MapServer
Geocoding
https://geocoding.geo.census.gov/geocoder
https://geoservices.tamu.edu/
http://earth-info.nga.mil/GandG/coordsys/grids/universal_grid_system.html
American Red Cross National Shelter System (NSS)
https://gis.fema.gov/REST/services/NSS/FEMA_NSS/MapServer
Geocoding
https://geocoding.geo.census.gov/geocoder
https://geoservices.tamu.edu/
What other types of data should be included in an offline GIS? Let me know in the comments section.
Subscribe to:
Posts (Atom)
