|
|
(98 révisions intermédiaires par le même utilisateur non affichées) |
Ligne 1 : |
Ligne 1 : |
− | __TOC__
| |
− | <br style="clear: both;"/>
| |
| | | |
− | =Présentation générale=
| |
− | * '''Nom du projet :''' Déploiement d'un réseau LoRaWAN
| |
− |
| |
− | * '''Stagiaire :''' Ibrahim BEN DHIAB
| |
− |
| |
− | =Sujet de stage=
| |
− |
| |
− | Dans le cadre des travaux de recherches menés sur les objets connectés, l'étudiant devra déployer au sein de l'IRCICA un réseau expérimental LoRaWan. Pour cela, il devra installer et configurer une passerelle LoRaWAN pour la réception des données. Puis, il déploiera une dizaine de noeuds. Chaque noeud est composé d'un microcontrôleur STM32F4, d'une radio LoRa I-NUCLEO-LRWAN1 et de capteurs (température, ouverture de porte, ...). L'étudiant devra réaliser la programmation de chaque noeud et mettre en place une solution pour faciliter le redéploiement du code. Les noeuds seront ensuite installés dans différents bureaux.
| |
− |
| |
− | ==LoRaWAN==
| |
− | [https://fr.wikipedia.org/wiki/LoRaWAN LoRaWAN] est un protocole de télécommunication permettant la communication à bas débit, par radio, d'objets à faible consommation électrique communiquant selon la technologie LoRa et connectés à l'Internet via des passerelles, participant ainsi à l'Internet des objets. Ce protocole est utilisé dans le cadre des villes intelligentes, le monitoring industriel ou encore l'agriculture. La technologie de modulation liée à LoRaWAN est LoRa, née à la suite de l'acquisition de la startup grenobloise Cycléo par Semtech en 2012. Semtech promeut sa plateforme LoRa grâce à la LoRa Alliance, dont elle fait partie. Le protocole LoRaWAN sur la couche physique LoRa permet de connecter des capteurs ou des objets nécessitant une longue autonomie de batterie (comptée en années), dans un volume (taille d'une boite d'allumettes ou d'un paquet de cigarettes) et un coût réduits.
| |
− |
| |
− | LoRaWAN est l'acronyme de Long Range Wide-area network que l'on peut traduire par « réseau étendu à longue portée ».
| |
− |
| |
− | ==Matériel==
| |
− |
| |
− | *1 [https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ Raspberry Pi 3 Model B] : utilisé pour héberger le serveur LoRaWAN et la passerelle
| |
− |
| |
− | *1 [https://wireless-solutions.de/products/radiomodules/ic880a.html Concentrateur IC880A-LoRaWAN] : utilisé comme passerelle
| |
− |
| |
− | *X [https://os.mbed.com/platforms/ST-Nucleo-F401RE/ ST-NUCLEO-F401RE] : composé d'un microcontrôleur STM32F4 et d'une connectivité type Arduino Uno Revision 3
| |
− |
| |
− | *X [https://www.st.com/en/evaluation-tools/i-nucleo-lrwan1.html Shield USI I-NUCLEO-LRWAN1 WM-SG-42] : shield radio LoRa
| |
− |
| |
− | *Capteurs... (HT11 pour la température et l'humidité, PIR pour détection de mouvement infrarouge)
| |
− |
| |
− | *Lecteur de carte SD
| |
− |
| |
− | *Câble USB vers série
| |
− |
| |
− | =Configuration du Rasperry Pi=
| |
− |
| |
− | ==Installation de l'OS et configuration initiale==
| |
− |
| |
− | Tout d'abord, télécharger [https://www.raspberrypi.org/downloads/raspbian/ Raspbian Stretch Lite], Lite car l'interface graphique n'est pas utile. Ensuite, il s'agit simplement de suivre le [https://www.raspberrypi.org/documentation/installation/installing-images/README.md guide d'installation] de l'image sur la carte SD qui sera ensuite insérée dans le Pi.
| |
− |
| |
− | Avant d'insérér la carte, pensé à ajouter la ligne <code>enable_uart=1</code> à la fin du fichier ''config.txt'' situé dans la partition '''BOOT''' de la carte pour activer la liaison série du Raspberry. Une fois insérer, connecter le câble USB vers série sur le PC et les fils TX et RX sur les pins RX et TX du Pi respectivement. Les pins 8 et 10 de la liaison série du Pi sont visibles ci-dessous :
| |
− |
| |
− | [[Fichier:gpio_pi3b.png|400px|center|middle|thumb|GPIO Raspberry Pi 3 Model B]]
| |
− |
| |
− | Le Pi peut maintenant être alimenté, et on peut y accéder via un terminal à l'aide de la commande <code>minicom -8 -b 9600 -o -D /dev/ttyUSB0</code>. Les logins par défaut sont ''pi'' : ''raspberry'' .
| |
− |
| |
− | Maintenant, il est nécessaire de connecter l'appareil à Internet, relier le ainsi par Ethernet, et il devrait se configurer automatiquement par DHCP. Par la suite, on souhaite se connecter par SSH au Pi, il est ainsi nécessaire de mettre en place une IP statique, pour cela, il faut au préalable récupérer des informations.
| |
− |
| |
− | Lancer <code>ip -4 addr show | grep global</code> qui retournera ce genre de résultat <code>inet 192.168.42.12/24 brd 192.168.42.255 scope global eth0</code>. On connaît maintenant l'adresse IP du Pi, mais l'IP statique qu'on lui attribuera sera 192.168.42.250 pour s'assurer qu'aucun autre appareil utilise la même IP.
| |
− |
| |
− | Ensuite, trouver l'adresse du routeur (ou de la gateway) avec <code>ip route | grep default | awk '{print $3}'</code>, dans notre cas on obtient <code>192.168.42.1</code>.
| |
− |
| |
− | Enfin, récupérer l'adresse du serveur DNS à l'aide de <code>cat /etc/resolv.conf</code> et garder en tête l'adresse après <code>nameserver</code>.
| |
− |
| |
− | La méthode dhcpcd sera utilisée pour définir l'IP statique:
| |
− |
| |
− | Edité <code>/etc/dhcpcd.conf</code> comme suit à l'aide de l'éditeur de votre choix (dans mon cas '''nano'''):
| |
− |
| |
− | # Example static IP configuration:
| |
− | interface eth0
| |
− | static ip_address=192.168.42.250/24
| |
− | #static ip6_address=fd51:42f8:caae:d92e::ff/64
| |
− | static routers=192.168.42.1
| |
− | static domain_name_servers=192.168.42.12
| |
− |
| |
− | Changer le mot de passe du Pi à l'aide de <code>passwd</code> puis rédemarrer le avec <code>sudo halt</code>.
| |
− |
| |
− | Il est maintenant possible de se connecter en SSH au Pi avec <code>ssh pi@192.168.42.250</code>, il n'est plus nécessaire d'utiliser la câble série.
| |