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é