@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