TUTORIAL VERITABLE RADIO REVEIL RASPBERRY
@knarou - 12/2014 - fabrice@mounin.com
Construire un véritable radio réveil raspberry autonome.
Concept : "Avoir un radio réveil simple, autonome et intuitif"
La Présentation du Radio Réveil ici
Avant de commencer, vous devez comprendre ces termes, sinon passez votre chemin.
(ssh - adresse ip - gpio - raspbian - sdcard - wifi)
1 - PREPARATION DU SYSTEME
2 - CABLAGE
3 - LANCEMENT (VeritableRadioReveil.py)
4 - AMELIORATION
Ce programme est libre et vous pouvez en faire ce que vous voulez.
Si vous avez des nouvelles idées, n'hesitez pas à me les faire parvenir : fabrice@mounin.com
1 - PREPARATION DU SYSTEME
Il vous faut au minimum :
- Raspberry avec Port Ethernet
- Un chargeur microUSB
- Un cable RJ45
- Un ordi avec internet
Tout d'abord, une bonne raspbian dispo ici :
http://www.raspberrypi.org/downloads/
Je suis sur une Raspbian wheezy 2014-12-24 en version 3.12
On telecharge Win32 Disk Manager
http://sourceforge.net/projects/win32diskimager/?source=typ_redirect
On l'install et on le lance en mode Administrateur (clic droit sur le programme)
On selectionne le bon device (la lettre du lecteur sdcard)
On selectionne le fichier .img precedement decompréssé
Et on lance le write.
Dès que l'img est copié, vous pouvez mettre la sd dans votre raspberry.
1 Installation avec Ecran et Clavier, on pouvez suivre ce très bon tutorial.
http://raspbian-france.fr/installer-raspbian-premier-demarrage-configuration/
2 Instalation à distance sans ecran ni clavier, vous pouvez suivre ce très bon tutorial aussi.
http://jeyg.info/installer-raspbian-sur-raspberry-pi-sans-ecran-ni-clavier/
Normalement votre raspberry est maintenant installé et vous avez le clavier en FR, la partition agrandi et le ssh activé.
Si vous voulez eviter de faire un sudo avant chaque commande..
sudo -s
et hop, vous passez en mode root....(désolé, j'ai de trop mauvaises/vielles habitudes ;-)
On install la librairie GPIO - WiringPI pour controler les GPIOs
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
cd ..apt-get install python2.7-dev
apt-get install python-pip
pip install wiringpi2
On install la librairie SPI pour communiquer avec le petit LCD SSD1306
git clone git://github.com/doceme/py-spidev.git
cd py-spidev
python setup.py build
python setup.py install
cd ..
On install la librairie Gaugette qui permet de facilement controler le lcd SSD 1308 et le rotary encoder
git clone git://github.com/guyc/py-gaugette.git
cd py-gaugette
python setup.py install
Maintenant on install mpc et mpd et alsaaudio
apt-get install mpc
apt-get install mpd
apt-get install python-alsaaudio
et on install les radios
SOMAFM - shoutcast
mpc add http://mp1.somafm.com:8800
FIP
mpc add http://mp3.live.tv-radio.com/fip/all/fiphautdebit.mp3
Radio NOVA
mpc add http://broadcast.infomaniak.net/radionova-high.mp3
Radio Classique
mpc add http://broadcast.infomaniak.net:80/radioclassique-high.mp3
France INTER
mpc add http://mp3.live.tv-radio.com/franceinter/all/franceinterhautdebit
RTL
mpc add http://ais.rtl.fr:80/rtl-1-44-128
mpc save RADIO (pour sauver les radios dans un fichier RADIO.m3u dans /var/lib/mpd/playlists)Pour faire un petit test, connectez des enceintes et tapez :
mpc play 1
pour info :
amixer cset numid=3 1
(va sortir le son sur le jack 3.5)
amixer cset numid=3 2
(va sortir le son sur le hdmi)
INSTALLATION DE LA CLE WIFI
on branche la clé usb wifi dans le rasp et on le redemarre
vi /etc/network/interfaces
#----------------------
auto lo
iface lo inet loopback
iface eth0 inet dhcpallow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "le nom de votre reseau wifi"
wpa-psk "votre mot de passe"
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
#-----------------------Ensuite restart de l'interface réseau
ifdown wlan0
ifup wlan0
Et si vous faites un ifconfig, vous devriez voir vos 2 cartes reseau eth0 et wlan0
En cas de probleme, google est ton ami avec "raspberry wifi"
ACTIVATION DU BUS SPI SUR LE RASP (Serial Peripheral Interface)
On desactive le blacklist du bus SPI pour communiquer avec le petit LCD SSD1306
vi /etc/modprobe.d/raspi-blacklist.conf
Ajouter un # devant la ligne blacklist spi-bcm2708
reboot
Le bus SPI est maintenant activer
2 - CABLAGE (CONNECTION DU LCD ET DU BOUTON ROTARY ENCODER SWITCH)
Il vous faut au minimum :
- un lcd SSD1306 dispo chez Adafruit : http://www.adafruit.com/product/661
- Un rotary encoder dispo chez snootlab : http://snootlab.com/lang-en/snootlab-shields/337-encodeur-rotatif-24-positions-noir-breakout-board.html
- des petits cables de connection femelle
connectez vos cables suivant ce cablage (important pour ne pas griller le rasp et surtout pour faire fonctionner le programme en python)
Pour le bouton encoder sachez que :
GND = masse = cable noir
VCC = 3,3v = cable rouge
CHA = Channel A = cable jaune
CHB = channel B = cable orange
SWI = bouton poussoir = cable blanc
Pour l'ecran lcd, vous avez juste à cabler comme indiqué.
Vous êtes bon maintenant ?
3 - LANCEMENT (VeritableRadioReveil.py)
n'oubliez pas de brancher des enceintes sur le port jack 3.5
Allez, vous pouvez demarrer votre raspberry et vous connecter ssh
Vous pouvez faire un :
et le lancer avec :
sudo python VeritableRadioReveil.py
Normalement, vous devriez voir l'heure sur le petit ecran.
Vous pouvez appuyer sur le bouton pour voir le menu
Vous pouvez tourner le bouton pour augmenter ou diminuer le volume
Je n'explique pas le reste, car normalement c'est très intuitif ;-)
Si vous voulez le lancer automatiquement au demarrage du rasp
vi /home/pi/VeritableRadioReveil.sh
#!/bin/bash
sudo python /home/pi/VeritableRadioReveil.pychmod 777 /home/pi/VeritableRadioReveil.sh
vi /etc/rc.local
sudo /home/pi/VeritableRadioReveil.sh
4 - AMELIORATION & CONCLUSION
Je vous encourage fortement à critiquer ce tutorial dans le but de l'améliorer et de corriger les erreurs.
Ce tuto m'as pris pas mal de temps, mais c'est juste un retour à l'envoyeur. Car moi même j'ai pu avancer grace à des personnes qui ont pris du temps pour faire des tutos.
Pour toutes remarques, veuillez me contacter via fabrice@mounin.com
J'ai pleins d'autres idées sur l'evolution du programme. je suis en train de refléchir avec une version 2.
Merci de m'avoir lu
@Knarou
...Merci.je vous tient au courant...
Un(e) certain(e): philippe en date du lundi 26 janvier 2015 vers 15:19:07 à ecrit :
...Excellent tuto qui a su me donner l'envie de me lancer dans l'aventure alors que je suis un grand débutant dans la Framboise. Merci!...
Un(e) certain(e): kinou en date du lundi 09 février 2015 vers 17:14:49 à ecrit :
...Bien vu et le tuto est super bien fait.
biz...
Un(e) certain(e): Lucas en date du mardi 31 mars 2015 vers 12:05:40 à ecrit :
...Merci pour ce partage, je me lance aussi dans la confection d'un réveil Raspberry.
:)
...
Un(e) certain(e): jerome en date du mercredi 20 mai 2015 vers 20:27:56 à ecrit :
...Hello
Et bravo car c'est (enfin) exactement le tuto que je cherchais... une question toutefois, j'ai acheté il y a longtemps ceci http://www.adafruit.com/products/358
Il ne semble possible (que) de l'utiliser avec arduino ... dois je acheter un autre display comme le votre ou est ce possible avec celui-ci ? ...
Un(e) certain(e): knarou en date du mardi 09 juin 2015 vers 21:13:49 à ecrit :
...Bonjour Jérôme, avec le display donné dans le lien cela pourrais fonctionner, mais il faut trouver la librairie python pour le piloter et bien entendu de recodé le programme radio réveil......si vous voulez du plugnplay ;-) sans rien décidé, je vous conseil de racheter le même. Bonne journée...
Un(e) certain(e): jerome en date du dimanche 01 novembre 2015 vers 15:48:02 à ecrit :
...Je ne lis votre réponse que maintenant !
Je n'ai pas attendu et ai mis le display de côté finalement, je m'oriente plus vers un display "full web" et un controle avec seul le bouton.
Je découvre python, ai déjà pas mal de code sur FLask mais aimerais du code review, de l'aide ... bref un regard extérieur un peu plus agguerri.
Je ne sais comment envisager les contre parties mais nous trouverons bien si cela vous intéresse : j_fiot {@} hotmail . com)...
Un(e) certain(e): jerome en date du dimanche 01 novembre 2015 vers 15:49:49 à ecrit :
...J'oubliais
https://github.com/jeromefiot/Apiclock
...
Un(e) certain(e): Jerem en date du jeudi 26 novembre 2015 vers 10:58:32 à ecrit :
.......