Une histoire à laquelle j'étais accro en essayant de communiquer en série avec Arduino en utilisant Eclipse sur macOS Sierra.
RXTX
Une bibliothèque pour la communication série avec des micro-ordinateurs tels que Arduino. Windows, Mac et Linux sont pris en charge. J'ai procédé en me référant à la page suivante. http://cho-kotan.blogspot.jp/2012/10/javaavrmacjavaavr.html
Téléchargez rxtx-2.1-7-bins-r2.zip
sur la page suivante
http://rxtx.qbang.org/wiki/index.php/Download
Extrayez le fichier téléchargé et déplacez le fichier téléchargé vers le dossier de la bibliothèque externe à l'aide de la commande suivante.
$ cd <download_folder>/rxtx-2.1-7-bins-r2
$ sudo cp RXTXcomm.jar /Library/Java/Extensions/
$ sudo cp Mac_OS_X/librxtxSerial.jnilib /Library/Java/Extensions/
De plus, étant donné qu'un répertoire pour le contrôle exclusif de RXTX est requis, exécutez la commande suivante.
$ sudo mkdir /var/lock
$ sudo chmod 777 /var/lock
RXTXcomm.jar
dans le répertoire Extensions.Copiez le code source de l'URL suivante à laquelle vous vous êtes référé et exécutez-le tel quel. http://cho-kotan.blogspot.jp/2012/10/javaavrmacjavaavr.html
Ensuite, l'erreur suivante
java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/librxtxSerial.jnilib: dlopen(/Library/Java/Extensions/librxtxSerial.jnilib, 1): no suitable image found. Did find:
/Library/Java/Extensions/librxtxSerial.jnilib: no matching architecture in universal wrapper thrown while loading gnu.io.RXTXCommDriver
J'obtiens une erreur concernant le lien, mais il semble que le chemin fonctionne correctement parce que j'étais en colère d'avoir une erreur en lisant gnu.io.RXTXcommDriver
.
Cela n'a pas fonctionné, peu importe le nombre de fois où je l'ai essayé, alors j'ai enquêté dessus.
Je ne savais pas s'il n'était pas pris en charge parce que c'était Sierra ou que java n'était pas pris en charge, alors j'ai cherché diversement et j'ai trouvé la page suivante. http://blog.brianhemeryck.me/installing-rxtx-on-mac-os-mountain-lion/
Selon l'article, il semble que le fichier librxtxSerial.jnilib
téléchargé à partir de la page officielle ne supporte que Java 5, et des erreurs similaires peuvent se produire dans Java 6 et versions ultérieures de Mountain Lion (Eclipse's Cela peut dépendre de l'environnement ...).
Par conséquent, supprimez le librxtxSerial.jnilib
du fichier Extensions et téléchargez la version compatible Java 6 sur la page suivante.
http://blog.iharder.net/2009/08/18/rxtx-java-6-and-librxtxserial-jnilib-on-intel-mac-os-x/#comment-163295
$ rm /Library/Java/Extensions/librxtxSerial.jnilib
$ cp <download_folder>/librxtxSerial.jnilib /Library/Java/Extensions/
Comme le chemin du fichier JAR externe a été défini dans Eclipse dans le paramètre précédent, exécutez-le dans Eclipse tel qu'il est lorsque la commande ci-dessus est terminée.
La valeur lue à partir d'Arduino était affichée sur la console en toute sécurité.
Le fichier de bibliothèque téléchargé à partir de la page officielle ne prenait pas en charge la nouvelle version Java.
Recommended Posts