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