plugin:utilities:serial_macro_extensions:start
Table of Contents
Serial Macro Extensions
Introduction
This plugin provides methods to talk to a device attached to a serial port, directly from the ImageJ Macro language, using the Macro Extension mechanism. You can easily:
- list the available serial ports
- establish a serial connection
- check if the serial connection is alive
- send commands over the serial connection
- recieve what is available from the serial port
- close the connection
It works with any serial device, but was developped to talk with the Arduino board, an open-source electronics prototyping platform (http://arduino.cc/).
See also
- IJSerial plugin (http://www.eslide.net/) can also be used, but it requires a separate config file, and does not provide persistence to the serial connection.
Authors
Jérôme Mutterer, Tom Mueller, Graeme Awcock, Michael Schmid
Installation
Windows
- Requires RXTX library
- 2018-10-8 (MIFOBIO2018): a working RXTX version for Windows 64-bit systems was obtained from http://fizzed.com/oss/rxtx-for-java. Copy RXTXcomm.jar to jre/lib/ext/ and rxtxSerial.dll and rxtxParallel.dll to jre/bin
- Download serial_ext.jar to the plugins folder
- Restart ImageJ
Other platforms
- Install RXTX according to http://rxtx.qbang.org/wiki/index.php/Installation
- Download serial_ext.jar to the plugins folder
- Restart ImageJ
Usage
- Make the macro interpreter aware of the new extensions:
run("serial ext");
- Get a list of available serial ports:
ports = Ext.ports();
- Establish a serial connection to the serial device, using COM8 port and a bitrate of 9600 bps:
Ext.open("COM8",9600,""); // this is enough e.g. for the Arduino, defaults parameters are DATABITS_8,STOPBITS_1,PARITY_NONE
Ext.open("COM1",14400,"DATABITS_8 STOPBITS_2 PARITY_ODD"); // advanced serial port configuration // Available options // DEFAULT: 8 data bits, 1 stop bit, no parity // Databits: // DATABITS_5 // DATABITS_6 // DATABITS_7 // DATABITS_8 // Stopbits: // STOPBITS_1 // STOPBITS_2 // STOPBITS_1_5 // Parity: // PARITY_NONE // PARITY_EVEN // PARITY_ODD // PARITY_MARK // PARITY_SPACE
- Read what the serial device sends:
data = Ext.read();
- Send a string command to the serial device:
Ext.write("a");
- Close the active serial port:
Ext.close();
- Poll if a serial connection is already there:
active = Ext.alive(); // returns "0" or "1"
Download
Install RXTX Library (http://rxtx.qbang.org/).
- 2018-10-8 (MIFOBIO2018): a working RXTX version for Windows 64-bit systems was obtained from http://fizzed.com/oss/rxtx-for-java. Copy RXTXcomm.jar to jre/lib/ext/ and rxtxSerial.dll and rxtxParallel.dll to jre/bin
- Download serial_ext.jar to the plugins folder
History
- 0.12 : GA and MS fixed a byte encoding issue.
plugin/utilities/serial_macro_extensions/start.txt · Last modified: 2019/04/12 13:13 by 127.0.0.1