La configuration de communication série dans le Traitement de /dev/rfcomm0
Je suis en train d'effectuer une communication série entre Ubuntu 12.04 et un JY-MCU bluetooth de série du module connecté à un Arduino.
J'ai créé cette configuration dans /etc/bluetooth/rfcomm.conf
rfcomm0 {
# # Automatically bind the device at startup
bind yes;
#
# # Bluetooth address of the device
device 00:12:11:19:08:54
# # RFCOMM channel for the connection
channel 1;
# # Description of the connection
comment "Linvor Bluetooth Module";
}
Je peux utiliser de mastic pour communiquer avec le /dev/rfcomm0 port série et cela fonctionne parfaitement.
Cependant, malgré de nombreuses tentatives j'ai simplement ne peut pas voir comment créer un port série dans le Traitement qui fonctionne en quelque sorte.
Par exemple :
println(Serial.list());
imprime rien du tout.
Si j'execute:
String portName = "/dev/rfcomm0";
myPort = new Serial(this, portName, 9600);
println(myPort);
Je vois cela dans le moniteur:
processing.serial.Serial@1712651
Mais si je puis appeler:
myPort.write('9');
J'obtiens une exception:
java.lang.NullPointerException
at processing.serial.Serial.write(Serial.java:572)
...
Je ne comprends pas pourquoi cela échoue. J'ai suivi toutes les instructions de Tom Igoe du "Making things Talk", mais cela ne fonctionne tout simplement pas la façon dont il le dit...
Toute aide serait super!
Merci,
Bob
Je suis vraiment ignorant dans le traitement... je peux communiquer avec l'arduino, si je écrire un programme en python ou via putty, mais seulement dans le traitement, ce qui est mon objectif...
Semble être un traitement de problème alors, Iḿ pas familier avec cela, malheureusement. Vous avez besoin de sudo/droits d'admin? Je suppose que ce serait d'erreur plus tôt si vous l'avez fait.
J'ai fatigué, mais Sudo/droits d'admin ne fait pas de différence... Il ne semble pas y être il ya quelqu'un qui sait à ce sujet. J'ai même écrit à Tom Igoe, parce que son livre donne des instructions incorrectes concernant la série via rfcomm...
OriginalL'auteur gratefulfrog | 2013-03-17
Vous devez vous connecter pour publier un commentaire.
Aftert la recherche haute et basse, j'ai fait ce travail.
La question clé est que le traitement utilise le rxtx bibliothèque java (RXTX-2.1-7) pour les communications série.
La RXTX wiki dit:
Et depuis le périphérique bluetooth est nommé
rfcomm*
il ne peut pas être détecté.L'astuce est de créer un sym lien pour tromper rxtx (utilisez un ats de l'appareil qui n'est pas encore attribué):
Puis, connectez-vous:
À ce stade, la led rouge sur le JY-MCU devient solide et le traitement puisse le détecter:
de sortie est:
Donc, de communication série peut fonctionner.
Pour résumer, le processus suivant sera de permettre à un script de traitement de communiquer via un port série avec un JY-MCU appareil dans un BlueZ linux cadre
Un temps d'installation:
l'alimentation de l'JY-MCU,
utiliser la commande suivante pour obtenir son adresse matérielle, le mien est 00:12:11:19:08:54
l'utiliser pour créer le fichier /etc/bluetooth/rfcomm.conf fichier; vous remarquerez que j'ai choisi de 0 pour le rfcomm appareil , nous en avons besoin pour la connexion plus tard:
utilisation BlueMan pour lier le JY-MCU.
Chaque fois que vous voulez utiliser la JY-MCU
créer le sym lien:
se connecter à l'JY-MCU:
vous pouvez maintenant exécuter un script de traitement et de se connecter à l'JY-MCU avec
le code:
après avoir exécuté le script de traitement, assurez-vous de CTRL-C, à la
ligne de commande pour déconnecter le JY-MCU.
Qui devrait le faire!
Ciao,
Bob
Merci, j'ai suivi vos étapes. Je suis en mesure d'exécuter le Traitement de l'esquisse d'une fois, alors la communication est perdue et à chaque fois que je ré-exécuter le programme, je donne de Port Occupé exception. Tous les conseils?
OriginalL'auteur gratefulfrog
Juste quelque chose a surgi dans mon esprit.
J'ai eu des problèmes similaires qui ont été causés en raison de canal 1 est déjà utilisé. Si vous liez à un canal qui est déjà en cours d'utilisation, de mauvaises choses peuvent arriver.
Utilisez cette commande pour voir les canaux qui sont disponibles sur votre Ubuntu appareil.
OriginalL'auteur Eric Smekens