Je prévois un système Arduino qui se compose de plusieurs cartes Arduino. La distance maximale entre les planches est d'environ 50 mètres. Je veux envoyer des données de base entre celles-ci, comme des chaînes courtes ou des entiers. Je sais que je pourrais envoyer des données via des câbles Ethernet, mais cela nécessite un blindage Ethernet ou la carte Ethernet Arduino qui double les coûts. Existe-t-il un moyen à petit budget de connecter les cartes en utilisant uniquement les cartes les plus élémentaires (comme Uno) et certains autres composants, mais pas un bouclier complet?
arduino-uno
networking
system-design
totymedli
la source
la source
Réponses:
Pour une communication filaire longue distance, regardez RS-485 .
Vous pouvez utiliser la puce MAX485. C'est assez facile à utiliser, mais il y a aussi une bonne bibliothèque:
https://github.com/Protoneer/RS485-Arduino-Library
la source
Il y a deux catégories auxquelles je peux penser pour classer les fonctionnalités de communication des cartes Arduino:
Entre 2 appareils:
Entre plus de 2 appareils
Il existe d'autres méthodes disponibles, mais celles répertoriées ne nécessitent qu'un minimum de matériel externe.
Pour les cotes de distance, voir http://forum.arduino.cc/index.php?topic=82937.0 et http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-distance.html
Ces débits de données sont directement contrôlés en série et peuvent être modifiés dans de nombreux autres.
la source
Freakduino fabrique des cartes Arduino avec sans fil intégré. Leur longue portée sans fil est de 900 MHz et leur courte portée est de 2,4 GHz. Je pense que ce sont en fait des radios XBee et pour la programmation, vous utiliseriez une bibliothèque appelée chibiArduino, qui est disponible (et documentée) sur le site Web de Freakduino. Lorsque vous communiquez sans fil avec une autre radio, vous pouvez utiliser Broadcast ou spécifier une radio par son ID, une valeur que vous devez définir dans l'EEPROM du Freakduino.
Tiré directement du site Freakduino:
la source
Comme vous l'avez dit, les blindages Ethernet sont chers, mais vous n'avez pas besoin d'utiliser le blindage. Consultez l' enc28j60 pour la mise en réseau filaire, ou l' ESP8266 si vous préférez le sans fil. Les deux coûtent environ 4 USD. J'utilise l'ESP8266 maintenant et j'ai environ 8 appareils qui se parlent et un Raspberry Pi. C'est vraiment une super petite puce! Je ne peux pas parler personnellement à l'ENC28j60, car ils sont toujours assis dans le paquet sur mon bureau.
la source
Vous pouvez utiliser une carte de dérivation Ethernet (2 $ chez Sparkfun). Cela vous permet d'utiliser les câbles Ethernet, mais vous n'avez pas besoin d'utiliser un protocole TCP / IP complet, au lieu de cela, vous pouvez simplement connecter des broches de données à la carte de dérivation, utiliser Ethernet pour les connecter, puis les faire parler en série. J'utilise beaucoup cela pour placer des capteurs à un fil plus loin de l'Arduino pour une connexion solide mais pas cher.
la source