Académique Documents
Professionnel Documents
Culture Documents
Internet connait aujourd’hui une extension inédite avec le développement des objets
connectés. Jusqu’alors, internet se concevait comme la capacité des personnes de
communiquer à tout moment et en tout lieu ; avec les objets connectés, le monde physique
peut désormais communiquer, que ce soit pour des relations de personnes à personnes, de
personnes à objets ou d’objets à objets. Partant, les importantes potentialités offertes par ce
qu’il a été convenu d’appeler « l’internet des objets » (IoT, Internet of Things) sont encore,
pour la plupart, à explorer. Il semble que nous sommes à l’aube d’une nouvelle révolution
technologique, ou la seule limite est celle de notre capacité d’imagination.
Les objets connectés peuvent être des capteurs qui communiquent les données récoltées vers
une application métier. Cela peut également être des actionneurs qui obéissent à un ordre
envoyé depuis cette même application métier. Pour la transmission des données, on peut
utiliser des réseaux spécialement conçus pour l’IoT (LoRa, Sigfox, etc.) ou bien les réseaux
classiques (cellulaire, filaire, etc.). L’IoT représente ainsi un moyen de faciliter l’accès aux
données.
L’innovation dans l’IoT se trouve à chacun des niveaux de l’architecture d’une solution de
remontée des données. Elle va du capteur jusqu’au moyen de visualisation utilisé en passant
par les réseaux de transmission et les bases de données dédiées à ce type de services
Présentation du projet
Dans ce projet, nous avons comme mission de mettre en place un objet qui capte un certain
nombre d’informations et les envoie vers une Gateway. Cette Gateway doit être connectée à
un module radio inAIR9(SX1276) pour permettre l’envoi des données vers le Cloud . Ces
informations ou données devraient également pouvoir être récupérées et afficher au niveau
des applications.
Le Matériels utilisés :
L’Arduino Nano :
L’arduino est un environnement de développement intégré fonctionnant sur divers systèmes
d’exploitation (Windows, Mac OS, Gnu/Linux) qui permet d'éditer le programme sur un
ordinateur et de le transférer via le port USB.
L'Arduino Nano est un petit, complet et convivial tableau basé sur l’ATmega328
(Arduino Nano 3.x). Il a plus ou moins les mêmes fonctionnalités que l'Arduino
Duemilanove, mais dans un package différent. Il ne manque que la prise
d'alimentation CC et fonctionne avec un câble USB Mini-B au lieu d'un câble
standard.
La Nano 3.0 peut se programmer avec le logiciel Arduino. Le contrôleur ATMega328
contient un bootloader qui permet de modifier le programme sans passer par un
programmateur. Le logiciel est téléchargeable gratuitement.
Caractéristiques Techniques :
- alimentation:
via port USB ou
5 Vcc régulée sur broche 27 ou
6 à 20 V non régulée sur broche 30
- microprocesseur: ATMega328
- mémoire flash: 32 kB
- mémoire SRAM: 2 kB
- mémoire EEPROM: 1 kB
- 14 broches d'E/S dont 6 PWM
- 8 entrées analogiques 10 bits
- intensité par E/S: 40 mA
- cadencement: 16 MHz
- bus série, I2C et SPI
- gestion des interruptions
- fiche USB: mini-USB B
- boîtier DIL30
- dimensions: 45 x 18 x 18 mm
Version d'origine fabriquée en Italie.
câblage:
Le capteur de gaz MQ2 est utilisé pour la détection des fuites de gaz pour les équipements
des marches de grandes consommations et industriel. Ce capteur est conçu pour détecter le
LPG , butane, propane , méthane, alcool, hydrogène et la fumee.il a une très grande
sensibilités peut d’ailleurs être ajustée par potentiomètre..
Caractéristiques Techniques
Dimensions du produit: 32 x 20 x 15 (L x P x H)
puce: LM393, zymq-2 capteurs de gaz
Tension de fonctionnement: 5V DC
la détection de gaz: gaz combustibles, vapeurs
concentration détectable: 300-10000ppm (gaz inflammable)
câblage:
Présentation
Ce module intègre un capteur MQ303A (permettant de détecter la concentration
d'alcool) qu'il vous sera possible de raccorder à une platine Arduino, Raspberry, BeagleBone
Black, mbed, PHPoC ou CB210 au travers d’une platine "Shield" intermédiaire.
Ce capteur permet de mesurer la concentration présente dans l'air. Il est souvent utilisé pour
réaliser des ethymolètre.Simple à utiliser, il ne nécessite qu'une résistance de charge de 200
kohm pour être utilisé avec une carte Arduino.
Caractéristique Technique
Circuit de 5 V en CC ou en CA
Nécessite une tension de chauffage
Température de fonctionnement : -10 à 70 °C
Consommation du chauffage : inférieure à 750 mW
Cablage
Présentation
Ce module didactique délivre une tension analogique en fonction du niveau d'eau grâce à ses
pistes imprimées. Le capteur délivre ''700'' lorsque le niveau est au maximum et ''450'' lorsque
le niveau est au plus bas.
Applications: capteur de pluie, détecteur de fuites, capteur de niveau.
Caractéristiques Techniques
Alimentation: 5 Vcc
Sorties: Signal, Vcc, Gnd
Dimensions: 60 x 21 x 7 mm
Cablage
Logiciels utilisés
Grafana
Node-red
Architecture
1.
Décompresser le code source :
2. Connecter la Gateway :
On modifie la zone "struct pins" et le configure pour une carte de circuit imprimé
classique (= Comresult) ou le configure pour une carte de circuit imprimé Hallard
dans laquelle les broches dio0, dio1 et dio2 sont partagées. Vous devez vérifier cette
section.
5. Compiler le code:
On compile le code et charge l'exécutable via USB sur la passerelle. Si tout est
correct, on devra voir la passerelle démarrer sur le moniteur série.
6. Récupérer l’adresse IP :
On note l'adresse IP que le périphérique reçoit de votre routeur. Utilisez cette adresse
IP dans un navigateur de votre ordinateur pour vous connecter à la passerelle à l'aide
du navigateur.
A ce stade notre Gateway devrait être en cours d'exécution. On utilise la page Web
pour définir "debug" sur 1 et on devrait pouvoir voir les paquets arriver sur le
moniteur série.
Configuration de la Gateway:
Le fichier ESP-sc-gway.h contient tous les paramètres configurables par l'utilisateur. Tous
ont leurs définitions définies dans des instructions #define. En général, définir un #define à 1
activera la fonction et un réglage à 0 le désactivera.
Déboguer
#define DEBUG 1
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
Définissez le facteur _SPREADING sur la valeur souhaitée de SF7, SF8 - SF12. Veuillez
noter que cette valeur est étroitement liée à la valeur utilisée pour _CAD. Si _CAD est activé,
la passerelle n'utilise pas la valeur _SPREADING car tous les facteurs de lecture sont activés.
La détection d'activité de canal (CAD) est une fonction de la puce LoRa RFM95 permettant
de détecter les messages entrants (activité). Ces messages entrants peuvent arriver sur l'un des
facteurs de propagation bien connus SF7-SF12. En activant la CAO, la passerelle peut
recevoir des messages de n’importe quel facteur de propagation.
En réalité, il est utilisé en fonctionnement normal pour indiquer au récepteur qu'un autre
signal utilise déjà le canal.
#define _CAD 1
À partir de la version 4.0.6, la passerelle permet la mise à jour sans fil si le paramètre
A_OTA est activé. Le logiciel hertzien nécessite le réglage unique de la version 4.0.6 via
USB sur la passerelle, après quoi le logiciel est (par défaut) activé pour utilisation.
La première version ne prend en charge que la fonction OTA utilisant l'EDI, ce qui signifie
en pratique que l'EDI doit se trouver sur le même segment de réseau que la
#define A_OTA 1
Activer le serveur Web
Ce paramètre active le serveur Web. Bien que le serveur Web lui-même utilise beaucoup de
mémoire, il facilite grandement la configuration de la passerelle au moment de l’exécution et
examine son comportement. Il fournit également des statistiques sur les derniers messages
reçus. Le paramètre A_REFRESH définit si le serveur Web doit être renouvelé toutes les X
secondes.
Pour que la passerelle envoie des messages sur la liaison descendante sur le facteur
d'étalement prédéfini et sur la fréquence par défaut, vous devez définir le paramètre
_STRICT_1Ch sur 1. Notez que s'il n'est pas défini sur 1, la passerelle répond aux demandes
de liaison descendante avec la fréquence et le facteur de propagation définis par le serveur
principal. Et pour le moment, TTN répond aux messages de liaison descendante pour SF9-
SF12 dans l'intervalle de temps RX2 et avec une fréquence de 869,525 MHz et sur SF12
(selon le standard LoRa lors de l'envoi dans l'intervalle de temps RX2).
#define _STRICT_1CH 0
En configurant OLED, vous configurez le système pour qu’il fonctionne avec les panneaux
OLED sur I2C. Certains panneaux fonctionnent à la fois par SPI et I2C, où I2c est le
solwer. Cependant, étant donné que SPI est utilisé pour la communication émetteur-récepteur
RFM95, vous ne pouvez pas vous en servir en utilisant l’un d’eux, car ils ne fonctionneront
pas avec ce logiciel. Choisissez plutôt une solution OLED qui fonctionne sur I2C.
#define OLED 1
Il est possible d'utiliser la passerelle en tant que nœud. De cette façon, les valeurs du capteur
local / interne sont rapportées. Il s’agit d’une fonction gourmande en ressources processeur et
mémoire car la création d’un message de capteur implique des fonctions EAS et CMAC.
Le moyen le plus simple de configurer la passerelle sur le WiFi consiste à utiliser la fonction
WiFimanager. Cette fonction fonctionne hors de la boîte. WiFiManager mettra la passerelle
en mode point d'accès afin que vous puissiez vous y connecter en tant que point d'accès WiFi.
Serveur Web
Le serveur Web intégré peut être utilisé pour afficher des informations sur l'état et le
débogage. De plus, le serveur Web permet à l'utilisateur de modifier certains paramètres au
moment de l'exécution, tels que le niveau de débogage ou d'activer et de désactiver la
fonction de CAO. Vous pouvez y accéder à l’URL suivante: http: //: 80 où est l’IP donnée par
le routeur à l’ESP8266 au démarrage. Il s’agit probablement de 192.168.1.XX. Le serveur
Web affiche divers paramètres de configuration et fournit des fonctions permettant de définir
des paramètres.
Le résultat
Conclusion
Ce projet d’Arduino a été pour nous une occasion de développer intégralement une solution
IoT. Nous avons mis la main dans la patte en manipulant toutes les composantes du réseau
des objets, de la collecte des données par les capteurs à leur visualisation au niveau des
applications, en passant par la Gateway et le Cloud.
Notre premier obstacle a été la définition et la configuration de la Gateway. Cela nous a pris
beaucoup de temps. Après l’avoir franchi nous nous sommes confrontés au problème de
récupération des données au niveau des applications. Mais finalement nous y sommes
parvenus en modifiant notre code.