Archives par étiquette : wifi

4 – Configuration réseau et point d’accès WiFi

MPD est un daemon administré par une application cliente via le réseau. Il nous faut donc créer un réseau WiFi dans la voiture afin de pouvoir piloter MPD grâce à des périphériques divers. Nous n’allons pas poser de routeur wifi sous le siège pour créer un réseau wifi… Nous allons plutôt transformer le Pi en point d’accès WiFi !

Hostapd

Le paramétrage de hostapd se fait grâce au fichier de configuration /etc/hostapd/hostapd.conf.Il n’est pas nécessaire d’avoir un haut niveau de sécurité sur ce réseau WiFi. Aussi, je décide de laisser le réseau WiFi ouvert 🙂 C’est open bar !

Voici ma configuration :

interface=wlan0
ssid=Carpo
channel=1
auth_algs=1
driver=rtl871xdrv
ieee80211n=1
hw_mode=g
device_name=RTL8192CU
manufacturer=Realtek

dnsmasq

J’utilise dnsmasq pour attribuer une adresse IP automatiquement à tous les clients WiFi qui se connectent au Pi. Voici le contenu de mon fichier de configuration /etc/dnsmasq.conf.

interface=wlan0
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-authoritative
dhcp-option=1,255.255.255.0
dhcp-option=3,192.168.103.1 # default gateway
dhcp-option=6,192.168.103.1 # dns server
dhcp-range=192.168.103.10,192.168.103.99,255.255.255.0,72h

Configuration minimaliste 🙂

Configuration de l’interface réseau

Il convient enfin de configurer l’interface WiFi du Pi avec une adresse IP fixe. Voici le contenu de mon fichier /etc/network/interfaces.

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
        address 192.168.100.31
        netmask 255.255.255.0
        network 192.168.100.0
        broadcast 192.168.100.255
        gateway 192.168.100.1
        dns-nameservers 192.168.100.1

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
        address 192.168.103.1
        netmask 255.255.255.0
        network 192.168.103.0
        broadcast 192.168.103.255

J’en profite pour configurer l’interface ethernet afin de pouvoir prendre facilement la main sur le Pi en le connectant simplement sur mon LAN.

Initialisation du point d’accès WiFi au démarrage du Pi

Si vous rebootez votre Pi dans l’état, vous constaterez que votre interface WiFi n’a pas d’adresse IP ce qui rend impossible la connexion d’un client WiFi au point d’accès. Il convient donc de créer un petit script d’initialisation, /etc/init.d/ap.sh, qui démarre hostapd et donne une adresse IP statique à l’interface réseau WiFi :

#!/bin/bash

### BEGIN INIT INFO
# Provides:          ap
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Init access point
# Description:       Init access point
### END INIT INFO

service hostapd start
ifconfig wlan0 up
ifconfig wlan0 192.168.103.1

Il suffit ensuite d’ajouter le script au démarrage du Pi grâce à la commande update-rc.d :

cd /etc/init.d
chmod 755 ./ap.sh
update-rc.d ap.sh defaults

Voilà ! A chaque démarrage du Pi, le point d’accès est initialisé et vous pouvez vous y connecter depuis n’importe quel périphérique WiFi 🙂

Liens utiles :

Création d’un hotspot wifi sur votre RPI

3 – Installation du système

raspbian_logo_tinyA nouveau, je choisi Raspbian pour faire tourner mon Raspberry Pi. Téléchargement de la dernière version ici Raspbian “wheezy”, puis installation de la carte SD en suivant le tuto du site elinux.org. On commence à avoir l’habitude, donc je passe rapidement sur ces étapes…

A noter qu’il existe une version dérivée de Raspbian, optimisé pour MPD, mais je préfère conserver une Raspbian standard, et faire la conf moi même.

Raspi-config

Après l’installation de la Raspbian, un passage par raspi-config est indispensable :

raspiconfig

  • Expand Filesystem : permet d’étendre la partition racine à la taille de la carte mémoire afin de pouvoir exploiter tout l’espace disponible
  • Internationalisation Options -> Change Keyboard Layout : permet de sélectionner un clavier AZERTY
  • Advanced Options -> Hostname : Ce Pi sera baptisé Carpo 🙂
  • Advanced Options -> Memory Split : permet de définir la mémoire allouée au chipset graphique (n’ayant besoin que d’une interface en ligne de commande, 16Mo suffiront)
  • Advanced Options -> SSH : On active SSH

Installation des paquets

Avant tout, et comme d’habitude, on met à jour l’ensemble des paquets existants :

apt-get update
apt-get upgrade

Une fois l’opération terminée, on installe les paquets nécessaires :

apt-get install vim mpd dnsmasq hostapd
  • vim : Editeur en ligne de commande
  • mdp : Music Player Daemon
  • dnsmasq : serveur DHCP
  • hostapd : permet de créer un point d’accès wifi

ATTENTION : Dans la grosse majorité des cas, le paquet hostapd fonctionnera bien avec votre carte Wifi. Or, mon dongle Wifi NetGear WNA1000M n’est pas supporté par le driver nl80211.

Hostapd pour chipset RTL8188

Il existe une version de hostapd qui supporte le chipsset RTL8188 de mon dongle WiFi. Vous pouvez le télécharger ici : RTL8188-hostapd-1.1.tar

Téléchargez le sur votre Pi, décompressez la tarball, compilez et installez :

tar -xzf ./RTL8188-hostapd-1.1.tar.gz
cd ./RTL8188-hostapd-1.1/hostapd
make
make install

L’installation est relativement longue, mais tout se passe sans problème.

C’est tout pour l’installation 🙂 Il nous reste un peu de configuration à faire, et le tour sera joué 🙂

2 – Le choix du matériel

Raspberry Pi modèle B

205039Plus besoin de se poser la question entre le modèle A ou le modèle B, autant prendre le modèle le plus complet et le plus récent. Le Raspberry Pi Model B rev 2 doté de 512Mo de RAM et d’un port ethernet est désormais disponible chez beaucoup de revendeurs. J’ai trouvé celui-ci chez Amazon.

Commandé sur le site Amazon pour 39 €

Boîtier Adafruit

ID859angle_LRGJe reste très attaché à l’Adafruit Pi Box ! Ce boîtier transparent, livré en « kit », met en valeur la carte et permet de nombreuses personnalisations. Il permet notamment de faire passer une nappe branchée sur le GPIO du Pi grâce à une fente. Vous pouvez également retirer certaines parois pour faciliter l’accès à certaines parties de la carte tout en protégeant l’ensemble.

Commandé sur Amazon pour 10 € (livraison gratuite)

Carte SDHC 32Go

41i-JeRaW6L._SX385_Initialement, je souhaitais prendre une carte SD de 2Go ou 4Go pour l’OS puis stocker les musiques sur un disque dur externe. L’ennui, c’est qu’un disque externe dans une boite à gants de voiture, ça prend de la place, ça chauffe, ça risque de se détériorer, et ça occupe un port USB… Et ça coûte des sous… ‘Fin bref, j’ai rapidement laissé tomber cette option et ai choisi une carte SDHC de 32Go. Vous pouvez évidemment opter pour une carte de 64Go pour un peu plus de 50€.

Commandé sur Amazon pour 17 € (livraison gratuite)

Dongle WiFi USB

144267Il convient de choisir un dongle WiFi USB qui soit compact (inutile de s’encombrer d’une antenne), et surtout, qui supporte le mode « access point » !

Le site elinux.org nous informe que le dongle NetGear WNA1000M est parfaitement supporté par le Pi sans passer par un hub USB alimenté.

Commandé sur Amazon pour 12€

Carte son USB

plantronics_gamecom_777_para_jugones_418x241Je ne m’attends pas à obtenir une qualité de son extra-ordinaire, mais la qualité de la prise jack disponible sur le Pi n’est franchement pas suffisante pour une écoute de musique dans de bonnes conditions. J’ai retrouvé dans mes tiroirs une carte son USB Plantronics qui était fournis avec un casque (le Plantronics GameCom 777). Elle est très compacte, fonctionne très bien sous Raspbian, et m’évite d’en acheter une…

Alimentation

LD0000719626Dans une voiture, les différentes sources d’alimentations (allume-cigare, alimentation de l’autoradio, etc…) fournissent en général un courant en 12V. Nous avons besoin d’un transformateur qui fournis une tension en 5V pour alimenter correctement le Pi. Après avoir cherché des circuits convertisseurs ou régulateurs de tension 12V -> 5V, je me suis réveillé un jour en me disant qu’un chargeur allume-cigare pour smartphone devrait faire l’affaire… Bingo ! Très compact et peu onéreux, on peut en trouver un peu partout…

Le plus compliqué est d’en trouver un qui puisse délivrer un courant d’au moins 1A (La plupart des chargeur allume-cigare que l’on peut trouver dans le commerce ne dépassent pas les 500mA).

J’ai trouvé mon bonheur sur Amazon pour environ 15€

Mise à jour – 30 juillet 2013 :

imageL’immense majorité des chargeurs allume-cigare que l’on trouve dans le commerce ne sont pas blindé contre les variations de tension. C’est déjà problématique pour la durée de vie des batteries de téléphones, mais pour un Pi, c’est encore pire. De plus, lorsque la voiture démarre, la séquence « contact » puis « allumage du moteur » entraine des piques et des chutes de tensions importantes. Le Pi n’étant pas du tout protégé contre ce genre de parasitage et nécessitant une alimentation correctement régulée, j’ai préféré choisir un convertisseur de tension continue stabilisé  KEMO M015N.

  • Tension d’entrée 6-28V (idéal pour les 12V fournis par le circuit électrique de la voiture)
  • Tension de sortie 3-15V (parfait pour les 5V demandé par le Pi)

Il s’agira de faire un branchement parallèle sur le faisceau de l’allume cigare. En effet, c’est un circuit spécifiquement prévu pour tirer du courant et qui est géré par le système d’économie d’énergie qui coupera automatiquement l’alimentation du circuit si il consomme trop de courant sur la batterie lorsque le moteur est éteint. Ce qui nous évitera de mauvaises surprises 😉

Acheté chez Amazon pour moins de 15€

Interface entrée auxiliaire pour mon autoradio d’origine

IMG_4758La majeure partie des autoradios d’aujourd’hui disposent d’une entré auxiliaire. Dans mon cas, ma voiture datant de 2008 et souhaitant conserver l’autoradio d’origine (le très répandu RD4), je n’ai d’autre choix que d’utiliser une interface vendue par PSA pour environ 35€… A savoir qu’il faudra également faire activer une entrée auxiliaire dans un garage afin de pouvoir l’exploiter (Je ferai un article détaillé à ce sujet dans les prochains jours).

Commander dans un garage Citroën pour 35€ sous la référence faisceau auxiliaire autoradio RD4 réf. 9706.AG.

Vous pouvez également le commander ici sur Amazon.

 Note : Il est également possible de bricoler soit même ce faisceau auxiliaire. Voici un exemple de réalisation : http://www.forum-peugeot.com/Forum/forum-peugeot/Electronique-embarquee/Seconde-monte/auxiliaire-entree-maison-sujet_32999_1.htm