jean-lou.saulnier
3 years ago
10 changed files with 766 additions and 24 deletions
@ -0,0 +1,127 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<head> |
||||
|
<meta charset="utf-8"> |
||||
|
<title>La programmation avec Jean-Lou</title> |
||||
|
<link rel="stylesheet" type="text/css" href="../css/style.css"> |
||||
|
<link rel="stylesheet" type="text/css" href="../css/prism.css"> |
||||
|
</head> |
||||
|
<body> |
||||
|
<nav> |
||||
|
<ul style="width: 1000px;"> |
||||
|
<li> |
||||
|
<a href="../Index.html">Accueil</a> |
||||
|
</li> |
||||
|
|
||||
|
<li class="menu-deroulant"> |
||||
|
<a href="#"class="ho_menu">Languages</a> |
||||
|
<ul class="sous-menu"> |
||||
|
<li><a href="../language/python.html">Python</a></li> |
||||
|
<li><a href="../language/c.html">C</a></li> |
||||
|
<li><a href="../language/c++.html">C++</a></li> |
||||
|
</ul> |
||||
|
</li> |
||||
|
|
||||
|
<li class="menu-deroulant"> |
||||
|
<a href="#" class="ho_menu">Rasberry Pi</a> |
||||
|
<ul class="sous-menu"> |
||||
|
<li><a href="histoire.html">Histoire</a></li> |
||||
|
<li><a href="os.html">Mettre un os</a></li> |
||||
|
<li><a href="lecteur.html">lecteur NFC</a></li> |
||||
|
</ul> |
||||
|
</li> |
||||
|
|
||||
|
<li><a href="interpreteur/interpreteur.html">Interpréteur</a></li> |
||||
|
</ul> |
||||
|
</nav> |
||||
|
|
||||
|
<div class="aligne"> |
||||
|
<div class="article"> |
||||
|
|
||||
|
<h1 id="ancre1">Bienvenue sur la page histoire de Rasberry pi !<br><br><br><br></h1> |
||||
|
|
||||
|
<img src ="https://www.raspberrypi.org/app/uploads/2018/03/RPi-Logo-Reg-SCREEN.png" id="framboise"></img> |
||||
|
|
||||
|
<h2 id="ancre2">Un <a href="https://fr.wikipedia.org/wiki/Raspberry_Pi">Rasberry Pi</a> qu'est ce que c'est ?</h2> |
||||
|
|
||||
|
<p>Le Raspberry Pi est un nano-ordinateur monocarte à processeur ARM de la taille d'une carte de crédit conçu par des professeurs du département informatique de l'université de Cambridge dans le cadre de la fondation Raspberry Pi.<br><br> |
||||
|
|
||||
|
Le Raspberry Pi fut créé afin de démocratiser l'accès aux ordinateurs et au digital making. Cette démocratisation est possible en raison de l'abordabilité du Raspberry Pi, mais aussi grâce aux logiciels libres. Le Raspberry Pi permet l'exécution de plusieurs variantes du système d'exploitation libre GNU/Linux, notamment Debian, et de logiciels compatibles.<br> |
||||
|
<br> |
||||
|
Il fonctionne également avec le système d'exploitation Microsoft Windows : Windows 10 IoT Core , Windows 10 on ARM (pour l'instant relativement instable), celui de Google Android Pi et même une version de l'OS/MVT d'IBM accompagnée du système APL\3602.</p> |
||||
|
|
||||
|
<h2>Les particularités</h2> |
||||
|
|
||||
|
<p>Il est fourni nu, c'est-à-dire la carte mère seule, sans boîtier, câble d'alimentation, clavier, souris ni écran, dans l'objectif de diminuer les coûts et de permettre l'utilisation de matériel de récupération. Néanmoins des « kits » regroupant le « tout en un » sont disponibles sur le web à partir de quelques dizaines d'euros seulement.</p> |
||||
|
|
||||
|
|
||||
|
<p>Exemple de Raberry Pi : </p> |
||||
|
<img src="https://www.elektor.fr/media/catalog/product/cache/1404d1bfd8e1ad71cc6f16950ff5c805/r/a/raspberry-pi-4-2gb.jpg" id="rpi_histoire"> |
||||
|
|
||||
|
<p id="ancre3"><br>Mais il a surtout eu beaucoup de succès grâce à des prix assez bas qui on intéressé pas mal de personne n'ayant pas forcement les moyens de s'acheter des nano-ordinateur a des prix assez couteux.</p> |
||||
|
|
||||
|
<h2>Pourquoi le Raspberry Pi?</h2> |
||||
|
<p><br>Dans les annéees 2000 le Directeur des études de l'Université de Cambridge en Grande-Bretagne, s'aperçoit que les candidats qui souhaitaient poursuivre un cursus informatique avaient de grosses lacunes en programmation. <br> |
||||
|
Tous justes capables d'écrire quelques lignes de php, html ou autre langage de script, ils ne maîtrisaient ni même ne connaissaient la liaison entre la machine et le code. <br> |
||||
|
Eben Upton a alors analysé la situation afin de déterminer la cause de cette carence et les moyens d'y remédier dans le but de redresser une situation catastrophique.<br><br> |
||||
|
La cause fût vite trouvée: Au début de l'explosion de la micro-informatique à l'aube des années 1980, un ordinateur était un objet matériel, nu sans vraiment de système d'exploitation. Beaucoup de ces engins démarraient interfacés avec le langage BASIC en ligne de commande. Dixit les consoles de jeux des années 1970, il fallait créer ses propres jeux, et c'était drôle!<br><br> |
||||
|
<img src="https://tse4.mm.bing.net/th?id=OIP.ynBRkEQ373joWlq1hv-mVQHaE5&pid=Api&P=0&w=268&h=178" class="feprogramme"></img><br><br> |
||||
|
Le micro-processeur était un 8 bits, l'unité de stockage un K7 audio, ou pour les plus fortunés une disquette souple 5"1/4.<br><br> |
||||
|
|
||||
|
<img src="https://tse1.mm.bing.net/th?id=OIP.962zippdugU9blvUCBXydgHaGt&pid=Api&P=0&w=186&h=169" class="feprogramme"></img><br><br> |
||||
|
Cela va sans dire, les possibilités et la vitesse du langage BASIC, langage d'apprentissage, n'étaient pas transcendant, il fallait ajouter du code en langage-machine, en assembleur, c'est à dire un code directement compréhensible par le micro-processeur pour augmenter la vitesse d'exécution, et dialoguer directement avec la machine et ses interfaces.<br><br> |
||||
|
Merveilleuses interfaces fabriquées aussi bien par des sociétés que des particuliers.<br> |
||||
|
C'est à cette époque que beaucoup de passionnés d'électroniques ont pris leur fer à souder pour fabriquer leur propre micro-ordinateur, vendu en kit. Je n'en citerai que quelques-uns:<br><br> |
||||
|
- L'altaïr du MITS, datant de 1975 et hébergeant le 1er basic développé par Bill Gates et Paul Allen.<br> |
||||
|
<img src="https://tse3.mm.bing.net/th?id=OIP.9mBBE3F1ARK-12Jznyo6hAHaFe&pid=Api&P=0&w=239&h=178" class="feprogramme"></img><br><br> |
||||
|
- Le ZX81 de SInclair (successeur du ZX80), qui ouvrit la porte de milliers de foyers européens à l'informatique dès 1980<br> |
||||
|
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Sinclair-ZX81.png/260px-Sinclair-ZX81.png" class="feprogramme"></img><br><br> |
||||
|
- Le Tavernier, ordinateur entièrement conçu et réalisé par Christian Tavernier, disponible dans la revue d'électronique "Le Haut-Parleur" en 1983 |
||||
|
<img src="https://www.obsolete-tears.com/photos/Tavernier.jpg" class="feprogramme"></img><br><br> |
||||
|
- les kits à base de micro-processeur 6809 comme le Vegas 6809<br> |
||||
|
<img src="https://forum.wda-fr.org/download/file.php?id=592&t=1&sid=8fe0f0f5aa8d526b560a9842afc885f5" class="feprogramme"></img><br><br> |
||||
|
|
||||
|
Les moyens furent également vite trouvé: le secteur du développement logiciel devait retrouvé ses lettres de noblesse, il devait revenir à ses racines.<br> |
||||
|
Le cahier des charges était simple: Les élèves devaient pouvoir apprendre les bases rapidement, sur du matériel peu cher et fiable. Les fonds baptismaux du Raspberry Pi étaient posés. Ci-dessous le premier prototype:<br><br> |
||||
|
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Raspberry_Pi_board_at_TransferSummit_2011_cropped.jpg/220px-Raspberry_Pi_board_at_TransferSummit_2011_cropped.jpg" class="feprogramme"></img><br><br> |
||||
|
|
||||
|
<p id="ancre4">Voici la liste à jour des différents modèles de Rasberry Pi avec leur prix indicatif en dollar :</p> |
||||
|
|
||||
|
<ul> |
||||
|
<li><p class="liri">Raspberry PI Pico : 4 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi 400 : 70 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi 4 B 8GB : 75 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi 4 B : 37.95 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi 3 Model A+ : 25 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi 3 B+ : 39.95 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi Zero WH : 14.60 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi Zero W : 10.44 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi A+ : 35 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi 3 : 35 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi Zero : 5 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi 2 : 35 $</p></li> |
||||
|
<li><p class="liri">Raspberry Pi B : 35 $</p></li> |
||||
|
</ul> |
||||
|
|
||||
|
<p>Ils peuvent êtres utiliser dans de multiples façons. Certaines personne utilise des Rasberry Pi en masse pour miner du BitCoin, d'autre pour faire des installations pratiques dans des infrastructures ou entreprises (Sonde de température, Lecteur de badges etc...), mais aussi pour faire des porojets de bricolages comme dans mon cas une Bornes d'arcade et bien d'autre utilisation.<br><br> |
||||
|
|
||||
|
Le système d'exploitation que l'on mettra dessus dépendra de notre besoins.</p> |
||||
|
|
||||
|
|
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<div class="partie"> |
||||
|
<nav id="navigation"> |
||||
|
<li><a class="lien" href="#ancre1">Un rasberry Pi qu'est ce que c'est ?</a></li> |
||||
|
<li><a class="lien" href="#ancre2">Les particularités</a></li> |
||||
|
<li><a class="lien" href="#ancre3">Pourquoi le Rasberry Pi ?</a></li> |
||||
|
<li><a class="lien" href="#ancre4">Les différents modèles</a></li> |
||||
|
</nav> |
||||
|
</div> |
||||
|
<script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> |
||||
|
<script src="../js/scroll.js"></script> |
||||
|
|
||||
|
</body> |
||||
|
|
||||
|
|
||||
|
</html> |
After Width: | Height: | Size: 4.9 MiB |
@ -0,0 +1,288 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<head> |
||||
|
<meta charset="utf-8"> |
||||
|
<title>La programmation avec Jean-Lou</title> |
||||
|
<link rel="stylesheet" type="text/css" href="../css/style.css"> |
||||
|
<link rel="stylesheet" type="text/css" href="../css/prism.css"> |
||||
|
</head> |
||||
|
<body> |
||||
|
<nav> |
||||
|
<ul style="width: 1000px;"> |
||||
|
<li> |
||||
|
<a href="../Index.html">Accueil</a> |
||||
|
</li> |
||||
|
|
||||
|
<li class="menu-deroulant"> |
||||
|
<a href="#"class="ho_menu">Languages</a> |
||||
|
<ul class="sous-menu"> |
||||
|
<li><a href="../language/python.html">Python</a></li> |
||||
|
<li><a href="../language/c.html">C</a></li> |
||||
|
<li><a href="../language/c++.html">C++</a></li> |
||||
|
</ul> |
||||
|
</li> |
||||
|
|
||||
|
<li class="menu-deroulant"> |
||||
|
<a href="#" class="ho_menu">Rasberry Pi</a> |
||||
|
<ul class="sous-menu"> |
||||
|
<li><a href="histoire.html">Histoire</a></li> |
||||
|
<li><a href="os.html">Mettre un os</a></li> |
||||
|
<li><a href="lecteur.html">lecteur NFC</a></li> |
||||
|
</ul> |
||||
|
</li> |
||||
|
|
||||
|
<li><a href="interpreteur/interpreteur.html">Interpréteur</a></li> |
||||
|
</ul> |
||||
|
</nav> |
||||
|
|
||||
|
<div class="aligne"> |
||||
|
<div class="article"> |
||||
|
|
||||
|
<h1 id="ancre1">Bienvenue sur la page du lecteur NFC !</h1> |
||||
|
|
||||
|
<img src="https://www.raspberrypi-spy.co.uk/wp-content/uploads/2018/02/raspberry_pi_rfid_rc522_03.jpg" class="NFC"> |
||||
|
|
||||
|
<h2>Un lecteur NFC qu'est ce que c'est ?</h2> |
||||
|
|
||||
|
<p id="ancre2">Le NFC, ou Near Field Communication, est une technologie permettant d’échanger des données entre un lecteur et n’importe quel terminal mobile compatible ou entre les terminaux eux-mêmes. C’est la technologie qu’utilise votre carte bancaire pour le paiement sans contact, ou votre carte de transport. L’avantage de cette technologie est qu’en principe, aucune application n’est requise. Il suffit de rapprocher les deux supports. Attention, il ne faut pas que ces derniers soient trop éloignés l’un de l’autre : une dizaine de centimètres maximum !</p> |
||||
|
|
||||
|
<h2>Le matériel à avoir</h2> |
||||
|
|
||||
|
<p>Pour ce petit projet vous aurez besoins d'un RPI de n'importe qu'ellle version, pour ma part sa sera un RPI model B donc les schémas des ports GPIO y seront liéé, si vous avez un RPI d'une autre version il faudra que vous alliez rechercher les schémas des GPIO qui correspondent.<br></p> |
||||
|
<p id="ancre3">Il vous faudra aussi un <a href="https://www.googleadservices.com/pagead/aclk?sa=L&ai=DChcSEwiNpczum7zuAhXt6-MHHRuDBWoYABAFGgJ5bQ&ohost=www.google.com&cid=CAASE-RokkXwH_ojt3-mxM8ft4e_EqY&sig=AOD64_01TANqZfAXo8M-sD7BmqYrr91HzQ&ctype=5&q=&ved=2ahUKEwj958Xum7zuAhXlRt8KHTOSBrYQ9aACegQIDRBq&adurl=">lecteur NFC</a> que vous pourrait trouver en clickant sur les mots " lecteur NFC " juste avant. Dans ce kit il y a un lecteur NFC avec une carte et un badge avec un tag qui leurs est admit par défault mais que vous pourrait changer.</p> |
||||
|
|
||||
|
<h2>Les ports GPIO qu'est ce que c'est ?</h2> |
||||
|
|
||||
|
<p id="ancre4">Les ports GPIO sont des ports physiques se présentant généralement sous forme de picots métalliques carrés permettant de transmettre un signal électrique. Un port GPIO transmet un signal numérique binaire (0 ou 1) ou analogique (variation d'une tension électrique).<br><br> |
||||
|
Ce sont ces ports qui nous permettront de récupérer les informations que le lecteur NFC nous envoi.</p> |
||||
|
|
||||
|
<h2>Premiers branchements</h2> |
||||
|
<p>Chaque broche du lecteur NFC est nommée de cette manière:<br></p> |
||||
|
|
||||
|
<table class="tableau-style"> |
||||
|
|
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>Board pin name</th> |
||||
|
<th>Board pin</th> |
||||
|
<th>Physical RPI pin</th> |
||||
|
<th>RPI pin name</th> |
||||
|
<th>Beaglebone Black pin name</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
|
||||
|
|
||||
|
<tbody> |
||||
|
<tr> |
||||
|
<td>SDA</td> |
||||
|
<td>1</td> |
||||
|
<td>24</td> |
||||
|
<td>GPIO8, CE8</td> |
||||
|
<td>P9_17, SPIO_CSO</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>SCK</td> |
||||
|
<td>2</td> |
||||
|
<td>23</td> |
||||
|
<td>GPIO11, SCKL</td> |
||||
|
<td>P9_22, SPIO_SCLK</td> |
||||
|
</tr> |
||||
|
|
||||
|
<tr> |
||||
|
<td>MOSI</td> |
||||
|
<td>3</td> |
||||
|
<td>19</td> |
||||
|
<td>GPIO10, MOSI</td> |
||||
|
<td>P9_18, SPIO_D1</td> |
||||
|
</tr> |
||||
|
|
||||
|
<tr> |
||||
|
<td>MISO</td> |
||||
|
<td>4</td> |
||||
|
<td>21</td> |
||||
|
<td>GPIO19, MISO</td> |
||||
|
<td>P9_21, SPIO_DO</td> |
||||
|
</tr> |
||||
|
|
||||
|
<tr> |
||||
|
<td>IRQ</td> |
||||
|
<td>5</td> |
||||
|
<td>18</td> |
||||
|
<td>GPIO24</td> |
||||
|
<td>P9_15, GPIO_48</td> |
||||
|
</tr> |
||||
|
|
||||
|
<tr> |
||||
|
<td>GND</td> |
||||
|
<td>6</td> |
||||
|
<td>20</td> |
||||
|
<td>GROUND</td> |
||||
|
<td>GROUND</td> |
||||
|
</tr> |
||||
|
|
||||
|
<tr> |
||||
|
<td>RST</td> |
||||
|
<td>7</td> |
||||
|
<td>22</td> |
||||
|
<td>GPIO25</td> |
||||
|
<td>P9_23, GPIO_49</td> |
||||
|
</tr> |
||||
|
|
||||
|
<tr> |
||||
|
<td>3.3V</td> |
||||
|
<td>8</td> |
||||
|
<td>17</td> |
||||
|
<td>3V3</td> |
||||
|
<td>VDD_3V3</td> |
||||
|
</tr> |
||||
|
|
||||
|
</tbody> |
||||
|
|
||||
|
</table> |
||||
|
|
||||
|
<p>Le port GPIO de votre RPI (ici un modèle B)contient le brochage suivant :</p> |
||||
|
|
||||
|
<img src="https://www.raspberry-pi.ovh/images/RPI-GPIO.png" id="feprogramme"> |
||||
|
|
||||
|
<p>Sur le schéma ci-dessus vous avez les noms des pins du GPIO de votre RPI, ils vous suffit de regarder le noms des pins qui correspond au bon port sur le lecteur nfc avec la colonnne " RPI pin name " puis a les relier ensemble parun fil ou une soudure.</p> |
||||
|
|
||||
|
<p>Attention pour ne pas vous tromper de sens avec les pins du GPIO il y a un détompeur carré sur le schéma et sur le GPIO de votre RPI.</p> |
||||
|
|
||||
|
<img src="RPI.jpg" class="RPII"> |
||||
|
|
||||
|
<p id="ancre5">Cela vous donnera quelque chose dans le genre. Mais attention j'utilise une carte Pyrack pour avoir plusieur GPIO sur un RPI, mais ce n'est pas obligé, cela sert même a rien pour ce projet car nous brancherons que notre lecteur NFC sur le GPIO de notre RPI.</p> |
||||
|
|
||||
|
<h2>Le programme</h2> |
||||
|
|
||||
|
<p>Nous allons faire le programme en python, il sera assez court et assez simple a comprendre. Créez un programme et allez sur nano, si vous ne savez pas faire sa allez regarder la page " <a href="Lesbases.html">Les bases</a> " dans la catégorie RPI. Je vous laisserez également étudier les bases de python dans la page " <a href="Python.html">Python</a> " si vous ne connaissez pas les bases de ce langage.</p> |
||||
|
|
||||
|
<p>Commençons par importer les bibliothèques dont nous aurons besoin.</p> |
||||
|
|
||||
|
<div id="script"> |
||||
|
<script type="text/javascript" src="../js/prism.js"></script> |
||||
|
<pre><code class="language-python">import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs |
||||
|
from pirc522 import RFID |
||||
|
import time |
||||
|
</code></pre> |
||||
|
</div> |
||||
|
|
||||
|
<p>Ensuite nous allons préciser le mode de GPIO que l'on veut mettre sur le RPI, car il existe deux modes le " BOARD " et le " BCM ". Ensuite nous désactivons le messages d'alerte du GPIO qui est activé de base sur le RPI.</p> |
||||
|
|
||||
|
<div id="script"> |
||||
|
<script type="text/javascript" src="../js/prism.js"></script> |
||||
|
<pre><code class="language-python">import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs |
||||
|
from pirc522 import RFID |
||||
|
import time |
||||
|
|
||||
|
GPIO.setmode(GPIO.BOARD) #Définit le mode de numérotation (Board) |
||||
|
GPIO.setwarnings(False) #On désactive les messages d'alerte |
||||
|
</code></pre> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<p>Nous allons ensuite mettre des fonctions dans des variables avec un autre nom plus simple a utiliser.</p> |
||||
|
|
||||
|
<div id="script"> |
||||
|
<script type="text/javascript" src="../js/prism.js"></script> |
||||
|
<pre><code class="language-python">import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs |
||||
|
from pirc522 import RFID |
||||
|
import time |
||||
|
|
||||
|
GPIO.setmode(GPIO.BOARD) #Définit le mode de numérotation (Board) |
||||
|
GPIO.setwarnings(False) #On désactive les messages d'alerte |
||||
|
|
||||
|
rc522 = RFID() |
||||
|
util = rc522.util() |
||||
|
</code></pre> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<p>Maintenant commençons le corps du programme avec la boucle " while " avec condition " true " pour que la boucle soit infinie.Puis nous mettons la requeête permettant de regarder si un badge est présent ou pas .</p> |
||||
|
|
||||
|
<div id="script"> |
||||
|
<script type="text/javascript" src="../js/prism.js"></script> |
||||
|
<pre><code class="language-python">import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs |
||||
|
from pirc522 import RFID |
||||
|
import time |
||||
|
|
||||
|
GPIO.setmode(GPIO.BOARD) #Définit le mode de numérotation (Board) |
||||
|
GPIO.setwarnings(False) #On désactive les messages d'alerte |
||||
|
|
||||
|
rc522 = RFID() |
||||
|
util = rc522.util() |
||||
|
|
||||
|
print ("attente passage badge employe") |
||||
|
while True: |
||||
|
(error, tag_type) = rc522.request() |
||||
|
</code></pre> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<p>Nous y ajoutons ensuite la condition de si il n'y a pas d'erreur lire le tag de la carte.</p> |
||||
|
|
||||
|
<div id="script"> |
||||
|
<script type="text/javascript" src="../js/prism.js"></script> |
||||
|
<pre><code class="language-python">import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs |
||||
|
from pirc522 import RFID |
||||
|
import time |
||||
|
|
||||
|
GPIO.setmode(GPIO.BOARD) #Définit le mode de numérotation (Board) |
||||
|
GPIO.setwarnings(False) #On désactive les messages d'alerte |
||||
|
|
||||
|
rc522 = RFID() |
||||
|
util = rc522.util() |
||||
|
print ("attente passage badge employe") |
||||
|
while True: |
||||
|
(error, tag_type) = rc522.request() |
||||
|
if not error: |
||||
|
(error, uid) = rc522.anticoll() |
||||
|
</code></pre> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<p>Par la suite nous remettrons une condition que si il n'y a pas d'erreur alors afficher le tag reçus avec le DEBUG.</p> |
||||
|
|
||||
|
<div id="script"> |
||||
|
<script type="text/javascript" src="../js/prism.js"></script> |
||||
|
<pre><code class="language-python">import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs |
||||
|
from pirc522 import RFID |
||||
|
import time |
||||
|
|
||||
|
GPIO.setmode(GPIO.BOARD) #Définit le mode de numérotation (Board) |
||||
|
GPIO.setwarnings(False) #On désactive les messages d'alerte |
||||
|
|
||||
|
rc522 = RFID() |
||||
|
util = rc522.util() |
||||
|
|
||||
|
print ("attente passage badge employe") |
||||
|
while True: |
||||
|
(error, tag_type) = rc522.request() |
||||
|
if not error: |
||||
|
(error, uid) = rc522.anticoll() |
||||
|
if not error: |
||||
|
print("UID: " + str(uid)) |
||||
|
E_UID=str(uid).replace(" ", "") |
||||
|
print("DEBUG E_UID:",E_UID) |
||||
|
</code></pre> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<p>Nous avons finit le programme permettant d'utiliser un lecteur NFC avec son RPI, il ne vous reste plus qu'a le tester en passant un tag. Mais ils n'est pas vraiment complet il manquerait une condition qui aretterait le programme comme par example au bout de 20 minutes aretter le programmes etc... Laissez libre cour a votre imaginations.</p> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<div class="partie"> |
||||
|
<nav id="navigation"> |
||||
|
<li><a class="lien" href="#ancre1">Une lecteur NFC c'est quoi?</a></li> |
||||
|
<li><a class="lien" href="#ancre2">Le matériel à avoir</a></li> |
||||
|
<li><a class="lien" href="#ancre3">Les ports GPIO qu'est ce que c'est ?</a></li> |
||||
|
<li><a class="lien" href="#ancre4">Premiers branchements</a></li> |
||||
|
<li><a class="lien" href="#ancre5">Le programme</a></li> |
||||
|
</nav> |
||||
|
</div> |
||||
|
<script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> |
||||
|
<script src="../js/scroll.js"></script> |
||||
|
|
||||
|
</body> |
||||
|
|
||||
|
|
||||
|
</html> |
@ -0,0 +1,223 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<head> |
||||
|
<meta charset="utf-8"> |
||||
|
<title>La programmation avec Jean-Lou</title> |
||||
|
<link rel="stylesheet" type="text/css" href="../css/style.css"> |
||||
|
<link rel="stylesheet" type="text/css" href="../css/prism.css"> |
||||
|
</head> |
||||
|
<body> |
||||
|
<nav> |
||||
|
<ul style="width: 1000px;"> |
||||
|
<li> |
||||
|
<a href="../Index.html">Accueil</a> |
||||
|
</li> |
||||
|
|
||||
|
<li class="menu-deroulant"> |
||||
|
<a href="#"class="ho_menu">Languages</a> |
||||
|
<ul class="sous-menu"> |
||||
|
<li><a href="../language/python.html">Python</a></li> |
||||
|
<li><a href="../language/c.html">C</a></li> |
||||
|
<li><a href="../language/c++.html">C++</a></li> |
||||
|
</ul> |
||||
|
</li> |
||||
|
|
||||
|
<li class="menu-deroulant"> |
||||
|
<a href="#" class="ho_menu">Rasberry Pi</a> |
||||
|
<ul class="sous-menu"> |
||||
|
<li><a href="histoire.html">Histoire</a></li> |
||||
|
<li><a href="os.html">Mettre un os</a></li> |
||||
|
<li><a href="lecteur.html">lecteur NFC</a></li> |
||||
|
</ul> |
||||
|
</li> |
||||
|
|
||||
|
<li><a href="interpreteur/interpreteur.html">Interpréteur</a></li> |
||||
|
</ul> |
||||
|
</nav> |
||||
|
|
||||
|
<div class="aligne"> |
||||
|
<div class="article"> |
||||
|
|
||||
|
<h1 id="ancre1">Bienvenue sur la page des bases du Rasberry PI !<br><br><br></h1> |
||||
|
|
||||
|
<img src ="https://www.raspberrypi.org/app/uploads/2018/03/RPi-Logo-Reg-SCREEN.png" id="framboise"></img> |
||||
|
|
||||
|
<h2>Installation d'un système d'exploitation</h2> |
||||
|
|
||||
|
<p>Pour ce tuto vous utiliserez le système d'exploitation Debian, sans interface graphique, que vous aurez préalablement installé sur votre Raspberry PI.<br><br> |
||||
|
|
||||
|
En premier lieu vous téléchargerez l'image de Debian sans interface graphique depuis le site Debian. Il s'agit un fichier avec l'extension .ISO<br><br> |
||||
|
Ensuite installez le logiciel de copie Win32 si vous ne le possédez pas. Retirez la carte SD de votre Rasberry pi et insérez-la dans votre PC.<br><br> |
||||
|
Exécutez win32:</p> |
||||
|
|
||||
|
<img src="https://a.fsdn.com/con/app/proj/win32diskimager/screenshots/Win32DiskImager-1.0.png/max/max/1" class="feprogramme"> |
||||
|
|
||||
|
<p id="ancre2">Faites pointer " Image File " sur le fichier Debian précédemment téléchargé, ensuite choisir votre carte SD dans " Device " puis cliquez sur " Write ".<br> |
||||
|
Après la copie sur la carte SD, retirez cette dernière de votre PC et installez-la dans le Raspberry. Démarrez ce dernier.</p> |
||||
|
|
||||
|
|
||||
|
<h2>Premier lancement</h2> |
||||
|
|
||||
|
<p>Les codes d'accès par défaut de la version Debiansont les suivants:<br><br> |
||||
|
-nom d'utilisateur : pi<br> |
||||
|
-mot de passe : raspberry<br><br> |
||||
|
|
||||
|
Au "login:" Connectez vous avec cet identifiant et ce mot de passe.<br> |
||||
|
Vous arrivez sur une ligne de commande toute simple avec un "$" à gauche. Vous pouvez alors exécuter l'utilitaire de configuration par la commande suivante: " sudo raspi-config "<br> |
||||
|
un peu de vocabulaire:<br> |
||||
|
Debian est un système d'exploitation dérivé de Linux, lui-même dérivé de UNIX. La gestion des accès fichiers et utilisateurs est très différente du monde Windows.<br> |
||||
|
L'utilisateur pi par défaut ne contient pas de droits étendus sur le système, il est juste maître de son propre univers, c'est à dire pas grand chose.<br><br> |
||||
|
Il peut parfois être utile d'exécuter des commandes de configuration. Il est alors possible de "monter" d'un niveau utilisateur afin d'avoir des droits d'accès plus élevés. C'est lerôle de la commande sudo, qui signifie en abrégé <strong>S</strong>uper<strong>U</strong>tilisateur fait (do en anglais).<br><br> |
||||
|
raspi-config est juste le programme de configuration à exécuter.</p> |
||||
|
|
||||
|
<img src="https://3.bp.blogspot.com/-sn3hid7mdJs/VpeRXlvPl5I/AAAAAAAAAmA/ec-NQiMa1X8/s1600/Untitled%2B%2528Time%2B0_00_11%253B26%2529.png" id="sudo"> |
||||
|
|
||||
|
<p>Vous sécuriserez l'accès en changeant immédiatement votre mot de passe en cliquant sur " Change User Password ".</p> |
||||
|
<img src="https://www.raspberrypi-france.fr/wp-content/uploads/2019/05/raspi-config.png" id="user_password"> |
||||
|
|
||||
|
<p id="ancre3">L'installation et la configuration de notre système d'exploitation étant terminée, vous pouvez débuter l'aprentissage des commandes de bases.</p> |
||||
|
|
||||
|
<h2>Les commandes essentielles</h2> |
||||
|
|
||||
|
<p>Les commandes de bases sont indispensable à connnaître si on veut pouvoir programmer et utiliser notre RPI ( raccourci du nom Rasberry Pi)<br><br> |
||||
|
|
||||
|
Les fichiers sont gérer de cette manière, par arborescence , en partant d'une racine (rooten anglais), symbolisée par le synbole "/":</p> |
||||
|
|
||||
|
<img src="https://pixees.fr/informatiquelycee/n_site/img/nsi_prem_base_linux_2.png" class="arbre"> |
||||
|
|
||||
|
<p>"ls": "list-short": affiche la liste des fichiers du répertoire courant..<br><br> |
||||
|
Exemple :</p> |
||||
|
|
||||
|
<img src="https://www.begin-it.com/media-content/blog/how-to-manage-files-from-the-linux-terminal-11-commands-you-need-to-know-1.png" class="feprogramme"> |
||||
|
|
||||
|
<p>Si vous souhaitez une meilleure lisibilité des fichiers, affichier les droits, le créateur, la date de création,.. ajouter des paramètres à la commande "ls" tel que " -l ".<br><br> |
||||
|
Exemple :</p> |
||||
|
<img src="https://imgs.developpaper.com/imgs/201810890740605.png" class="feprogramme"> |
||||
|
|
||||
|
<p>"pwd": affiche le répertoire courant.<br><br> |
||||
|
Exemple:</p> |
||||
|
|
||||
|
<img src="https://upload.wikimedia.org/wikipedia/commons/7/7c/Pwdkommando.png" class="feprogramme"> |
||||
|
|
||||
|
<p>"cd": "Change Directory": Permet de se déplacer dans l'arborescence.</p> |
||||
|
<br>Le paramètre associé à cd est le nom du répertoire cible.<br> |
||||
|
<br> |
||||
|
Exemple :</p> |
||||
|
|
||||
|
<div id="script"> |
||||
|
|
||||
|
|
||||
|
<script type="text/javascript" src="prism.js"></script> |
||||
|
|
||||
|
<pre><code class="language-c">pi@raspberrypi:~ $ cd /home/photos</code></pre> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<p>Dans ce cas précis, la commande vous placera dans le dossier /home/photos.</p> |
||||
|
|
||||
|
<div id="script"> |
||||
|
|
||||
|
|
||||
|
<script type="text/javascript" src="prism.js"></script> |
||||
|
|
||||
|
<pre><code class="language-c">pi@raspberrypi:~/home/photos $ </code></pre> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<p>Les déplacements dans les répertoires sont absolus ou relatifs:<br> |
||||
|
- absolus: on se déplace en précisant le nom complet du chemin depuis la racine "/": cd /home/<br> |
||||
|
- relatifs: on se déplace vers le réertoire indiqué depuis l'emplacement courant: cd photos: si nous sommes initialement dans /home, nous nous déplacerons dans /home/photos.<br><br> |
||||
|
Il existe deux répertoires particuliers: |
||||
|
- "..": représente le réertoire au-dessus: cd .. remonte de /home/photos à /home</p> |
||||
|
- ".": représente le réertoire courant: cd . reste dans /home<br><br> |
||||
|
Enfin l'utilisation de cd sans paramètre retourne dans le répertoire de l'utilisateur (du login initial).<br><br></p> |
||||
|
|
||||
|
<p>Pour créer un répertoire vous utiliserez la commande " mkdir " avec le nom du répertoire en paramètre.<br><br> |
||||
|
Exemple:</p> |
||||
|
|
||||
|
<img src="http://www.jetestelinux.com/wp-content/uploads/2016/03/mkdirmonrep.png" id="mkdir"> |
||||
|
|
||||
|
<p>Un répertoire a été créé sous le nom voulu qui dans ce cas est " monrep ".</p> |
||||
|
|
||||
|
<p>Parfait maintenant passont à la création de fichier.<br><br> |
||||
|
La commande pour créer un fichier texte vide sera " touch " suivi du nom de votre fichier. Il sera créer dans le répertoire dans lequel vous êtes.<br><br> |
||||
|
Exemple : </p> |
||||
|
|
||||
|
<img src="https://media.geeksforgeeks.org/wp-content/uploads/touch4.png" class="feprogramme"> |
||||
|
|
||||
|
<p id="ancre4">Vous pouvez préciser une extension de fichier afin de permettre de l'ouvrir directement sans appeler le programme. <br><br> |
||||
|
Vous pouvez également ajouter des paramètres complémentaires.<br><br> |
||||
|
Par exemple " -a " pour créer le fichier en modification ou bien " -m " pour modifier l'heure de modification. Je ne vous fairais pas toute la liste des paramètres qui existent mais vous avez compris le concept, à vous de vous amusez.</p> |
||||
|
|
||||
|
<h2>Utiliser un éditeur de texte</h2> |
||||
|
|
||||
|
<p>Pour ce tuto vous utiliserez l'éditeur de texte nano et non vim. Pour deux raisons simples, la première est que j'utilise nano et non vim ( enfin pas assez pour montrer comment l'utiliser ) et la deuxième est que nano est plus simple d'utilisation mais possède moins de capacité que vim.<br><br> |
||||
|
|
||||
|
Pour accéder a nano taper en ligne de commande " nano " avce le nom du fichier que vous voulez éditer, en absolu ou relatif. Si le fichier n'existe pas, il sera créé automatiquement. |
||||
|
Exemple :</p> |
||||
|
|
||||
|
<div id="script"> |
||||
|
|
||||
|
|
||||
|
<script type="text/javascript" src="prism.js"></script> |
||||
|
|
||||
|
<pre><code class="language-c">pi@raspberrypi:~ $ nano Exemple.txt</code></pre> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<p>Normalement cela vous ouvrira cette fenêtre :</p> |
||||
|
<img src="https://user.oc-static.com/files/94001_95000/94040.png" class="feprogramme"> |
||||
|
|
||||
|
<p>Cette fenêtre est l'interface de nano vous permettant de saisir le code.</p> |
||||
|
|
||||
|
<p>Maintenant que vous savez lancer nano vouyons les commandes de bases ( Elles sont accessibles en raccourci en bas de la fenetre de l'éditeur)..<BR><BR> |
||||
|
<img src="https://user.oc-static.com/files/94001_95000/94042.png" id="racourci"><br><br> |
||||
|
Examinons-les sous forme de liste avec explication.<br><br></p> |
||||
|
<ul class="conano"> |
||||
|
<li>Ctrl + G : afficher l'aide ;</li> |
||||
|
<li>Ctrl + K : couper la ligne de texte (et la mettre dans le presse-papier) ;</li> |
||||
|
<li>Ctrl + U : coller la ligne de texte que vous venez de couper ;</li> |
||||
|
<li>Ctrl + C : afficher à quel endroit du fichier votre curseur est positionné (numéro de ligne…) ;</li> |
||||
|
<li>Ctrl + W : rechercher dans le fichier ;</li> |
||||
|
<li>Ctrl + O : enregistrer le fichier (écrire) ;</li> |
||||
|
<li>Ctrl + X : quitter Nano.</li> |
||||
|
</ul> |
||||
|
|
||||
|
<p>Nous allons mettre notre programme python de tout a l'heure dans ce fichier.<br> |
||||
|
D'abord il faut s'assurer que python est bien installer sur le RPI pour cela revener sur le terminal de commande et mettez la commande " python " comme ci dessous: |
||||
|
<br><br> |
||||
|
<img src="https://iut-info.univ-reims.fr/users/nocent/python/content/img/windows-terminal.png" id="cmd_python"> |
||||
|
</p> |
||||
|
|
||||
|
<p>Si vous avez le même message vous êtes alors dans l'interpréteur python et donc cela confirme que vous avez python d'installer sur votre machine. Si ce n'est pas le cas regarder des tuto sur internet il en éxiste des milliers et c'est très simple a faire.</p> |
||||
|
|
||||
|
<p>Enregistrez votre programme en tapant " Ctrl + O ", puis " Ctrl + x " pour quitter nano.<br><br> |
||||
|
Votre premier programme est enregistré sur votre RPI. Utilisez " ls " afin de contrôler son existence. Il ne vous reste qu'à l'exécuter en saisissant" python " suivi du nom de votre programme. <br> |
||||
|
<br> |
||||
|
Exemple:</p> |
||||
|
|
||||
|
<div id="script"> |
||||
|
<script type="text/javascript" src="../js/prism.js"></script> |
||||
|
<pre><code class="language-c">pi@raspberrypi:~ $ python exemple.py</code></pre> |
||||
|
</div> |
||||
|
|
||||
|
<p>Vous n'aurez plus qu'a appuyer sur entrée et votre programme s'éxécutera tout seul.</p> |
||||
|
|
||||
|
<p>C'est déja la fin des bases sur RPI, vous pouvez donc passer à la page suivante pour apprendre à utiliser les ports GPIO du RPI avec un lecteur NFC et mettre en oeuvre tout ce que l'on vient de dire.</p> |
||||
|
</div> |
||||
|
|
||||
|
<div class="partie"> |
||||
|
<nav id="navigation"> |
||||
|
<li><a class="lien" href="#ancre1">Installer un os</a></li> |
||||
|
<li><a class="lien" href="#ancre2">Premier lancement</a></li> |
||||
|
<li><a class="lien" href="#ancre3">Les commandes essentiels</a></li> |
||||
|
<li><a class="lien" href="#ancre4">Utiliser un éditeur de texte</a></li> |
||||
|
</nav> |
||||
|
</div> |
||||
|
<script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> |
||||
|
<script src="../js/scroll.js"></script> |
||||
|
|
||||
|
|
||||
|
</body> |
||||
|
|
||||
|
|
||||
|
</html> |
Loading…
Reference in new issue