Pour ceux qui veulent une communication série avec Java. Je suis moi-même une boutique de logiciels car l'IoT est devenu populaire ces dernières années! Même si je suis amateur! J'ai du mal à commencer le travail électronique (rires) Le texte est rédigé dans l'ambiance d'un simple mémorandum, donc je pense qu'il peut y avoir des lacunes ou des lacunes, mais veuillez le lire si vous le souhaitez.
Au moment de l'enquête, la première priorité est de fonctionner dans un environnement Windows 10 64 bits. L'environnement de développement est le suivant.
RXTX Lorsque vous souhaitez établir une communication série avec Java, la bibliothèque RXTX est généralement consultée lorsque vous recherchez sur Google. RXTX se compose de deux bibliothèques, une bibliothèque Java et une bibliothèque native C / C ++, qui peuvent être téléchargées à partir de ce qui suit. Il est nécessaire de basculer la bibliothèque native en fonction de la plate-forme telle que Windows 32 bits, Windows 64 bits, Linux, mac.
J'utilise RXTX et je fais face aux défis suivants. (Peut-être qu'il y en a d'autres?)
Si vous rencontrez les problèmes ci-dessus, vous serez timide lorsque vous essayez de communiquer en série. .. .. "Mais je ne suis pas le seul à avoir des problèmes avec RXTX! Il doit y avoir un homme courageux qui essaie de faire quelque chose!" Alors, j'ai essayé de regarder deux choses. Lorsque j'ai exécuté l'exemple, il fonctionnait correctement sous Windows 10 64 bits, je vais donc le présenter.
purejavacomm
Quand j'ai lu l'explication, il semble que JNA (Java Native Access) ait été utilisé pour réaliser une communication série tout en garantissant l'indépendance de la plateforme. Je comprends que la bibliothèque native de RXTX a été remplacée par JNA. Les API sont similaires, car elles sont sensibles à RXTX.
Depuis la sortie de la version 1.0.3 le 2019-01, il semble qu'ils effectuent une maintenance. (Le référentiel maven au moment de la rédaction était le dernier 1.0.2)
jSerialComm
Cela semble également être une alternative à RXTX, et l'API est similaire. La bibliothèque native est intégrée au jar, et il semble que la bibliothèque utilisée soit chargée pour chaque plateforme au démarrage. En plus de Windows / Linux, il est dit qu'il prend également en charge les processeurs ARM et qu'il semble fonctionner avec Raspberry Pi. (Si vous regardez le code source, le mot-clé Android est également inclus, il peut donc fonctionner également sur Android?)
La dernière version de maintenance est publiée le 2018-12.
Lorsque j'ai réellement exécuté l'exemple, purejavacomm et jSerialComm étaient disponibles à partir du référentiel maven. Cela fonctionnait sans être conscient de la bibliothèque native.
Du point de vue de la liaison avec d'autres bibliothèques, les bibliothèques liées à netty sont ouvertes au public.
En termes de maintenance et de support, purejavacomm semble être bon, mais il est regrettable que netty-transport-purejavacomm --github.com ne soit pas dans le référentiel maven. Au fait. Netty-Transport-jSerialComm --github.com est introduit sur le site de la famille netty head, et il est facile à utiliser car vous pouvez utiliser le référentiel maven.
À l'avenir, j'aimerais publier un exemple en utilisant purejavacomm et jSerialComm.
(2019-02-19) Publié.
Recommended Posts