Yep!
Une erreur souvent commune est de penser que l'arduino doit absolument envoyer quelque chose quelque part. Tu peux trés bien demander au Pi de solliciter ton µC pour qu'il lui envoie les bonnes infos au bon moment.
Il y a plusieurs solutions à ton problème :
-
L'arduino envoie tout
a) Soit tout en même temps, on remplie le buffer.
b) Soit une mesure à la fois, buffer plus vite remplis plus vite vidé. -
Le Pi sollicite le µC
a) Je suis à la page 1, j'ai besoin "tout de suite" de x, y et z avec un rafraichissement de 5 ms.
b) Je suis à la page 2, envoies moi toutes les infos à jour que tu as en stock.
etc...
C'est à titre d'exemple, une manière de solliciter soit l'un soit l'autre (avec des avantages et des inconvenients dans tous les cas). Cela dépendra essentiellement de l'IHM ou de comment tu veux que tes valeurs apparaissent.
Mais l'un comme l'autre, tu auras forcement une latence à gérer quel que soit la vitesse de transfert ou la manière dont tu remplis les buffers, c'est inhérent à tout sytsème, même ceux soit disant "temps réel".
C'est d'ailleurs, ces raisons qui me font penser que ton cahier des charges est assez pauvres pour l'instant et que tu es encore dans la théorie. Autrement, le port série est suffisant, dispo et non bloquant ![]()
De plus, en tant que linuxien averti (je suis sous Debian Squeeze
), tu sais avec quelle facilité tu peux maitriser ce fameux port série.
Alors GO ! GO ! GO ! Raspberry Pi + arduino + UART XD
@+
Zoroastre.