une connexion `a envoyer les donn´ees vers le serveur.Pour les transfert de donn´ees, nous avons con¸cu un contrˆoleur pour surveiller l’intensit´e du signal 3G et d´ecider quand les don
Trang 2Je souhaite tout d’abord remercier mon encadrant de stage, monsieur Han Mingding,pour m’avoir accueilli dans l’´equipe, pour son soutien tout au long du stage, sa disponi-bilit´e, et ses conseils nombreux et ´eclair´es.
Merci ´egalement `a Ma Xiaoping pour m’avoir aid´e `a me familiariser avec nement de d´eveloppement `a I2R, mais surtout pour sa gentillesse et son implicationdans mon stage
l’environ-Un grand merci `a Brian et Alvin pour leurs conseils dans des nombreux probl`emes detechnique
Enfin, merci `a tous les mebres de SNS pour la gentillesse de m’aider `a familier avec lenouvel environnement de travail et le nouveau pays
Trang 3une connexion `a envoyer les donn´ees vers le serveur.
Pour les transfert de donn´ees, nous avons con¸cu un contrˆoleur pour surveiller l’intensit´e
du signal 3G et d´ecider quand les donn´ees seraint envoi´ees L’objectif de ce contrˆoleurest de sauver des ressources et de l’´energie tout en ´eviter la cause de r´eexp´edition inutile
de la mauvaise connexion En fin, les r´esultats de l’exp´erimentation nous aideront `aconstruire un ensemble de r`egles pour obtient un contrˆoleur plus ”int´elligent”
Dans ce projet, on utilise technologies de ”Message Queuing Telemetry Transport”, unprotocole l´eger pour le r´eseau de capteurs sans fil et son utilisation dans le domaine del’Internet des Objets (Internet of Things) - la future de l’Internet
AbstractThis work aims to develop a wireless sensor package to collect the luminance signalfrom the environment This package can be binded to the car or bus travel around thecity and send the data collected to the server via 3G/4G connection in real time Theanalysis from data collected can help to give a plan for light system maintain, savingenergy or ensure a safe city, etc
The package conducted data with the signals from the light sensors which show status
of shiny, Inertial Measurement Unit combination of accelerometers, gyroscopes, tometers and a GPS to give the location and time for these data, finally an 3G donglewith 3G simcard provide connection to send the data to server
magne-For the data transferring, we have designed a controller to monitoring the 3G signalstrength and decide whether to send data or not The objective of this controller issaving resource and energy while avoid the unnecessary resending cause of the badconnection In the end, results from experimentation will help us to build a set of rulesfor the intelligent controller
Trang 4Acknowledgements i
Liste des Tableaux vii
1.1 Introduction 1
1.2 Les exigences du projet 2
2 Context 3 2.1 Internet des objets - la future de Internet 3
2.2 Les protocoles dans la domain IoT 4
2.2.1 Hypertext Transfer Protocol, un protocole bien connu 4
2.2.2 CoAP - Contrainte Application Protocol, le protocole pour le web des objets 4
2.2.3 Message Queuing Telemetry Transport 7
2.2.4 Quel est le meilleur protocole? 10
3 D´eveloppement 12 3.0.5 Equipement 12
3.0.5.1 Mat´eriel n´ecessaire 12
3.0.6 Logiciel et environnement de configuration 17
3.0.6.1 Configuration de l’environnement de d´eveloppement 17
3.0.6.2 BeagleBone Black syst`eme configuration 20
3.0.7 Architecture du syst`eme 21
3.0.7.1 Noeud de capteur 21
3.0.7.2 Server Backend 26
3.0.8 Autres outils pour le d´eveloppement 27
3.0.8.1 Git - gratuit et open source syst`eme de contrˆole de ver-sion distribu´e 27
Trang 55 Conclusion et perspectives 40
A Installer Archlinux dans BBB `a partir de z´ero 42
Trang 62.1 Protocole CoAP activer les services Web en int´egrant `a l’architecture Web
et HTTP 2 5
2.2 CoAP diagramme 5
2.3 Un acc`es web demande l’utilisation de CoAP exemple `a l’aide de ressources ` a distance via URI 6
2.4 Observer ressources dans CoAP.3 6
2.5 un message CoAP avec l’en-tˆete seulement 4 octets (en-tˆete, option, donn´ee) la source RFC 7252 7
2.6 MQTT sch´ema, Publisher et abonn´e 8
2.7 Format d’un message MQTT 8
2.8 MQTT Qos = 0, un message sera envoy´e au plus un fois 9
2.9 MQTT Qos = 1, un message sera envoy´e au moins une fois 9
2.10 MQTT Qos = 2, un message sera envoy´e exactement une fois 10
3.1 BeagleBone Black 13
3.2 Capteur de lumi`ere (BH1750) 13
3.3 Les capteurs de lumi`ere sont r´epartis le long de la voiture 14
3.4 Inertial Measurement Unit (LSM303D) 14
3.5 Acc´el´erom`etre 15
3.6 R´ecepteur GPS (EM506) 15
3.7 GPS shield 15
3.8 Cˆables et fils 16
3.9 USB modem avex 3G simcard fournir une connexion `a Beagle Bone Black 16 3.10 Beagle Bone Black et des capteurs connexion via des fils 17
3.11 Architecture du syst`eme 21
3.12 Architecture du syst`eme 22
3.13 MBI file d’attente et base de donn´ees en attente 25
3.14 Perturbation tol´erant le streaming de donn´ees de capteurs 25
3.15 Trello board pour LiteSense projet 28
3.16 Exemple d’un ”Card” dans Trello 29
4.1 Experiment avec deux noeud 31
4.2 L’exp´erimentation pour collecter les donn´ees 32
4.3 Comparison le nombre de messages envoy´ees en utilisant Qos 33
4.4 Comparison le nombre de messages envoy´ees en utilisant (i) QoS0 + DTN, et (ii) QoS1 34
4.5 Comparison le taux de nombre de messages envoy´ees (i) QoS0 + DTN, against (ii) QoS1 34
Trang 83.1 Fr´equence de message (en seconde) g´en´eration pour les sujets dans lacouche de donn´ees 24
Trang 9I2R Institute for Infocomm ResearchIoT Internet of Things - R´eseaux des Objets
WSN Wireless Sensors Network
Trang 10Mon stage a ´et´e ´effectu´e au laboratoire ”Sense and Sens abilities” - Institute de Recherchepour Infocomm de Singapour Le sujet est de partir des exigences de Cosmiqo 1 ,une compagnie locale, qui a d´eploy´e des capteurs sur un v´ehicule syst`eme-attach´e pourmesurer r´everb`ere luminance la nuit Les donn´ees recueillies par une unit´e d’acquisition
de donn´ees seraient stock´ees dans un ordinateur portable qui est manuellement ramen´e
`
a leur administrateur pour les stockage et l’analyse Les donn´ees sont stocqu´ees dans desfichiers au format CSV (valeurs s´epar´ees par des virgules ), et manipul´es manuellementpour l’analyse des donn´ees et la g´en´eration de rapports
Ce projet vise `a am´eliorer le syst`eme existant avec transmission en temps r´eel de donn´ees
de mesures de capteurs d’intensit´e lumineuse Toutefois, compte tenu de la connectivit´eintermittente de cellulaire 3G / 4G dans les villes denses, la liaison sans fil peut parfoisˆ
etre supprim´ee, ce qui entraˆıne la perte de packets
L’objectif de la recherche de ce projet est de d´evelopper des protocoles r´eseaux tol´erantsaux perturbations qui s’adaptent aux changements dynamiques de la liaison de donn´ees,
et ´egalement de mettre en place un m´ecanisme de mise en m´emoire tampon de donn´eespour stocker temporairement des donn´ees localement lorsque la connecxion est en bas
1 www.cosmiqo.com
Trang 11utilisant la qualit´e de la connection
• Mettre en œuvre les strat´egies ci-dessus dans le protocole de communication pour
la diffusion de donn´ees
Pour atteindre ces objectifs, il est n´ecessaire, dans un premier temps, d’acqu´erir unebonne (i)connaissance de l’Internet des objets (IoT) [2] une partie inportante dans notreprojet (ii) Une ´etude sur le protocole pour les transfert de donn´ees dans ce domainedonnera id´ee sur les difficult´es et des d´efis pour le streaming en temps r´eel avec laperturbations tol´erant (iii) Il est ´egalement indispensable d’examiner les exigencesmat´erielles et logicielles pour donner un processus de d´eveloppement, les probl`emes
et les solutions (iiii) Enfin l’exp´erimentation montrera les performances du syst`eme
R´esultat analyse aide `a donner conclusion et perspective pour le projet
Trang 12Au cours des derni`eres ann´ees, l’Internet des objets (Internet of Things - IoT), estdevenu le nouvel axe de recherche pour l’industrie et le milieu universitaire Aujourd’hui,Internet est non seulement un ensemble de l’ordinateur connect´e en tant que d´efinitiondans 19th si`ecle Il est la connecxion entre tous les objets (les objets physique, lest´el´ephone portable et aussi l’humaine )
Ce terme est devenu plus populaire o`u l’Internet est reli´e aux mots physiques via le r´eseau
de capteurs sans fil Avec le d´eveloppement des nouvelles technologies, les capteurssont devenus plus petits, moins de consommation d’´energie et assez pas cher `a utiliserlargement dans la vie quotidienne
En g´en´eral, les capteurs ont des caract´eristiques communes, telles que les ressourcessont limit´ees de puissance, la capacit´e limit´ee, minimale de l’interaction avec l’humaine,etc A cause des limitations, minimiser la coˆut des communications est une exigencel’importance, mˆeme avec le d´ev´eloppement des technologies sans fils et 4G-LTE unsyst`eme de communication efficaces est encore n´ecessaire Sur cette section, nous allonsconcentrer sur la fa¸con dont les p´eriph´eriques communiquent, les d´efis de protocole IoT
Trang 13faibles pourrait nous donner une solution possible pour notre objet.
2.2.1 Hypertext Transfer Protocol, un protocole bien connu
Hypertext Transfer Protocol (HTTP) [RFC 2616] est un des protocoles les plus nipr´esents dans l’Internet Il d´efinit la fa¸con dont le Web navigateurs, proxys Web et lesserveurs Web doivent se comporter et d’interagir [6] HTTP est ´evolutive, robuste et est
om-un protocole omnipr´esent en ce moment Mais les probl`emes est l’en-tˆete du messageest lourds
Une ´etude de Google[7] montre que les en-tˆetes des requˆetes aujourd’hui varient en tailled’environ 200 octets de plus de 2 Ko Il n’est pas applicable pour les p´eriph´eriquesqui n´ecessitent tr`es peu d’interaction Ils consomment tr`es peu d’´energie et souventdisposer d’une connectivit´e r´eseau pauvres HTTP est trop lourd pour ˆetre un bonajustement pour ces dispositifs Les frais g´en´eraux HTTP ajoute ´egalement `a l’IoTcharges d’exploitation tandis que les coˆuts actuels de la connectivit´e sans fil sont d´ej`acher
2.2.2 CoAP - Contrainte Application Protocol, le protocole pour le
web des objets
Le Constrained Application Protocol (CoAP) [RFC 7252] est un web protocole sp´ecialis´epour transfert pour une utilisation avec des nœuds contraints et r´eseaux contraints `al’internet des objets Comme HTTP, CoAP est bas´ee sur le succ`es de REST [8](deRepresentational State Transfer): serveurs fournir des ressources sous une URL, et les
Trang 14clients ont acc`es `a ces ressources en utilisant des m´ethodes telles que GET, PUT, POST
et DELETE
CoAP est con¸cue pour interfacer ais´ement avec HTTP pour l’int´egration avec le Webtout en r´epondant aux besoins sp´ecialis´es comme support multicast, tr`es peu de fraisg´en´eraux, et la simplicit´e pour environnements contraints CoAP peut transporterdiff´erents types de charges utiles, et peut identifier le type de donn´ees sont utilis´e
Figure 2.2: CoAP diagramme
Un exemple d’utiliser firefox Copper add-on avec l’URI ”coap://vs0.inf.ethz.ch:5683/path”
1
Source:http://the-internet6.blogspot.sg/2013 04 01 archive.html
Trang 15Figure 2.3: Un acc`es web demande l’utilisation de CoAP exemple `a l’aide de
ressources ` a distance via URI
Un autre ´el´ement int´eressant avec le protocole CoAP est ressource observant quesignifie lorsque le client CoAP inscrire son int´erˆet dans une ressource Il va d’abordobtenir l’´etat actuel de la ressource (si disponible) Apr`es que le client recevra lesnotifications sur les modifications tant que le serveur peut d´eterminer l’int´erˆet continu duclient dans la ressource L’image ci-dessous montre un exemple d’un client CoAP inscrireson int´erˆet dans une ressource et recevoir les notifications de trois: le premier moment
de l’inscription `a l’´etat actuel, puis deux sur les changements `a l’´etat des ressources
2
Figure 2.4: Observer ressources dans CoAP.3
En comparaison avec le protocole HTTP, COAP est plus efficace, car il permet de r´eduire
la taille de l’en-tˆete Comme RFC 7252, un message vide ne contient que la tˆete de 4
2
source: http://tools.ietf.org/html/draft-ietf-core-observe-13
Trang 16octets Il est capable (con¸cu) pour travailler sur des microcontrˆoleurs avec aussi peuque 10 Kio de RAM et 100 KiB de l’espace de code [RFC 7228] La s´ecurit´e est assur´eepar la DTLS (de Datagram Transport Layer Security) [RFC 4347] couche pour soutenirl’UDP fiable dans l’architecture abstraite.
Figure 2.5: un message CoAP avec l’en-tˆete seulement 4 octets (en-tˆete, option,
donn´ ee) la source RFC 7252
CoAP a ´et´e largement mis en œuvre jusqu’`a pr´esent Il existe des biblioth`eques disponiblespour C, C ++, Java et Python Nous pouvons ´egalement trouver les biblioth`eques CoAPdans Syst`emes d’exploitation embarqu´es ouverts avec le soutien 6LoWPAN pour cap-teurs (par exemple Contiki OS, TinyOS)
En conclusion, nous voyons que le protocole est con¸cu pour CoAP r´eseau de contrainte,son sch´ema est capable pour les objets qui ont des faible performance avec connexion
`
a faible coˆut mais ils peut assurer que la base de la s´ecurit´e sur DTSL Le message detransmission fiable pour tenir le client au courant des modifications sur le serveur tantque le registre des clients de la ressource int´eressante et serveur peut d´eterminer laquelledes int´erˆets du client dans la ressource Performance, fiabilit´e et largement mis en œuvre
en font un bon candidat pour le protocole de l’IoT
2.2.3 Message Queuing Telemetry Transport
Message Queuing Telemetry Transport Protocol (MQTT) est une publication / nement protocole de messagerie con¸cu pour les communications M2M l´egers Il a ´et´ecr´e´e par IBM & Eurotech et remis `a Eclipse projet ”Paho” M2M (standard OASIS en2014)
abon-Dans ce sch´ema, Publisher (capteurs, appareils) publient un message avec le sujetsp´ecifique au serveur Un ´editeur (publisher) peut publier plusieurs sujet vers serveur(exemple temp´erature, lumi`ere ) et l’abonn´e peut choisir le sujet qu’ils veulent obtenir
Trang 17Figure 2.6: MQTT sch´ema, Publisher et abonn´e
MQTT est tr`es l´eger, le plus petite taille d’un paquet est seulement 2 octets (en-tˆete) etainsi adapt´e pour les communications M2M (mobile `a mobile), WSN (Wireless SensorNetworks)
Figure 2.7: Format d’un message MQTT
En MQTT, QoS est responsable pour les donn´ees fiables Le souscripteur et l’´editeurpeuvent d´efinir leur propre niveau de QoS quand publier et souscrire `a un sujet Laqualit´e de service d’un message transmis `a un abonn´e peut donc ˆetre diff´erent pour lesdonn´ees de qualit´e de service pour le message d’origine par l’´editeur Le plus petite desdeux valeurs est utilis´ee pour transmettre un message
Trois niveaux de QoS sont:
• QoS0, au plus une fois: Le message est remis au plus une fois, ou il ne peutpas ˆetre livr´e `a tous Sa livraison sur le r´eseau est pas reconnu Le message nesont pas stock´ees Le message pourrait ˆetre perdu si le client est d´econnect´e, ou
si le serveur tombe en panne QoS0 est le mode le plus rapide de transfert Il estparfois appel´e ”tire et oublie” (”fire and forget”)
Trang 18Figure 2.8: MQTT Qos = 0, un message sera envoy´e au plus un fois
• QoS1, Au moins une fois: Le message est toujours livr´e au moins une fois Il peut
ˆetre d´elivr´e plusieurs fois si une d´efaillance avant un accus´e de r´eception est re¸cupar l’´emetteur Le message doit ˆetre stock´e localement au niveau de l’´emetteur,jusqu’`a ce que l’exp´editeur re¸coit une confirmation que le message a ´et´e publi´eepar le r´ecepteur Le message est m´emoris´e dans le cas o`u le message doit ˆetreenvoy´e `a nouveau
Figure 2.9: MQTT Qos = 1, un message sera envoy´e au moins une fois
• QoS2, Exactement une fois: Le message est toujours livr´e exactement une fois
Le message doit ˆetre stock´e localement au niveau de l’´emetteur, jusqu’`a ce quel’exp´editeur re¸coit une confirmation que le message a ´et´e publi´ee par le r´ecepteur
Le message est m´emoris´e dans le cas o`u le message doit ˆetre envoy´e `a nouveau
QdS2 est le mode de transfert le plus sˆur, mais plus lent Une s´equence de prise
Trang 19Figure 2.10: MQTT Qos = 2, un message sera envoy´e exactement une fois
Un probl`eme commun `a tous les protocole IoT est la s´ecurit´e MQTT est bas´e sur TCP,
et utiliser la connexion SSL / TSL Il fournit ´egalement la s´ecurit´e dans le cadre `a l’aide
de nom d’utilisateur et mot de passe et le cryptage de la charge utile
Une autre caract´eristiques de l’avance de MQTT est de garder en vie un message(courtier peut d´etecter connexion du client), retain (message publi´e est maintenue surcourtier un nouvel abonn´e sur le sujet re¸coit le ”dernier-savoir” bon message)
Mˆeme sc´enario avec CoAP (client communiquer avec le serveur de l’infrastructure),mais sur le sc´enario MQTT, capteurs (appareils) est de plus d’initiative, car ils peuventd´ecider quand il est n´ecessaire de publier des donn´ees Petite tˆete est ´egalement unavantage Plus le niveau de s´ecurit´e QoS flexible et fiable assurer Il est pas difficile detrouver une mise en œuvre de MQTT, il ya certains projets comme HiveMQ, mqtt oumosquitto
2.2.4 Quel est le meilleur protocole?
Il ya beaucoup de protocole pour l’IoT mais le meilleur protocole pour tous les sc´enarios
ne sont pas existent Le choix du protocole d´epend au sc´enario Certains protocoles ontplus de fonctionnalit´es que les autres, mais n’est pas capables pour le projet ne peut pas
Trang 20ˆetre un bon choix Un syst`eme complexe peut utiliser plusieurs protocoles de profiter
de leurs avantages Plusieurs standard peut ˆetre utilis´e pour ´evaluer protocole que laperformance, robuste, scalaire, la s´ecurit´e, mais toujours besoin d’´equilibre entre desexigences et des performances de l’appareil
HTTP est robuste, omnipr´esent mais tr`es lourd pour les appareils `a faible rendement
CoAP est con¸cu pour le r´eseau de contrainte avec bouteille, s´ecurit´e et facilement cable `a http application, mais le mod`ele REST lorsque les capteurs sont g´en´eralementserveur ne semble pas efficace comme ils ont besoin pour traiter la demande et la r´eponse
appli-MQTT est mieux en comparaison avec CoAP, car son en-tˆete est plus petit mais fiable
en raison de la QoS Le cryptage des donn´ees assurer que les informations sont ens´ecurit´e Publier / Souscrire (publish/subscribe) mod`ele permet `a chaque utilisation del’appareil seulement leur propre tˆache (publier ou de souscription) Client ne disposepas d’envoyer la demande `a des capteurs pour r´ecup´erer les donn´ees Ce syst`eme permetd’´eviter probl`eme potentiel
Dans ce projet, nous utilisons mosquitto3, une impl´ementation l´eg`ere de MQTT Nouschoisissons mosquitto grˆace-aux performances et exp´eriences quand derier projet mon-trent qu’il peut s’adapter au projet en cours Un serveur de courtier MQTT est mis
en œuvre par Cosmiqo Le serveur est d´eploy´e dans le num´erique Digital Ocean Cloud(r´egion de Singapour) 4 avec 1 Giga octets de m´emoire, 1 Core, 30 Giga octets SSD,disque dure est 2 To de transfert et Centos 64bits install´e Ce serveur est disponiblepour se connecter, le message avant de l’abonn´e et installer contrˆoleur de liaison ainsi
3
http://mosquitto.org/
4
https://www.digitalocean.com/
Trang 213.0.5 Equipement
L’exigences de clients est la mesure de la lumi`ere, donc nous avons choisi d’utiliser
le capteur de lumi`ere Un GPS pour d´eterminer l’emplacement des donn´ees lies Acc´el´erom`etre capteur est ´egalement utilis´e pour aider `a d´eterminer l’emplacementlorsque le signal GPS n’est pas bon
recueil-Tous les capteurs reli´es par le fil par l’interm´ediaire des PIN’S de la BBB Le but principal
de ce fil est la transmission d’alimentation et de donn´ees BBB recueillir des donn´ees, etpr´e-traitement et envoy´e au serveur en utilisant la connexion 3G grˆace `a la 3G dongleUSB qui ont Singtel SIM carte avec la connecxion 3G
La puissance d’energie est 5V pour BBB Nous pouvons brancher le cˆable USB `al’ordinateur portable ou utiliser une pile sp´ecifique avec sortie 5V
3.0.5.1 Mat´eriel n´ecessaire
• Beagle Bone Black (Rev C)
Trang 22Figure 3.1: BeagleBone Black
”BeagleBone Black” est `a bas prix, avoir un grand communit´e d’aides Boot Linux
en moins de 10 secondes et se lancer sur le d´eveloppement en moins de 5 minutesavec juste un simple cˆable USB Il fonctionne comme un ordinateur, mais avoir
le port de connexion et de communication avec des capteurs Comme il a besoinl’entr´ee d’energie est 5V seulement, il est facile d’ex´ecuter BBB avec la batterie
• Capteur de la lumi`ere (BH1750)BH1750 est un capteur num´erique de la lumi`ere, qui est un capteur de lumi`ereambiante pour I2C interface de bus num´erique Il est possible de d´etecter largegamme `a haute r´esolution
Figure 3.2: Capteur de lumi`ere (BH1750)
Plan de client pour r´epartir les capteurs de lumi`ere le long de la voiture, car ildonnera un des r´esultats impartiaux sur luminance
Trang 23• Inertial Measurement Unit (LSM303D)
Le LSM303D combine un acc´el´erom`etre 3 axes et num´erique 3 axes magn´etom`etredans un package unique qui est id´eal pour faire une boussole avec compensationd’inclinaison Ce dispositif nous permet d’obtenir le changement de direction devoiture et aussi aider `a interpoler position dans un certain dispositif lieu GPS nepeuvent pas obtenir le signal
Figure 3.4: Inertial Measurement Unit (LSM303D)
Acc´el´erom`etreEntr´ee de l’acc´el´erom`etre est rendu dans deux param`etres d’entr´ee: direction etacc´el´eration A partir de ces param`etres, nous pouvons connaˆıtre l’´etat de lavoiture (direction et sa vitesse) Et lorsque le GPS ne peut pas obtenir assez designal du satellite pour d´eterminer la position, nous pouvons utiliser la positionderri`ere-savoir (last-know) avec la participation de l’acc´el´erom`etre pour interpoler
la position de bus
Trang 24Figure 3.5: Acc´el´erom`etre
• Syst`eme de positionnement global (GPS)Module EM-506 GPS est propuls´e par SiRF Star IV, il peut fournir avec une sensi-bilit´e sup´erieure et des performances encore en canyon urbain et de l’environnement
de feuillage dense Il peut donner les positions avec un grande pr´ecision
Figure 3.6: R´ecepteur GPS (EM506)
”GPS shield” aider `a connecter capteur GPS avec BBB par les fils Avant delancer, v´erifiez si le bouton situ´e sur le ”GPS shield” est r´egl´e sur ON, sinon nous
ne pouvons pas lire les donn´ees de module GPS
Figure 3.7: GPS shield
• Cˆables et fils
Trang 25• USB 3G modem Sur ce projet, nous utilisons Huawei modem SingTel et SingTelSIM carte avec le plan 3G pour fournir une connexion pour le transfert de donn´ees.
Pour utiliser ce dispositif, nous devons installer ppp et usb modeswtich sur lesyst`eme Archlinux dans le BBB
p a c m a n - S ppp u s b _ m o d e s w i t c h
Figure 3.9: USB modem avex 3G simcard fournir une connexion `a Beagle Bone Black
Pin connection pour le BBB, BH1750, LSM303D, EM506
Trang 26Figure 3.10: Beagle Bone Black et des capteurs connexion via des fils
3.0.6 Logiciel et environnement de configuration
3.0.6.1 Configuration de l’environnement de d´eveloppement
Dans ce projet, le pilote (driver) de base de code et capteurs sont ´ecrits en C / C ++
biblioth`eque de mosquitto est utilis´e pour le transfert de donn´ees Linaro Toolchain estutilis´e pour la compilation sur multiple plat-forme(sur BBB et sur notre ordinateur
Biblioth`eque mosquitto
Trang 27Apr`es l’installation mosquitto, nous pouvons tester le seveur par publier ou souscriredonn´ees `a Cosmiqo serveur.
Exemple de publier ”message” de courtier sujet ”/sensor/litesense/reading”
m o s q u i t t o _ p u b - h b r o k e r c o s m i q o com - t / s e n s o r / l i t e s e n s e / r e a d i n g - m " m e s s a g e "
Exemple de message d’abonnement `a partir du serveur
m o s q u i t t o _ s u b - h b r o k e r c o s m i q o com - t / s e n s o r / l i t e s e n s e /+
”+” c’est-`a-dire s’abonner `a tous les sujets commencent par /sensor/litesense/ Dans
ce case ”+” est remplir pour ”reading, lux, imu, metrics”
D´eveloppement d’un pilote de capteurPour le pilote de capteurs, nous suivons le document i2c1 Le pilote i2c sur noyau Linuxnous permettent de lire les donn´ees brutes des capteurs que la d´efinition de format dans
le manuel du capteur (qui est distribu´e avec le capteurs)
Normalement, le port I2C n’est pas ouvrir par d´efaut, nous devons permettre `a la BBBpar la commande:
Trang 28Mais cette fa¸con est pas pratique pour l’utilisateur car chaque fois client a besoind’ex´ecuter ces commandes manuellement Une autre fa¸con de passer ces ´etapes est
de modifier le fichier uEnv.txt dans le ”bootloader” du BBB Nouveau fichier uEnv.txtressemblera `a ceci:
u e n v c m d = run f i n d m m c 1 ; run f i n d m m c 0 ; if run l o a d u i m a g e ; t h e n run l o a d f d t ; run m m c b o o t ;
o p t a r g s = c o h e r e n t _ p o o l =1 M c a p e m g r d i s a b l e _ p a r t n o = BB - BONELT - HDMI , BB - BONELT - H D M I N
c a p e m g r e n a b l e _ p a r t n o = DOOR - GPIO , BB - UART1 , BB - I 2 C 1
Systemd et services de fichiers LinuxUne exigence de ce syst`eme est la stabilit´e, comme le noeud sera moins interagir avec leshumains, il devra contrˆoler un probl`eme dans le plus possible Pour ´eviter tout potentionprobl`eme (programme arrˆeter sans raison, la source d’´energie re-prise) nous utilisonssystemd pour activer le service automatiquement tous les programmes qui envoient desdonn´ees au serveur En activer les services correspondent avec les programmes serontlanc´es automatiquement lorsque l’utilisateur d´emarre BBB ou programme est ´ecras´e Lesyst`eme et les services sont con¸cus pour isoler le probl`eme d’une partie diff´erente Si unepartie ont des probl`emes (par exemple GPS fil est d´ebrancher `a cause des vibrations de
la voiture) et le capteur IMU peut encore obtenir des donn´ees
Un fichier syst`eme peut ˆetre d´efinie comme ci-dessous:
Trang 29• Restart permettent `a l’utilisateur de d´ecider red´emarrage ou non lorsque le gramme est arrˆet´e Quand d´eployer, il devrait ˆetre always et never utilise jamaispour but de d´ebogage.
pro-• RestartSec utiliser pour d´efinir combien de temps ce service besoin de red´emarrerapr`es un arrˆet
Plus d’informations et les options peuvent ˆetre trouv´ees sur le wiki officiel Archlinux2
3.0.6.2 BeagleBone Black syst`eme configuration
Sur ce projet, nous avons install´e Archlinux `a la BBB car il est l´eger et con¸cu pourl’architecture ARM Comme la limitation de la performance, nous avons install´e lesyst`eme sur la carte SD et plug-in pour le BBB 3 Le processus d’installation est tr`esrapide, il prend environ 20 minutes pour installer `a partir de z´ero Pour gagner du temps,nous avons ´ecrire un script pour installer automatiquement pour le d´eveloppement
du syst`eme et de l’environnement sur le BBB Il gagner du temps pour les essais ded´eveloppement et l’utilisation aussi par le client `a d´eployer le firmware sur le noeud
D´etail de l’installation de Archlinux sur carte SD pour BEAGLEBONE peut ˆetre trouv´esur Apendix A (Installer Archlinux sur BBB `a partir de z´ero)
2
https://wiki.archlinux.org/index.php
3 http://archlinuxarm.org/platforms/armv7/ti/beaglebone-black