Eine Geschichte, von der ich süchtig war, als ich versuchte, mit Eclipse unter macOS Sierra seriell mit Arduino zu kommunizieren.
RXTX
Eine Bibliothek für die serielle Kommunikation mit Mikrocomputern wie Arduino. Windows, Mac und Linux werden unterstützt. Ich fuhr mit Bezug auf die folgende Seite fort. http://cho-kotan.blogspot.jp/2012/10/javaavrmacjavaavr.html
Laden Sie rxtx-2.1-7-bins-r2.zip
auf der folgenden Seite herunter
http://rxtx.qbang.org/wiki/index.php/Download
Extrahieren Sie die heruntergeladene Datei und verschieben Sie die heruntergeladene Datei mit dem folgenden Befehl in den Ordner für die externe Bibliothek.
$ 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/
Führen Sie den folgenden Befehl aus, da ein Verzeichnis für die ausschließliche Steuerung von RXTX erforderlich ist.
$ sudo mkdir /var/lock
$ sudo chmod 777 /var/lock
RXTXcomm.jar
aus.Kopieren Sie den Quellcode der folgenden URL, auf die Sie verwiesen haben, und führen Sie ihn unverändert aus. http://cho-kotan.blogspot.jp/2012/10/javaavrmacjavaavr.html
Dann der folgende Fehler
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
Ich erhalte eine Fehlermeldung bezüglich des Links, bin jedoch verärgert, dass beim Lesen von "gnu.io.RXTXcommDriver" ein Fehler aufgetreten ist. Es scheint also, dass der Pfad ordnungsgemäß funktioniert. Es hat nicht funktioniert, egal wie oft ich es versucht habe, also habe ich es untersucht.
Ich wusste nicht, ob es nicht unterstützt wurde, weil es Sierra war oder Java nicht unterstützt wurde, also suchte ich verschieden und fand die folgende Seite. http://blog.brianhemeryck.me/installing-rxtx-on-mac-os-mountain-lion/
Dem Artikel zufolge scheint die von der offiziellen Seite heruntergeladene Datei "librxtxSerial.jnilib" nur Java 5 zu unterstützen, und ähnliche Fehler können bei Java 6 und höher von Mountain Lion (Eclipse's) auftreten. Es kann von der Umgebung abhängen ...).
Löschen Sie daher die Datei "librxtxSerial.jnilib" aus der Erweiterungsdatei und laden Sie die Java 6-kompatible Version auf der folgenden Seite herunter. 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/
Da der Pfad der externen JAR-Datei in der vorherigen Einstellung in Eclipse festgelegt wurde, führen Sie ihn in Eclipse so aus, wie er ist, wenn der obige Befehl ausgeführt wird.
Der von Arduino gelesene Wert wurde sicher auf der Konsole angezeigt.
Die von der offiziellen Seite heruntergeladene Bibliotheksdatei unterstützte die neue Java-Version nicht.
Recommended Posts