Table des matières
Principe
IDE opensource pour arduino : http://arduino.cc/en/pmwiki.php?n=main/software
Il permet de compiler les sources en local, puis de les envoyer sur l'arduino; ces sources sont ici : C:\Dev\Arduino\server\src_arduino\sketch_may18a\sketch_may18a.ino (ie .c ou .cpp)
l'IDE contient un compilateur C, même objet.
IDE :
- 1 bouton pour compiler en local sketch_may18a.ino et
- 1 bouton pour compiler et envoyer sur l'arduino reconnu en usb : arduino reçoit les données stockées.
sketch_may18a.ino
pas de main, l'arduino a deja ses sources à lui et nous on complète en rajoutant nos sources
- arduino appelle la fonction setup pour initialiser ses valeurs
- arduino appelle la fonction loop et boucle dessus
Server : C:\Dev\Arduino\server\server
Code C, dans un terminal Linux va servir de serveur de socket
Il doit être absolument en marche sur le poste qui reçoit l'arduino
- dolibarr va envoyé le signal via amachi au réseau,
- le pc cible recoit le signal via le serveur C décrit ci-dessus
- serveur C, via le filedescriptor fd : fd communique avec l'arduino directement sur l'usb
Ce Server C est installé sur la même machine sur laquelle est connectée l'arduino
C'est le lien entre web et l'hardware arduino ; il est en attente permanente de recevoir des data provenant du serveur php
Server C se met en écoute sur un port de communication : Dans le fichier C:\Dev\Arduino\server\server\inc\server.h, il y a define PORT_NBR 4242
c'est le port sur lequel le Server C se met en écoute et attend une communication : des que quelqu'un se connecte sur ce port le Server C traite les infos qu'il reçoit
Dolibarr : il faut faire un module doibarr en php : des que dolibarr voudra afficher qq chose sur l'arduino, il va envoyer un message, via socket à l'ip du poste contenant l'arduino, au port correspondant
le serveur réceptionne la string, la parse et l'affiche sur l'arduino
Les sources de ce module dolibarr : sur recette lan (? erp-recette.hodei.net) : c'est du php/html à récupérer.
le serveur web envoie une string sous un format bien particulier, un caractère d'échappement découpe la string en 2 lignes, (écran arduino contient 2 lignes)
le pc cible réceptionne la string et l'envoi à l'arduino qui s'occupe du parsing
Le pc cible réceptionne la string via le Server C qui tourne en tache de fond
Il doit être paramétré au moins 1 fois afin de répérer sur quel port est branché l'arduino.
re-principe :
- string envoyé en socket au Server C , pc cible
- une fois qu'il recoit, il l'envoie à l'arduino
- qd arduino a répondu, le Server C envoi un message de réponse à php, qui lui continue sont traitement
Hamachi
pont qui simule une connexion lan entre deux postes distants
- installé sur le pc ou il y arduino
- installé sur le serveur aditu
message socket qui vise l'ip du serveur arduino, il passe par par le routeur, il va savoir quel poste tu cibles : ils communiquent comme s'ils étaient en lan.
Attention au problème de sécurité : port ouvert en permanence; amachi est assez blindé
Point de vente
Hamachi
Hamachi permet de créer ou d'étendre en toute sécurité un réseau VPN local pour tous les appareils souhaités, même s'ils sont dispersés géographiquement. Grâce à une interface simple, on peut facilement et rapidement concevoir un réseau local virtuel. Sur la fenêtre principale, il suffit de cliquer sur Créer un réseau et d'inscrire une ID et un mot de passe personnels. Un clic suffit pour rendre opérationnel le réseau en question.
Chez Aditu :
- on installe hamachi chez aditu
- on crée un réseau avec un mot de passe
Chez le client :
- on installe hamachi sur chaque poste de travail du client
- chaque poste est invité à rejoindre le réseau
Exemple :