You are on page 1of 4

Librer�a PanamaHitek_Arduino, versi�n 2.8.

Por Antony Garc�a Gonz�lez Ingeniero Electromec�nico e Investigador dentro de la


Universidad Tecnol�gica de Panam�
Fundador y Co-propietario del sitio web htp://panamahitek.com junto a Kiara Navarro
y el Panama Hitek Creative Team

email: antony.garcia.gonzalez@gmail.com
whatsapp: +50767347398
facebook: http://facebook.com/panamahitek
twitter: @panamahitek

La librer�a incluye tres clases, la clase PanamaHitek_Arduino, la clase


PanamaHitek_MultiMessage y la nueva PanamaHitek_SpreadsheetHandler.
La clase PanamaHitek_Arduino es la encargada de manejar todas las conexiones y la
comunicaci�n con Arduino.
La clase PanamaHitek_MultiMessage incluye las herramientas necesarias para recibir
m�ltiples mensajes de forma simult�nea en Java.
Con PanamaHitek_SpreadsheetHandler es posible exportar datos recibidos desde el
Arduino a ficheros de Excel (.xls)

Tambi�n se incluyen las clases que pertenecen a la librer�a RXTX, sobre la cual
est� construida la librer�a PanamaHitek_Arduino.
Hasta su versi�n 2.5.0, esta librer�a se conoc�a bajo el nombre de Librer�a Arduino
para Java.

Desde la versi�n 2.8.0 se ha descontinuado el uso de RXTX en favor de Java Simple


Serial Connector
(Alexey Sokolov, https://github.com/scream3r/java-simple-serial-connector)

Versi�n 2.8.2
---------------------
En la versi�n 2.8.3 se ha agregado nuevas funcionalidades a trav�s de la clase
PanamaHitek_SpreadsheetHandler que facilita el
almacenamiento de datos y la exportaci�n de informaci� en formato .xls (MS Excel)

Versi�n 2.8.1
---------------------
Se han corregido algunos bugs de la versi�n 2.8.0

Versi�n 2.8.0
---------------------
Con esta versi�n se produce un gran salto desde las versiones anteriores de esta
librer�a. Hasta ahora se hab�a utilizado la
librer�a RXTX (https://github.com/rxtx/rxtx/tree/development/rxtxSerial-java) como
Core para la comunicaci�n serial.
Ahora hemos migrado a la librer�a Java Simple Serial Connector (JSSC) de Alexey
Sokolov (https://github.com/scream3r/java-simple-serial-connector).

Este salto se ha producido debido a que esta compilaci�n muestra un mejor desempe�o
que el Core anterior.
Es por esta raz�n que otros proyectos como el propio Arduino IDE (escrito en Java)
que antes utilizaban RXTX ahora han migrado a JSSC.
El cambio de librer�a en el IDE de Arduino se produjo desde la versi�n 1.5.6 BETA,
lanzada en Github el 20 de febrero de 2014.

Con JSSC no es necesario instalar los drivers para la comunicaci�n serial. Esto ya
lo hab�amos logrado nosotros desde la versi�n 2.7.2 de
nuestra librer�a. La migraci�n a JSSC nos ha permitido lograr que nuestra librer�a
sea compatible con sistemas operativos Linux, Mac y Solaris,
adem�s de Windows.

Cuando se ejecute un c�digo que contenga esta librer�a, Java se encargar� de buscar
en la ruta C:/Users/nombre_de_usuario/.jssc/windows (en Windows)
en donde debe estar el fichero jSSC-2.8_x86_64.dll, necesario para la comunicaci�n
entre Java y el puerto serie. Si el archivo no se encuentra disponible,
Java crear� la ruta y colocar� el fichero necesario. Lo mismo aplica para otros
sistemas operativos diferentes a Windows.

Si en el equipo en el cual utilizaremos esta librer�a se encuentra instalado el


Arduino IDE, no ser� necesario que la librer�a instale el archivo,
ya que el que el Arduino IDE utiliza esta misma t�cnica.

Versi�n 2.7.3
---------------------
Corregidos algunos bugs de la versi�n 2.7.2

Versi�n 2.7.2
---------------------
Se ha agregado la compatibilidad con Maven. Ahora se puede llamar a la librer�a
PanamaHitek_Arduino agregando las sigueintes l�neas al archivo POM:

<dependencies>

<dependency>
<groupId>com.github.PanamaHitek</groupId>
<artifactId>PanamaHitek_Arduino</artifactId>
<version>2.7.2</version>
</dependency>

</dependencies>

<repositories>

<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>

</repositories>

Versi�n 2.7.1
---------------------
Se ha corregido algunos peque�os errores en la estructura interna de la librer�a.

Versi�n 2.7.0
---------------------
Antes de esta versi�n era necesario tener instalados los drivers rxtxSerial.dll en
la ruta de JAVA_HOME.
A partir de la versi�n 2.7.0, en cada ejecuci�n la librer�a verifica si los drivers
est�n instalados en la ruta C:/JavaRXTX.
Si no existen dichos ficheros, la librer�a los crea. Si el directorio no existe, se
encargar de armar la estructura para el almacenamiento
de los archivos *.dll (Windows) necesarios para que el programa cargue sin
problemas.

Este feature S�LO FUNCIONA EN WINDOWS. Invitamos a los usuarios de Linux a que nos
ayuden a expandir estas capacidades a otras plataformas.
Nuestro repositorio en GitHub contiene todos los archivos de esta librer�a:
https://github.com/PanamaHitek/Arduino-JavaAPI

Versi�n 2.6.0
---------------------
Grandes cambios. La librer�a ya no se llama Arduino para Java, sino que la hemos
renombrado PanamaHitek_Arduino.
Se ha modificado algunos m�todos. Procedo a detallar los cambios:

-- Se ha aplicado el lower Camel Case a todos los m�todos. Lo que antes


llam�bamos ArduinoRXTX ahora se cambi� por arduinoRXTX.
-- Se ha despreciado el m�todo NameSerialPortsAt(). Ahora se utiliza
getSerialPorts().
-- Se ha despreciado el m�todo SerialPortsAvailable(). Ahora se utiliza
getPortsAvailable().
-- Se renombr� el m�todo MessageAvailable() a isMessageAvailable().
-- Se ha hecho innecesario el establecimiento del TimeOut como par�metro de
entrada para los m�todos ArduinoRX, ArduinoTX y ArduinoRXTX.
-- Se ha documentado todos los m�todos y clases con el JavaDoc.
-- Se ha hecho p�blico el c�digo de la librer�a en nuestro repositorio de Github
(https://github.com/PanamaHitek/Arduino-JavaAPI).

Incluye los nuevos m�todos en la clase PanamaHitek_Arduino:


-- List<String> getSerialPorts()
Devuelve una lista con los dispositivos conectados en el Puerto Serie.
-- int getPortsAvailable()
Devuelve la cantidad de dispositivos conectados en el Puerto Serie.

La clase PanamaHitek_MultiMessage incluye un nuevo m�todo:


-- List<String> getMessageList()
Entrega los mensajes recibidos como una Lista.

Versi�n 2.5.0
---------------------
Incluye los nuevos m�todos en la clase Arduino:
-- void ShowMessageDialogs(boolean input)
Permite activar o desactivar las ventanas emergentes cuando se produce alg�n
error en tiempo de ejecuci�n

-- void SendByte(int input)


Env�a Bytes a Arduino por medio del puerto Serie.

Versiones Anteriores
---------------------
M�todos incluidos en la librer�a, en la clase Arduino.
-- void ArduinoTX(String PORT_NAME, int TIME_OUT, int DATA_RATE)
Permite establecer una conexi�n entre Arduino y Java, donde s�lo se puede
enviar informaci�n de Java a Arduino
por medio de comunicaci�n serial.

-- void ArduinoRX(String PORT_NAME, int TIME_OUT, int DATA_RATE,


SerialPortEventListener evento)
Permite establecer una conexi�n entre Arduino y Java, donde s�lo se puede
enviar informaci�n de Arduino a Java
por medio de comunicaci�n serial. Se requiere instanciar la clase
SerialPortEventListener, de la librer�a RXTX.

-- void ArduinoRXTX(String PORT_NAME, int TIME_OUT, int DATA_RATE,


SerialPortEventListener evento)
Permite establecer una conexi�n entre Arduino y Java, donde se puede enviar y
recibir informaci�n entre Arduino y Java
por medio de comunicaci�n serial. Se requiere instanciar la clase
SerialPortEventListener, de la librer�a RXTX.

-- void SendData(String data)


Permite enviar una cadena de caracteres desde Java hacia Arduino

-- String ReceiveData()
Permite recibir informaci�n directamente desde Arduino por medio de
Comunicaci�n Serial.

-- boolean MessageAvailable()
Devuelve true cuando se ha terminado de recibir un mensaje desde Arduino,
utilizando Serial.println().

-- String PrintMessage()
Devuelve un string con el mensaje que se haya enviado desde Arduino, solamente
cuando MessageAvailable() devuelva true.

-- int SerialPortsAvailable()
Devielve la cantidad de puertos serie disponibles y activos en la computadora

-- String NameSerialPortAt(int index)


Nombra los puertos serie disponibles

-- void KillArduinoConnection()
Finaliza la conexi�n entre Arduino y Java.

Para una documentaci�n completa sobre este proyecto, visita:


http://panamahitek.com/libreria-arduino-para-java/

You might also like