Как всегда, стянул на "всякий случай", если вдруг...
Home
Olivier SCHMITT edited this pageon Nov 15, 2020·2 revisions
Welcome to the Universal_HamRadio_Remote_HTML5 wiki!
Universal remote user interface for radio amateurs. It is an implementation of a server written in python 3 and an interface combining JavaScript and the new HTML5 functions. This web interface allows you to use your TRX both for reception and transmission. You can use the basic functions and some advanced functions of your radio. You use your computer's speaker and microphone to communicate. This project is more oriented for voice and soon will influence CW functions.
At first, conceived as a proof of concept, it was in a few weeks that it aroused the interest of several thousand internet users, newspapers and YouTube channels. We have seen similar solutions (albeit expensive and closed) before, for example the MFJ-1234 or other products of the biggest brands, but it is always refreshing to see the open source community tackle a problem and get it wrong. appropriate. We can't wait to see where this project goes!
F4HTB, anxious to give new perspectives to those who suffer from urban QRM problems or simply from lack of space, it is harnessed to provide a tool accordingly, while taking up for it the basic ideology of amateur radio "the experiment ”In the format of“ informatics ”. He deplores all the same that, at a time when relay networks are being built via the Internet, this type of use is still not authorized and officially supervised in France. It would probably be possible to declare this type of station as a relay?
At the time of writing this article, there are many requests for additional features. Thus a system allowing authentication on the main page was implemented at the request of an American club in order to deploy it in their club. Also a panadapter type interface where we find watterfall and spectrogram is in development. In the list of things to do, there is in particular the addition of an interface to control the rotors, the addition of the PTT via the GPIOs of the raspberry pi,
The tool is functional on most HTML5 compatible browsers but its "real time" aspect seems to give some problems to some tablets and smartphones where these new HTML5 technologies are still suffering from their youth. F4HTB confirms this, although widely usable, it is not currently optimized for these devices.
This tool will maybe soon complement the HAMPI project, which consists of providing a preinstalled image of an amateur radio software suite on raspberry pi.
Example of complete installation
Olivier SCHMITT edited this page on Oct 29, 2021 · 1 revision
1.Preparing the SD card
a.Put your SD card in your reader and plug this into a usb port
b.Download and install raspberry pi card management software
c.## Install the base lite image Follow the illustrations to install the base lite image:
d.1.ssh activation
Disconnect and reconnect your usb sd card reader Go to windows explorer Click on the drive named "boot" In the list of files on the right, right click somewhere in the white. Click on "new" then "text document". Rename it to "ssh" and be sure to remove the ".txt" extensions.
d.2.Optional wifi configuration
Disconnect and reconnect your usb sd card reader Go to windows explorer Click on the drive named "boot" In the list of files on the right, right click somewhere in the white. Click on "new" then "text document". Rename it to "wpa_supplicant.conf" and be sure to remove the ".txt" extensions.
edit the file and add your wpa configuration like:
Insert the sd card into your raspberry pi. Connect your CAT interface, your sound card. (Optional) Eventually connect your rtl sdr dongle to have the IF. Connect your network interface.(The wifi is not recommended because it introduces problems related to itself. If you are good, you can use it anyway)
f.Connect in ssh
Wait a minute or two for the raspberry pi to boot up and perform these power-on routines. Si vous êtes sous windows, utiliser le logiciel putty:
If you have a "Putty Security Alert" window click "yes".
A black window will open. On the line "login as:" put "pi" On the line "pi@raspberrypi.local's password:" put "raspberry" (Warning, it is normal that nothing is displayed on the password line, in fact your password is hidden for discretion)
You should then see this:
2.Software installation
a.Software prérequises installation
Put the following command lines:(you can copy paste but don't forget to press the enter key at the end to validate the command)
This first command line will update your installation and restart. As soon as this is finished, you need to reconnect. After logging in, then continue with:
sudo apt-get install -y git python3 python3-pip python3-numpy python3-tornado python3-serial python3-pyaudio rtl-sdr
sudo pip3 install pyalsaaudio pam pyrtlsdr
sudo apt-get autoremove -y --purge python3-libhamlib2
sudo apt-get install -y autoconf automake libtool swig
cd ~/
git clone https://github.com/Hamlib/Hamlib.git
cd Hamlib/
./bootstrap
./configure --with-python-binding PYTHON=$(which python3)
make all && sudo make install && cd bindings && make && sudo make install && sudo ldconfig
sudo reboot
You have to reconnect for the next stage.
b.Clone the UHRR repo
cd ~/
git clone https://github.com/F4HTB/Universal_HamRadio_Remote_HTML5.git
c.Run the code
cd ~/Universal_HamRadio_Remote_HTML5
PYTHONPATH=/usr/local/lib/python3.7/site-packages:$PYTHONPATH ./UHRR
External medias resources
Olivier SCHMITT edited this page on Nov 19, 2020 · 1 revision
Olivier SCHMITT edited this page on Nov 19, 2020 · 1 revision
From Madspy:
Not sure if anyone else would find this useful but I have UHRR running behind Apache (with authentication). Here's what you need. Replace the proxy IP for your own Pi's address and the IP address in the auth section with whatever address space you want to access without authentication.
Password file can be created with htpasswd -c /var/www/html/.htpasswd-uhrr username
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyPass "/CTRX" "wss://192.168.9.35:8888/CTRX"
ProxyPass "/audioRX" "wss://192.168.9.35:8888/audioRX"
ProxyPass "/audioTX" "wss://192.168.9.35:8888/audioTX"
ProxyPass "/" "https://192.168.9.35:8888/"
ProxyPassReverse "/CTRX" "wss://192.168.9.35:8888/CTRX"
ProxyPassReverse "/audioRX" "wss://192.168.9.35:8888/audioRX"
ProxyPassReverse "/audioTX" "wss://192.168.9.35:8888/audioTX"
ProxyPassReverse "/" "https://192.168.9.35:8888/"
hardware requirements
Olivier SCHMITT edited this pageon Nov 15, 2020·6 revisions
Olivier SCHMITT edited this pageon Dec 6, 2020·5 revisions
05/12/2020: -add tcp nodelay on websockets
02/12/2020:
-add serials options
Before:
-Add panadapter based on the output FI of the radio and a RTLSDR key
-Add authantification mecanisme
Interface explainnation
Olivier SCHMITT edited this pageon Nov 15, 2020·2 revisions
Explanation interface
1.Power on/off : This button controls the connection or connection of the interface to the server. It is not a question of turning the radio on or off because this is managed automatically.
2.Frequency management: You can set the frequency you want. You can use the buttons or use the scroll of the mouse on one of the numbers. The requested frequency is sent but the displayed frequency remains synchronous with the set. So if a frequency is not accepted by the station, it will automatically revert to the last one it accepts.
3.Modulation mode: Allows the choice of modulation.
4.AF GAIN, as on a traditional station, allows you to manage the volume. When the volume is too high, it flashes.
5.RX volume: given the reception volume meter
6.MIC GAIN: you can adjust the gain of your microphone locally. This is to avoid saturating the remote station for example.
7.TX VOLUME: modulation level meter.
8.Audio signal in reception as in transmission.
9.Spectrum of audio in reception as in emission.
10.Receipt filters: You can choose different filters. LP for low pass. BP for band pass. BP click allows you to click in the spectrogram (red) where you want to apply the band pass filter. Custom allows you to forge a filter based on the specifications of the webaudio API.
11.Websocket state: allows you to view the different pipes where data is transmitted. wsTX is the socket for sending audio to the station. wsRX the one for the reception. wsCtrl is that of the CAT control.
12.The callsign that you put when accessing.
13.Access to the configuration page
14.Access to the panadapter page: The icon appears only when an RTLSDR device is connected and the interface is connected.
15.S-meter: allows you to view the S point in reception (yellow line). Allows you to view the squelch level (gray line).
16.Adjusting the squelch level.
17.Preselection of amateur radio bands.
18.Management of personal frequencies. Save to Save the frequency and mode. Delete to delete. Recall to call back.
19.PTT button.
20.PTT button but remains locked
21.Encode TX, you can check this if you chant to encode the tx flux. Optional and for testing.
22.A measure of the latency between your control currency and the server.
Note installations, tests etc... (orange pi zero, python 3.....)
Olivier SCHMITT edited this pageon Jun 23, 2023·1 revision
On armbian 21.08.1 buster 5.10.69
sudo apt-get update && sudo apt-get upgrade -y && sudo reboot
sudo apt-get install -y git python3 python3-pip python3-numpy python3-tornado python3-serial python3-pyaudio rtl-sdr
sudo apt-get install -y python3-setuptools python3-dev libasound2-dev
sudo pip3 install wheel
sudo pip3 install pyalsaaudio pam pyrtlsdr
sudo apt-get autoremove -y --purge python3-libhamlib2
sudo apt-get install -y autoconf automake libtool swig
cd ~/
git clone https://github.com/Hamlib/Hamlib.git
cd Hamlib/
./bootstrap
./configure --with-python-binding PYTHON=$(which python3)
make all && sudo make install && cd bindings && make && sudo make install && sudo ldconfig
sudo reboot
cd ~/
git clone https://github.com/F4HTB/Universal_HamRadio_Remote_HTML5.git
cd ~/Universal_HamRadio_Remote_HTML5
PYTHONPATH=/usr/local/lib/python3.7/site-packages:$PYTHONPATH ./UHRR
For armbian 21.08.1 Focal 5.10.60: Python is on 3.8 version and opus lib included in the project have some errors. I think i will remove the opus lib because this lib is not actualy maintained...
** Update note by EA1FID: 1.In order to fix the error python3: undefined symbol: opus_strerror, I installed the opus-tool package by doing sudo apt-get install opus-tools 2.In order to fix the ModuleNotFoundError: No module named 'Hamlib' error, I changed:
Of course path of python depend on python version.
Optional Authentification
Olivier SCHMITT edited this pageon Nov 15, 2020·2 revisions
Optional Authentification
This is legitimate and much requested. So I add a simple module allowing either to define login and password in a file, or to use the pam library of linux systems.
I used the PAM library because it opens up to several other modes. Linux users can add either local accounts on the raspberry pi, or different modules in their authentication system such as LDAP, CAS, Kerberos, MYSQL. This is more complicated but much more secure.
Authantification activation:
Go to the configuration page and adjust as you want:
SERVER Authentification type:
Defautl:leave blank. Leave blank for disable the authantification. FILE for file authentification. PAM for pam authentification. FILE PAM for use both.
FILE authantification:
When you use FILE authantification, you can set the file account:
SERVER database users file:
Defautl:UHRR_users.db You can set another location file.
It use your pam authentification system. For ad a user in local account without creat home directory etc...
adduser --no-create-home --system thecallsign
then enter the password etc...
For other, you can surch on internet as 'pam ldap on raspberry pi' or 'pam mysql installation' etc...
Panadapter
Olivier SCHMITT edited this pageon Nov 22, 2020·1 revision
If your transceiver has an IF output you can use an rtl_sdr key to view a panadapter. In this panadater you can -zoom with the mouse wheel. -Click in the spectrogram or the watterfall to change the frequency. ...to contiue
You can configure in the configuration page: -The sample rate -The gain of the key ..to contiue
The icon only appears if the server detects an rtl key at startup.
Here is what it looks like. Click on image to enlarge.
ToDo List
Olivier SCHMITT edited this pageon Nov 19, 2020·2 revisions
You are welcome to make proposals by git (in the issue for example)
add calc functions in css to adapt the interface to the size of the screen
write the procedure for the integration in hampi
add GPIOs for PTT?
tunneling compatible for exterior access
Olivier SCHMITT edited this pageon Dec 5, 2020·2 revisions
1.NGROCK
Go tohttps://dashboard.ngrok.com/
Create a free account.
Enter in your account.
On the top you will see the download links.
Download the package with wget like: