Simple streambox

Sur Raspberry pi première génération, juste une carte son USB, darkice , une connexion réseau et c'est tout…

Récupérer la dernière version de raspbian light 32 bit pour cette ancienne Raspberry

raspi-config pour mettre a jour

ouvrir le ssh pour ne plus connecter d'écran

tester le son avec une carte USB ultra simple

installer darkice

apt install darkice

configuration

echo "
/etc/darkice.cfg
[general]
duration = 0
bufferSecs = 1
reconnect = yes
[input]
device = hw:1,0 # pour carte USB
sampleRate = 44100
bitsPerSample = 16
channel = 1
[icecast2-0]
bitrateMode = abr
format = vorbis
bitrate = 64
server = parla.net
port = 8001
password = passquiva
mountPoint = streambox1.ogg
name = streambox1
description = flux de streambox1
url = http://parla.net:8001/streambox1.ogg # A changer si necessaire selon le DNS
genre = experimental
public = yes
" > /etc/darkice.cfg
# toute la gestion est dans rc.local , old scool...
echo "
sleep 5
dhclient eth0
sleep 3
sudo darkice 2>&1 > /tmp/darkice.log &
exit 0
" > /etc/rc.local

Le codage Ogg prend moins de ressource que celui en mp3…

Ensuite pour les modifications, il faudra monter la carte SD sur un PC et modifier directement le fichier ../etc/darkice.cfg

Option transmetteur radio FM pour petits tests

Avec un bout de fil sur la PIN 7 (4eme coté 1) ou pour le dipôle 7 et 9 (GND)

de : https://github.com/markondej/fm_transmitter en compilant le truc : fm_transmitter.tgz
avec le fichier test au cas zou acoustic_guitar_duet.wav

il y a aussi https://www.hackster.io/taifur/raspberry-pi-based-wireless-fm-microphone-9f2eeb avec une autre version

du coup le rc.local echo “ sleep 5 dhclient eth0 sleep 3 su root -c /usr/local/bin/stream.sh & exit 0 ” > /etc/rc.local </code> /usr/local/bin/stream.sh

#!/bin/sh -e # streambox.sh # # Transmetteur FM de fichier wav (22050Hz 16bit mono) # présent dans /home/pi/SONS # sinon # streaming Darkice de l'entrée microphone d'une carte son USB (1) FREQUENCE_FM=100 # #sleep 2 ##dhclient eth0 # normalement pas besoin? #ifconfig eth0 192.168.3.5 # pour acces reseau localement sleep 2 mkdir -p /home/pi/SONS cd /home/pi/SONS if [ -f darkice.cfg ]; then sudo darkice -c /home/pi/SONS/darkice.cfg 2>&1 > /tmp/darkice.log fi if [ -f frequence_FM ]; then FREQUENCE_FM=`cat frequence_FM` else echo -n "88" > frequence_FM FREQUENCE_FM=88 fi if [ "$FREQUENCE_FM" -lt "88" ] ; then FREQUENCE_FM=88; fi if [ "$FREQUENCE_FM" -gt "110" ] ; then FREQUENCE_FM=110; fi ls -1 *.wav > /dev/null RET=$? if [ $RET -eq "0" ] ; then while true do for i in `ls -1 *.wav` do sudo fm_transmitter -f $FREQUENCE_FM $i 2>&1 > /tmp/fmtransmitter.log done done fi sudo arecord -D plughw:1,0 -c 1 -d 0 -r 22050 -f S16_LE | sudo fm_transmitter -f $FREQUENCE_FM - 2>&1 > /tmp/fmtransmitter.log exit 0 #sudo /usr/src/fm_transmitter/fm_transmitter -f 88 -r /usr/src/fm_transmitter/acoustic_guitar_duet.wav 2>&1 > /tmp/aplay.log ## # # AUTRE et fin #dhclient eth0 exit 0

arecord -D plughw:1,0 -c 1 -d 0 -r 22050 -f S16_LE | sudo ./fm_transmitter -f 88 -

Fonctionne bien !
Avec un simple RSP A, les premières, j'ai capté en utilisant un fil-antenne de 64cm (88MHz) a plus de 100m !
4.5 % de CPU …

Longueur antenne filaire ou dipole:

88 MHz :

La longueur d'onde λ 3,407 m

La moitié de la longueur d'onde λ/2 1,703 m

Le quart de la longueur d'onde λ/4 0,852 m

La longueur totale de l'antenne dipôle L 1,66 m

La longueur de la jambe du dipôle l 0,83 m

100 MHz :

La longueur d'onde λ 2,998 m

La moitié de la longueur d'onde λ/2 1,499 m

Le quart de la longueur d'onde λ/4 0,749 m

La longueur totale de l'antenne dipôle L 1,46 m

La longueur de la jambe du dipôle l 0,73 m

110 MHz

La longueur d'onde λ 2,725 m

La moitié de la longueur d'onde λ/2 1,363 m

Le quart de la longueur d'onde λ/4 0,681 m

La longueur totale de l'antenne dipôle L 1,33 m

La longueur de la jambe du dipôle l 0,66 m

sinon Pistes:

https://github.com/IchigoDelphinium/PiFM une interface graphique de controle FM,

du coup beaucoup de dépendances graphiques, inutiles dans notre cas. Mais en ligne de commande camarche aussi.

arrivé de piperwireen service

probleme si pas une pi4 :(