@mangar2/serialdevice v1.4.1
Abstract
Interface service to communicate with several arduino or similar microcontroller based on a serial interface
Contents
Meta
File | index.js |
Abstract | Interface service to communicate with several arduino or similar microcontroller based on a serial interface |
Author | Volker Böhm |
Copyright | Copyright ( c ) 2020 Volker Böhm |
License | This software is licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 3 . It is furnished "as is" , without any support , and with no warranty , express or implied , as to its usefulness for any purpose . |
Callback definitions
Publish
Callback to publish messages to the mqtt broker
Publish Parameters
Name | Type | Description | |
---|---|---|---|
message | Message | message to publish |
Global functions
_deriveSubscribesFromCommandMap
readonly _deriveSubscribesFromCommandMap (commandMap, topicBegin, qos)
Creates a list of subscribes starting with topicBegin and ending with all strings of the commandMap
_deriveSubscribesFromCommandMap Parameters
Name | Type | Description | |
---|---|---|---|
commandMap | Object | map commands to topic end strings | |
topicBegin | string | begin of the topic | |
qos | number | quality of service |
_deriveSubscribesFromTopicMap
readonly _deriveSubscribesFromTopicMap (topicMap, qos) => {Object.<topic:qos>}
Derives subscriptions from a topic list
_deriveSubscribesFromTopicMap Parameters
Name | Type | Description | |
---|---|---|---|
topicMap | Object.<topic:string> | object with topic properties | |
qos | 0, 1, 2 | quality of service for the subscription |
_deriveSubscribesFromTopicMap returns
Type | Description |
---|---|
Object.<topic:qos> | object with topic : qos entries |
lsb
lsb (value) => {integer}
Returns the number of the least significant bit of an integer
lsb Parameters
Name | Type | |
---|---|---|
value | integer |
lsb returns
Type | Description |
---|---|
integer | -1 , if no bit set , else the position of the bit set ( starting with bit 0 ) |
prepare
prepare (config, serialDevice)
Creates a serial device object , if not already available
prepare Parameters
Name | Type | Attribute | Default | Description | |
---|---|---|---|---|---|
config | Object | serial device configuration settings | |||
serialDevice | SerialDevice | optional | null | serial device object |
serialMessageToString
serialMessageToString (message) => {string}
Converts a serial message to a byte stream
serialMessageToString Parameters
Name | Type | Description | |
---|---|---|---|
message | SerialMessage | message to convert |
serialMessageToString returns
Type | Description |
---|---|
string | string to transmit |
switchMessageToString
switchMessageToString (message)
Calculates the switching string from a switch message
switchMessageToString Parameters
Name | Type | Description | |
---|---|---|---|
message | SerialMessage | message to convert |
message properties
Name | Type | Description | |
---|---|---|---|
value | number | value used to identify the switch and the switching value |
Class SerialDevice
new SerialDevice(options)
Creates a service class to communicate with several arduino over a serial bus
SerialDevice Parameters
Name | Type | Description | |
---|---|---|---|
options | Object | configuration options |
options properties
Name | Type | Attribute | Default | Description | |
---|---|---|---|---|---|
serialPortName | string | name of the port to use | |||
baudrate | integer | optional | 57600 | baud rate to be used | |
qos | 0, 1, 2 | optional | 1 | quality of service to send messages | |
trace | string | optional | 'messages' | trace level , supported : errors , messages , internal | |
keepAliveDelayInSeconds | number | optional | 1 | delay between two keep alive messages to serial |
SerialDevice Methods
_traceStringSendToSerial
_traceStringSendToSerial (serialString)
Traces a string send to the serial device
_traceStringSendToSerial Parameters
Name | Type | Description | |
---|---|---|---|
serialString | string | string send to serial device |
close
async close ()
Stops the service
getSubscriptions
getSubscriptions () => {topic:qos}
Gets the list of required subscriptions for this service
getSubscriptions returns
Type | Description |
---|---|
topic:qos | list of subscription strings |
handleMessage
handleMessage (mqttMessage)
Processes an incoming mqtt message
handleMessage Parameters
Name | Type | Description | |
---|---|---|---|
mqttMessage | Message | mqtt message |
on
on (event, callback)
Sets a callback .
on Parameters
Name | Type | Description | |
---|---|---|---|
event | string | event name ( not case sensitive ) for the callback ( supported : 'publish' ) | |
callback | Publish | function ( . . . parameter ) |
on throws
Type | Description |
---|---|
Error | if the event is not supported |
Error | if the callback is not 'function' |
run
async run ()
Starts the server