mirror of
				https://github.com/node-red/node-red-nodes.git
				synced 2025-03-01 10:37:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| node-red-node-serialport
 | |
| ========================
 | |
| 
 | |
| <a href="http://nodered.org" target="noderedinfo">Node-RED</a> nodes to talk to
 | |
| hardware serial ports.
 | |
| 
 | |
| ## Install
 | |
| 
 | |
| To install the stable version use the `Menu - Manage palette - Install` option and search for node-red-node-serialport, or run the following command in your Node-RED user directory, typically `~/.node-red`
 | |
| 
 | |
|         npm i node-red-node-serialport
 | |
| 
 | |
| During install there may be multiple messages about optional compilation.
 | |
| These may look like failures... as they report as failure to compile errors -
 | |
| but often are warnings and the node will continue to install and, assuming nothing else
 | |
| failed, you should be able to use it. Occasionally some platforms *will* require
 | |
| you to install the full set of tools in order to compile the underlying package.
 | |
| 
 | |
| ## Usage
 | |
| 
 | |
| Provides three nodes - one to receive messages, and one to send, and a request node which can send then wait for a response.
 | |
| 
 | |
| ### Input
 | |
| 
 | |
| Reads data from a local serial port.
 | |
| 
 | |
| Clicking on the search icon will attempt to autodetect serial ports attached to
 | |
| the device, however you many need to manually specify it. COM1, /dev/ttyUSB0, etc
 | |
| 
 | |
| It can either
 | |
| 
 | |
|  - wait for a "split" character (default \n). Also accepts hex notation (0x0a).
 | |
|  - wait for a timeout in milliseconds from the first character received
 | |
|  - wait to fill a fixed sized buffer
 | |
| 
 | |
| It then outputs `msg.payload` as either a UTF8 ascii string or a binary Buffer object.
 | |
| 
 | |
| If no split character is specified, or a timeout or buffer size of 0, then a stream
 | |
| of single characters is sent - again either as ascii chars or size 1 binary buffers.
 | |
| 
 | |
| ### Output
 | |
| 
 | |
| Provides a connection to an outbound serial port.
 | |
| 
 | |
| Only the `msg.payload` is sent.
 | |
| 
 | |
| Optionally the character used to split the input can be appended to every message sent out to the serial port.
 | |
| 
 | |
| ### Request
 | |
| 
 | |
| Provides a connection to a request/response serial port.
 | |
| 
 | |
| This node behaves as a tightly coupled combination of serial in and serial out nodes, with which it shares the configuration.
 | |
| 
 | |
| Send the request message in `msg.payload` as you would do with a serial out node. The message will be forwarded to the serial port following a strict FIFO (First In, First Out) queue, waiting for a single response before transmitting the next request. Once a response is received (with the same logic of a serial in node), or after a timeout occurs, a message is produced on the output, with msg.payload containing the received response (or missing in case if timeout), msg.status containing relevant info, and all other fields preserved.
 | |
| 
 | |
| For consistency with the serial in node, msg.port is also set to the name of the port selected.
 |