documentation:radio2pi_workshop_content
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| documentation:radio2pi_workshop_content [2023/09/07 21:46] – [SUMMARY] 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, | ||
| - | |||
| - | |||
| - | ===== 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.1694115999.txt.gz · Last modified: 2023/09/07 21:46 by pnode