[{"data":1,"prerenderedAt":98},["ShallowReactive",2],{"integration-node-red-node-serialport\u002F":3},{"_id":4,"categories":5,"author":9,"description":13,"npmOwners":14,"npmScope":17,"name":4,"ffCertified":18,"downloads":19,"version":21,"updatedAt":22,"maintainers":23,"homepage":27,"bugs":28,"repository":30,"time":34,"lastUpdated":22,"created":35,"license":93,"githubOwner":94,"githubRepo":95,"examples":96,"readme":97},"node-red-node-serialport",[6,7,8],"catalogue_hardware","catalogue_communication","catalogue",{"name":10,"email":11,"url":12},"Dave Conway-Jones","dceejay@gmail.com","http:\u002F\u002Fnodered.org","Node-RED nodes to talk to serial ports",[15,16],"knolleary","dceejay",null,false,{"week":20},3528,"2.0.3","2024-08-06T13:45:26.438Z",[24,26],{"name":15,"email":25},"nick.oleary@gmail.com",{"name":16,"email":11},"https:\u002F\u002Fgithub.com\u002Fnode-red\u002Fnode-red-nodes#readme",{"url":29},"https:\u002F\u002Fgithub.com\u002Fnode-red\u002Fnode-red-nodes\u002Fissues",{"type":31,"url":32,"directory":33},"git","git+https:\u002F\u002Fgithub.com\u002Fnode-red\u002Fnode-red-nodes.git","tree\u002Fmaster\u002Fio\u002Fserialport",{"created":35,"modified":22,"0.0.1":35,"0.0.2":36,"0.0.3":37,"0.0.4":38,"0.0.5":39,"0.1.0":40,"0.1.1":41,"0.1.2":42,"0.2.0":43,"0.2.1":44,"0.3.0":45,"0.4.0":46,"0.4.1":47,"0.4.2":48,"0.4.3":49,"0.4.4":50,"0.6.0-beta":51,"0.6.0":52,"0.6.1":53,"0.6.2":54,"0.6.3":55,"0.6.4":56,"0.6.5":57,"0.6.6":58,"0.6.7":59,"0.6.8-beta":60,"0.6.8":61,"0.7.0":62,"0.7.1":63,"0.8.0":64,"0.8.1":65,"0.8.3":66,"0.8.5":67,"0.8.6":68,"0.8.8":69,"0.9.0":70,"0.9.1":71,"0.9.2":72,"0.10.0":73,"0.10.1":74,"0.10.2":75,"0.10.3":76,"0.11.0":77,"0.11.1":78,"0.12.0":79,"0.12.1":80,"0.13.0":81,"0.14.0":82,"0.14.1":83,"0.15.0":84,"1.0.0":85,"1.0.1":86,"1.0.2":87,"1.0.3":88,"1.0.4":89,"2.0.0":90,"2.0.2":91,"2.0.3":92},"2015-06-13T18:09:46.343Z","2015-06-16T20:40:54.140Z","2015-08-25T20:06:52.673Z","2015-11-02T10:41:19.526Z","2015-11-09T15:57:42.413Z","2015-12-10T12:49:37.991Z","2016-02-12T13:12:33.247Z","2016-03-02T13:22:27.127Z","2016-04-14T07:44:42.473Z","2016-04-14T08:11:00.399Z","2016-05-19T09:21:24.157Z","2016-10-13T13:11:22.843Z","2016-11-06T20:32:46.457Z","2017-01-09T20:54:02.426Z","2017-06-24T12:51:49.784Z","2017-06-30T18:51:11.818Z","2017-10-14T12:17:41.150Z","2017-11-04T17:13:02.595Z","2017-11-23T20:59:54.637Z","2017-12-18T18:32:38.162Z","2018-01-28T17:01:08.436Z","2018-02-19T19:21:05.242Z","2018-03-01T18:21:04.569Z","2018-05-09T21:02:11.204Z","2018-06-02T12:25:24.368Z","2018-07-09T12:46:58.577Z","2018-08-11T13:06:11.769Z","2019-02-12T13:31:24.665Z","2019-03-06T17:45:52.399Z","2019-04-04T21:21:30.964Z","2019-04-11T15:35:34.073Z","2019-05-13T12:01:57.214Z","2019-08-30T12:02:32.115Z","2019-08-30T13:47:30.127Z","2019-09-30T08:47:03.710Z","2019-11-13T13:31:57.980Z","2019-11-15T10:11:25.623Z","2019-12-01T17:55:19.351Z","2019-12-04T15:07:02.072Z","2020-03-27T11:37:11.915Z","2020-05-08T14:45:07.143Z","2020-06-13T19:35:26.105Z","2020-08-31T09:49:26.592Z","2020-11-01T23:16:34.231Z","2021-03-11T19:35:06.957Z","2021-03-11T21:24:54.363Z","2021-03-12T20:46:52.997Z","2021-04-27T14:11:16.584Z","2021-06-07T09:31:53.474Z","2021-11-15T11:18:18.135Z","2022-02-24T11:37:11.292Z","2022-02-24T11:54:53.795Z","2023-01-31T11:28:30.257Z","2023-01-31T12:25:11.149Z","2023-05-25T09:00:42.753Z","2023-11-23T12:30:17.290Z","2023-12-04T17:35:46.186Z","2024-08-06T13:45:26.275Z","Apache-2.0","node-red","node-red-nodes",[],"\u003Ch1 id=\"node-red-node-serialport\">\u003Ca class=\"header-anchor\" href=\"#node-red-node-serialport\">node-red-node-serialport\u003C\u002Fa>\u003C\u002Fh1>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fnodered.org\" target=\"noderedinfo\">Node-RED\u003C\u002Fa> nodes to talk to\nhardware serial ports.\u003C\u002Fp>\n\u003Ch2 id=\"install\">\u003Ca class=\"header-anchor\" href=\"#install\">Install\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>To install the stable version use the \u003Ccode>Menu - Manage palette - Install\u003C\u002Fcode> option and search for node-red-node-serialport, or run the following command in your Node-RED user directory, typically \u003Ccode>~\u002F.node-red\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    npm i node-red-node-serialport\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>During install there may be multiple messages about optional compilation.\nThese may look like failures... as they report as failure to compile errors -\nbut often are warnings and the node will continue to install and, assuming nothing else\nfailed, you should be able to use it. Occasionally some platforms \u003Cem>will\u003C\u002Fem> require\nyou to install the full set of tools in order to compile the underlying package.\u003C\u002Fp>\n\u003Ch2 id=\"usage\">\u003Ca class=\"header-anchor\" href=\"#usage\">Usage\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Provides four nodes - one to receive messages, and one to send, a request node which can send then wait for a response, and a control node that allows dynamic control of the ports in use.\u003C\u002Fp>\n\u003Ch3 id=\"input\">\u003Ca class=\"header-anchor\" href=\"#input\">Input\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>Reads data from a local serial port.\u003C\u002Fp>\n\u003Cp>Clicking on the search icon will attempt to autodetect serial ports attached to\nthe device, however you many need to manually specify it. COM1, \u002Fdev\u002FttyUSB0, etc\u003C\u002Fp>\n\u003Cp>It can either\u003C\u002Fp>\n\u003Cul>\n\u003Cli>wait for a \"split\" character (default \\n). Also accepts hex notation (0x0a).\u003C\u002Fli>\n\u003Cli>wait for a timeout in milliseconds from the first character received\u003C\u002Fli>\n\u003Cli>wait to fill a fixed sized buffer\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>It then outputs \u003Ccode>msg.payload\u003C\u002Fcode> as either a UTF8 ascii string or a binary Buffer object.\u003C\u002Fp>\n\u003Cp>If no split character is specified, or a timeout or buffer size of 0, then a stream\nof single characters is sent - again either as ascii chars or size 1 binary buffers.\u003C\u002Fp>\n\u003Ch3 id=\"output\">\u003Ca class=\"header-anchor\" href=\"#output\">Output\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>Provides a connection to an outbound serial port.\u003C\u002Fp>\n\u003Cp>Only the \u003Ccode>msg.payload\u003C\u002Fcode> is sent.\u003C\u002Fp>\n\u003Cp>Optionally the character used to split the input can be appended to every message sent out to the serial port.\u003C\u002Fp>\n\u003Ch3 id=\"request\">\u003Ca class=\"header-anchor\" href=\"#request\">Request\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>Provides a connection to a request\u002Fresponse serial port.\u003C\u002Fp>\n\u003Cp>This node behaves as a tightly coupled combination of serial in and serial out nodes, with which it shares the configuration.\u003C\u002Fp>\n\u003Cp>Send the request message in \u003Ccode>msg.payload\u003C\u002Fcode> 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.\u003C\u002Fp>\n\u003Cp>For consistency with the serial in node, msg.port is also set to the name of the port selected.\u003C\u002Fp>\n\u003Ch3 id=\"control\">\u003Ca class=\"header-anchor\" href=\"#control\">Control\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>When the node-red starts, the flow(program) picks up the pre-programmed serial port, open it, and starts the communication. But there are some cases the port needs to switch to a different port, stop, and start again. For example, in order to upload a new binary for Arduino, the serial port needs to be stopped relased from the nodered, and start it again after uploading. Or when the FTDI device re-connects after disconnecting for any reason, it may be possible that the port number changes, and the end user of the flow can't change the port.\u003C\u002Fp>\n\u003Cp>This node provides the ability to:\u003C\u002Fp>\n\u003Col>\n\u003Cli>change the serial port and its configuration on the run time programatically.\u003C\u002Fli>\n\u003Cli>stop the communication and release the serial port.\u003C\u002Fli>\n\u003Cli>reopen the port and restart the communications.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>In order to control the communication, send a \u003Cstrong>msg.payload\u003C\u002Fstrong> to the control node.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\n    \"serialport\": \"\u002Fdev\u002FttyUSB0\",\n    \"serialbaud\": 115200,\n    \"databits\": 8,\n    \"parity\": \"none\",\n    \"stopbits\": 1,\n    \"enabled\": true\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>changes the serial port and the configuration on the fly.\u003C\u002Fp>\n\u003Cp>The following optional parameters will change the configuration only if they are present.\nAny combination of them can be passed to change\u002Fcontrol the serial communication\u003C\u002Fp>\n\u003Cul>\n\u003Cli>serialport\u003C\u002Fli>\n\u003Cli>serialbaud\u003C\u002Fli>\n\u003Cli>databits\u003C\u002Fli>\n\u003Cli>parity\u003C\u002Fli>\n\u003Cli>stopbits\u003C\u002Fli>\n\u003Cli>dtr\u003C\u002Fli>\n\u003Cli>rts\u003C\u002Fli>\n\u003Cli>cts\u003C\u002Fli>\n\u003Cli>dsr\u003C\u002Fli>\n\u003Cli>enabled\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If the \u003Ccode>enabled\u003C\u002Fcode> property is not present, it will default to \u003Ccode>true\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Ccode>{\"enabled\":true}\u003C\u002Fcode> or \u003Ccode>{\"enabled\":false}\u003C\u002Fcode> will start or stop the communication.\u003C\u002Fp>\n\u003Cp>If \u003Ccode>enabled\u003C\u002Fcode> is passed along with other parameters, the configuration will be changed and the port will be either started or remain stopped, ready to be started later depending on its value.\u003C\u002Fp>\n\u003Cp>Any input message will cause the node to output the current port configuration.\u003C\u002Fp>\n",1784738655119]