@mangar2/serialdevice
v1.4.1
Published
implements tools to communicate with a serial attached device
Downloads
13
Maintainers
Readme
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