TP1 : Paramétrage de la raspberry


Mise en situation
Le travail de ce TP se déroule seul.
Temps alloué : 7h
La programmation se fait directement sur la carte avec gcc ou Visual Studio
|
Objectif
- Prise en main de la carte Raspberry
- Compilation du C avec gcc
|
Pré requis
Programmation C (1er année)
Aide C : Référence
|
Travail demandé
Un listing du code source commenté
Démonstration au professeur de la progression.
|
Critères d’évaluation
Clarté de l’ algorithme, lisibilité du code, exécutable opérationnel.
|
But du TP :
Branchement de la carte
- La carte a besoin d'un système d'exploitation à installer sur une carte mémoire micro-SD. Télécharger Imager et installer le noyau linux sur la carte SD.
- Autre possibilité : Création de la carte avec WinDiskImage ou Etcher.
- Mettre la carte SD sur la Raspberry et connecter un écran, un clavier et une souris.
- Alimenter la carte, le système d'exploitation démarre
- Changer de mot de passe pour le login pi
Connection de la carte au réseau
- Connecter la carte au réseau en filaire
- Vérifier que la carte reçoit son adresse IP par un serveur DHCP
- Editer (sudo nano) le fichier /etc/network/interfaces
- allow-hotplug eth0
- auto eth0
- iface eth0 inet dhcp
- Editer le fichier /etc/apt/apt.conf.d/10proxy
- Acquire::http::Proxy "http://10.129.254.254:3128/";
- Editer le fichier /etc/environment
- export http_proxy="http://10.129.254.254:3128"
Connection de la carte au réseau WiFi
- sudo nano /etc/network/interfaces
- auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa_conf /etc/wpa_supplicant/wpa_supplicant.conf
- sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
- network={
ssid="Exxotest"
psk="exxotest"
key_mgmt=WPA-PSK
}
- sudo rasp_config
- 2 network
N2 WiFi
SSID : Exxotest
passwd : exxotest
Connecter le bureau windows à la carte par VNC
- Activer SSH. Cliquer sur la framboise, dans préférences choisir "Configuration du Raspberry PI". Dans interfaces, valider SSH et VNC
- Installer le VNC serveur. Suivre les indication de VNC Serveur.
- Sur la carte, à partir d'une console, taper "ifconfig" pour connaitre l'adresse IP de la carte.
- Sur Windows, lancer
.
- Dans fichier/préférences, enlevrer le proxy.
- Réaliser une nouvelle connexion en mettant l'adresse du Raspberry suivi de :1.
10.129.22.21:1
Installation d'une communication en FTP
Pour pouvoir copier des fichiers d'un poste Windows à la carte Raspberry soit dans un sens, soit dans l'autre, nous allons utiliser le protocole FTP. Le serveur sera du côté de la carte, le client sera le logiciel Filezilla du côté Windows
Premier programme en C sur Raspberry
En vous aidant du site
Premier programme réaliser et exécuter votre 1er "bonjour le monde" sur Raspberry.
On utilisera le compilateur gcc avec comme commande simple :
gcc bonjour.c -o bonjour
Programme en C de la GPIO de la Raspberry
-
- Plan A Installer la librairie WiringPi qui permet d'utiliser les commandes type Arduino pour la GPIO (menu à droite)
- sudo apt-get install git-core
- git clone git://git.drogon.net/wiringPi
- ./build
- Plan B : Suivre Plan B e, téléchargeant le point tar et en le décompressant
- Plan C : Si git plante, utiliser : apts -install wiringPi
- Ecrire votre 1er programme blink pour la GPIO qui va faire clignoter une led
remarque : le code se trouve dans le répertoire exemple compilé avec :
gcc -Wall -o blink blink.c -lwiringPi
- Faire le branchement
Commande en PWM d'un servomoteur
- A partir de l'exemple pwm.c, compiler le et comprener le
- Connecter un servomoteur sur la GPIO
- Constater le résultat
- Faire un programme qui permet de lire une entrée numérique. Si l'entrée est à 1, le servomoteur se positionne à 90°, si elle est à 0, le servomoteur se positionne à 0°
Installation d'une caméra
Pour connecter la carte, il faut enlever le couvercle du boitier. Aller sur le site Installation d'une caméra et suivre toutes les instruction.
ou
Installation d'une caméra
Attention : la ligne "sudo modprobe bcm2835-v4l2" n'est pas bonne, il faut mettre un l (lettre L en minuscule)De même pour la ligne "echo "bcm2835-v4l2" | sudo tee -a /etc/modules"
Communication entre la Raspberry et une Arduino
Comme vu précédemment, la commande de matériel (Ex : Servo-moteur) n'est pas aisé sur la GPIO. Pour nous asbtraire de ce problème, nous allons utiliser une Arduino pour commander le matériel et on utilisera la Raspberry pour commander et gérer.
La liaison se fera sur une liaison série.
http://poivron-robotique.fr/Liaison-UART-du-Raspberry-Pi.html
Problème connexion IHM : Il ce peut que le lancement de startx arrive sur une fenêtre demandant une connexion. Pour éviter cela, suivre la procédure :
- Pour ouvrir une console, appuyer simultanément sur : CTRL + Alt + F1
- chmod 777 /home/pi/.Xautority
- chgrp pi /home/pi/.Xautority
- chown pi /home/pi/.Xautority
Référence de la bibliothèque :

