14. Utilisation du Yocto-RS485-V2 avec Android
14.5. Contrôle de la fonction SerialPort
Il suffit de quelques lignes de code pour piloter un Yocto-RS485-V2. Voici le squelette d'un fragment
de code Java qui utilise la fonction SerialPort.
[...]
// On active la détection des modules sur USB
YAPI.EnableUSBHost(this);
YAPI.RegisterHub("usb");
[...]
// On récupère l'objet permettant de communiquer avec le module
serialport
= YSerialPort.FindSerialPort("RS485MK2-123456.serialPort");
// Pour gérer le hot-plug, on vérifie que le module est là
if (serialport.isOnline())
{
// Utilisez serialport.get_serialMode()
[...]
}
[...]
Voyons maintenant en détail ce que font ces quelques lignes.
YAPI.EnableUSBHost
La fonction
YAPI.EnableUSBHost
fonction prend en argument un objet de la classe
classe). Si vous comptez uniquement vous connecter à d'autres machines par IP vous cette fonction
est factultative.
YAPI.RegisterHub
La fonction
YAPI.RegisterHub
être recherchés. Le paramètre est l'adresse du virtual hub capable de voir les modules. Si l'on passe
la chaine de caractère
machine. Si l'initialisation se passe mal, une exception sera générée.
YSerialPort.FindSerialPort
La fonction
YSerialPort.FindSerialPort
numéro de série de son module hôte et de son nom de fonction. Mais vous pouvez tout aussi bien
utiliser des noms logiques que vous auriez préalablement configurés. Imaginons un module Yocto-
RS485-V2 avec le numéros de série RS485MK2-123456 que vous auriez appelé "MonModule" et
dont vous auriez nommé la fonction serialPort "MaFonction", les cinq appels suivants seront
strictement équivalents (pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute
ambiguïté):
serialport
= YSerialPort.FindSerialPort("RS485MK2-123456.serialPort")
serialport
= YSerialPort.FindSerialPort("RS485MK2-123456.MaFonction")
serialport
= YSerialPort.FindSerialPort("MonModule.serialPort")
serialport
= YSerialPort.FindSerialPort("MonModule.MaFonction")
serialport
= YSerialPort.FindSerialPort("MaFonction")
YSerialPort.FindSerialPort
contrôler le port série.
isOnline
La méthode
isOnline()
savoir si le module correspondant est présent et en état de marche.
modbusWrite* et modbusRead*
Les
méthodes
YFindSerialPort.FindSerialPort
RS485.
102
initialise l'API avec le Context de l'application courante. Cette
initialise l'API de Yoctopuce en indiquant où les modules doivent
, l'API va travailler avec les modules connectés localement à la
"usb"
renvoie un objet que vous pouvez ensuite utiliser à loisir pour
de l'objet renvoyé par
modbusWrite*()
android.content.Context
permet de retrouver un port série en fonction du
YSerialPort.FindSerialPort
et
modbusRead*()
permettent de communiquer en MODDUS sur la liaison
(ou d'une sous-
permet de
de
l'objet
renvoyé
www.yoctopuce.com
par