documentation:radio2pi_workshop_content
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
documentation:radio2pi_workshop_content [2023/09/07 21:46] – [RTL-SDR] pnode | documentation:radio2pi_workshop_content [2024/01/09 10:07] (current) – removed pnode | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Radio2pi Workshop content ====== | ||
- | ---- | ||
- | |||
- | ===== Radio2pi toolbox ===== | ||
- | |||
- | A general workshop on radio broadcast with a pibox, that deconstructs all the tools used for the pibox, that can be of help to build another architecture, | ||
- | |||
- | ==== SUMMARY ==== | ||
- | |||
- | < | ||
- | 2 PI_FM_RDS | ||
- | 3 Fm_Transmitter | ||
- | 4 Rpitx | ||
- | 5 Gqrx | ||
- | 6 Rtl-Sdr | ||
- | 7 websdr | ||
- | 8 Espeak | ||
- | 9 Minimodem | ||
- | 10 DUMP1090 | ||
- | 11 How to construct a playlist in bash, to broadcast through Raspberry-PI | ||
- | 12 How to use the input on a usb soundcard to broadcast radio : | ||
- | 13 create a stream with cat | ||
- | 14 usefull tool for streaming</ | ||
- | ===== installation of Raspbian system on R-pi ===== | ||
- | |||
- | ==== start from scratch ==== | ||
- | |||
- | Step 1: Install Raspbian system on the SDcard download the image on your computer https:// | ||
- | |||
- | Step 2 : connect to Raspberry on the same network introduce the SD card in the Raspberry pi connect ethernet cable then plug power To connect to Raspberry on the same network : Search devices connected to network on port 22 (default port for SSH connection) on macOSX : $ ifconfig You will get your network ip, ex. 192.168.1 | ||
- | |||
- | Then with ' | ||
- | |||
- | < | ||
- | Then, find your Raspberry Pi ip on the nmap result and connect to your Raspberry on ssh for example : | ||
- | |||
- | < | ||
- | Step 3. raspi-config, | ||
- | |||
- | < | ||
- | Recommended 1. change passwd (optional) 2. international > language, timezone 3. verify boot option B1 console user login | ||
- | |||
- | then update the system (1 mn) | ||
- | |||
- | < | ||
- | and upgrade the system (can last a few minutes) | ||
- | |||
- | < | ||
- | step 4. LIBRAIRIES install utilitaries: | ||
- | |||
- | < | ||
- | to see the documentation of each library: | ||
- | |||
- | < | ||
- | $ man libav-tools ...</ | ||
- | ===== PI_FM_RDS ===== | ||
- | |||
- | installation & test PiFmRds, explore the fonctions, test with a track mp3, wav, with a stream, listening on several frequencies (limit : 88 to 108 Mhz) | ||
- | |||
- | Step 1: Download PiFmRDS : | ||
- | |||
- | < | ||
- | $ cd / | ||
- | $ wget https:// | ||
- | $ unzip master.zip | ||
- | $ cd PiFmRds-master/ | ||
- | $ sudo make clean | ||
- | $ sudo make</ | ||
- | try pifm_rds | ||
- | |||
- | < | ||
- | try a stream for ex. http:// | ||
- | |||
- | < | ||
- | Step 3: Copy a file from your harddrive to play it | ||
- | |||
- | using scp | ||
- | |||
- | check manual | ||
- | |||
- | < | ||
- | basic syntax : | ||
- | |||
- | from your computer (open a new terminal): | ||
- | |||
- | the structure is : $ scp filepath user@ip:/ | ||
- | |||
- | example: | ||
- | |||
- | < | ||
- | be cautious when using it => it as it may erase files ! | ||
- | |||
- | then from the pi terminal | ||
- | |||
- | < | ||
- | About RDS broadcasting: | ||
- | |||
- | == FM_Transmitter == | ||
- | |||
- | Step 1: installation and test with fm_transmitter | ||
- | |||
- | < | ||
- | $ sudo apt-get install make gcc g++ | ||
- | $ wget https:// | ||
- | $ unzip master.zip | ||
- | $ cd fm_transmitter-master | ||
- | $ make</ | ||
- | Step 2 : try | ||
- | |||
- | < | ||
- | from a stream read by avconv | ||
- | |||
- | < | ||
- | $ avconv -i http:// | ||
- | FM Transmitter is more stable than PiFmRds, for streams broadcasting. There is a lot of others softwares like these ones. Let see an other one : | ||
- | |||
- | ===== RPITX ===== | ||
- | |||
- | installation and test rpitx | ||
- | |||
- | RPITX is able to broadcast on sstv, am fm etc .. from 130 kHz to 750 MHz. documentation : https:// | ||
- | |||
- | coderequisite : libsndfile1-dev (already installed before) | ||
- | |||
- | install git | ||
- | |||
- | < | ||
- | then install ritpx | ||
- | |||
- | < | ||
- | |||
- | $ git clone https:// | ||
- | |||
- | $ cd rpitx | ||
- | |||
- | $ ./ | ||
- | test riptx | ||
- | |||
- | FSQ mode | ||
- | |||
- | < | ||
- | |||
- | $ sudo text fsq => change (nano testfsq.sh repalce test with helloworld for ex.)</ | ||
- | FM Mode broadcast on 108 | ||
- | |||
- | < | ||
- | AM Mode | ||
- | |||
- | < | ||
- | etc ... | ||
- | |||
- | ===== GQRX ===== | ||
- | |||
- | http:// | ||
- | |||
- | instlall Demo gqrx on Linux and on MacOSX > 10.9 and Raspbian or sdr# on Windows | ||
- | |||
- | or for MacosX <10.9 install RTL SDR https:// | ||
- | |||
- | test codecise frequency listening (talkie walkie, radio, strange signals..). | ||
- | |||
- | test GQRX for a frequencis hunting! | ||
- | |||
- | Airband Radio London Control Frequencies 118.050 > 136.600 [http:// | ||
- | |||
- | London Center Radio Frequencies http:// | ||
- | |||
- | Citizen band list & more http:// | ||
- | |||
- | ===== RTL-SDR ===== | ||
- | |||
- | download & installation of rtlsdr on raspbian. interception piFM via rtlsdr. | ||
- | |||
- | installation packets rtl-sdr | ||
- | |||
- | // doc http:// | ||
- | |||
- | | ||
- | $ sudo apt-get install rtl-sdr | ||
- | |||
- | blacklist the module to make it work | ||
- | |||
- | < | ||
- | add on the file content: | ||
- | |||
- | < | ||
- | | ||
- | | ||
- | | ||
- | </ | ||
- | then | ||
- | |||
- | < | ||
- | test listen FM band radio on various frequencies | ||
- | |||
- | for example | ||
- | |||
- | < | ||
- | $ rtl_fm -f 89100000 -M wbfm -r 48000 - | aplay -r 48k -f S16_LE | ||
- | </ | ||
- | or | ||
- | |||
- | < | ||
- | $ rtl_fm -f 94900000 -M wbfm -r 48000 - | aplay -r 48k -f S16_LE | ||
- | </ | ||
- | use rtl_fm to catch minimodem | ||
- | |||
- | < | ||
- | $ rtl_fm -f 108e6 -M wbfm -s 352k -A fast -r 44.1k -l 0 -E deemp | AUDIODEV=hw: | ||
- | </ | ||
- | |||
- | ===== websdr ===== | ||
- | |||
- | http:// | ||
- | |||
- | WebSDR at the University of Twente, Enschede, NL http:// | ||
- | |||
- | ===== ESPEAK ===== | ||
- | |||
- | installation | ||
- | |||
- | < | ||
- | you can check manual : | ||
- | |||
- | < | ||
- | first test: | ||
- | |||
- | < | ||
- | change pitch : | ||
- | |||
- | < | ||
- | broadcast voice on radio : | ||
- | |||
- | < | ||
- | == MINIMODEM == | ||
- | |||
- | installation minimodem | ||
- | |||
- | < | ||
- | you can check manual : | ||
- | |||
- | < | ||
- | you have two configurations : | ||
- | |||
- | Tx => to transmit | ||
- | |||
- | Rx => to receive | ||
- | |||
- | first test (transmit): | ||
- | |||
- | < | ||
- | if it doesn' | ||
- | |||
- | < | ||
- | write ouput to a .wav file to transmit : | ||
- | |||
- | < | ||
- | listen the file you just wrote : | ||
- | |||
- | < | ||
- | decode sound with microphone connected to the sound card (the --tx and --rx must be the same value) : | ||
- | |||
- | < | ||
- | Broadcasting minimodem : | ||
- | |||
- | to broacast on radio using ' | ||
- | |||
- | play in loop | ||
- | |||
- | < | ||
- | play once | ||
- | |||
- | < | ||
- | decode | ||
- | |||
- | with rtl-sdr piped to sox piped to minimodem, structure is: rtlsdr > sox > minimodem --rx 100 on 108MHzFM | ||
- | |||
- | examples: | ||
- | |||
- | < | ||
- | < | ||
- | < | ||
- | == DUMP1090 == | ||
- | |||
- | Installation of cmake & lib-usb : | ||
- | |||
- | < | ||
- | |||
- | $ sudo apt-get install libusb-1.0-0-dev</ | ||
- | sources downloading and installation of RTL2883U : | ||
- | |||
- | < | ||
- | $ cd rtl-sdr | ||
- | $ mkdir build | ||
- | $ cd build | ||
- | $ cmake ../ -DINSTALL_UDEV_RULES=ON | ||
- | $ make | ||
- | $ sudo make install | ||
- | $ sudo ldconfig</ | ||
- | sources downloading and installation of the application dump1090 : | ||
- | |||
- | < | ||
- | $ cd Downloads | ||
- | $ wget https:// | ||
- | $ unzip master.zip | ||
- | $ cd dump1090-master/ | ||
- | $ make</ | ||
- | Run. : | ||
- | |||
- | < | ||
- | here you can see the flights transiting | ||
- | |||
- | check : http:// | ||
- | |||
- | same command | ||
- | |||
- | < | ||
- | then launch on chromium http:// | ||
- | |||
- | COULOIR AÉRIEN by Cécile Babiole http:// | ||
- | |||
- | How to construct a playlist in bash, to broadcast through Raspberry-PI | ||
- | |||
- | codepare a folder with music, such as '/ | ||
- | |||
- | nano = text editor | ||
- | |||
- | < | ||
- | $ man nano </ | ||
- | edit a bash file that will be our program for radio playlist | ||
- | |||
- | < | ||
- | GNU nano 2.2.6 | ||
- | |||
- | File: / | ||
- | |||
- | < | ||
- | do | ||
- | while read plst | ||
- | do | ||
- | echo " | ||
- | | ||
- | done < <(ls / | ||
- | | ||
- | when script is done | ||
- | |||
- | modification of the rc.local file insert bash program for execution at startup and insert some comment | ||
- | |||
- | GNU nano 2.2.6<br /> | ||
- | File: / | ||
- | |||
- | < | ||
- | # | ||
- | # rc.local | ||
- | # | ||
- | # This script is executed at the end of each multiuser runlevel. | ||
- | # Make sure that the script will "exit 0" on success or any other | ||
- | # value on error. | ||
- | # | ||
- | # In order to enable or disable this script just change the execution | ||
- | # bits. | ||
- | # | ||
- | # By default this script does nothing. | ||
- | |||
- | # Print the IP address | ||
- | | ||
- | if [ " | ||
- | | ||
- | fi | ||
- | |||
- | # this is a script of a radio broadcast playlist that be executed at boot | ||
- | / | ||
- | |||
- | exit 0</ | ||
- | How to use the input on a usb soundcard to broadcast radio : | ||
- | |||
- | First : plug your card To see if your device is recognized : | ||
- | |||
- | < | ||
- | < | ||
- | < | ||
- | |||
- | List of CAPTURE Hardware Devices **** | ||
- | |||
- | card 1: Set [C-Media USB Headphone Set], device 0: USB Audio [USB Audio] | ||
- | |||
- | | ||
- | | ||
- | What is interresting here is : 'card 1' ' | ||
- | |||
- | So to broadcast : | ||
- | |||
- | < | ||
- | To see some devices compatible with Rasperry PI / Raspbian : http:// | ||
- | |||
- | create a stream with cat | ||
- | |||
- | coderequisite : be on the same network select a wav file on your computer and stream the file on a distant computer by using the following command structure : $ cat path/ | ||
- | |||
- | example : | ||
- | |||
- | < | ||
- | on mac netcat = nc | ||
- | |||
- | then listen to it on the computer | ||
- | |||
- | < | ||
- | With fm_transmitter we need only one channel : | ||
- | |||
- | < | ||
- | OK with pifmrds : | ||
- | |||
- | < | ||
- | ===== usefull tool for streaming ===== | ||
- | |||
- | icecast2 (server) http:// |
documentation/radio2pi_workshop_content.1694115970.txt.gz · Last modified: 2023/09/07 21:46 by pnode