mirror of
https://github.com/node-red/node-red-nodes.git
synced 2025-03-01 10:37:43 +00:00
Tidy up & add README.md
Converted tabs to spaces as required
This commit is contained in:
parent
6b74999d49
commit
e9d6d515e1
106
hardware/BBB/README.md
Normal file
106
hardware/BBB/README.md
Normal file
@ -0,0 +1,106 @@
|
||||
# BBB-hardware
|
||||
|
||||
Node-RED nodes for interfacing with hardware inputs and outputs on the BeagleBone Black.
|
||||
Uses the bonescript library provided with the BBB, available through NPM and on Github
|
||||
at <https://github.com/jadonk/bonescript>
|
||||
|
||||
## Installation and Requirements
|
||||
|
||||
The BBB should be running with the as-supplied device tree compiled into the kernel. This
|
||||
code is not currently aware of dynamically loaded device tree overlays, and in particular
|
||||
the list of pins presented for each node is based on the default. You might be lucky though...
|
||||
|
||||
You need to be root to use bonescript, an error message will be logged if you are not.
|
||||
|
||||
This code has been tested with the latest node-RED from github as of 2014-02-27T20:00
|
||||
using bonescript 0.2.4 running under node v0.8.22 on Angström
|
||||
Linux 3.8.13. The BBB was reflashed with the 2013.09.04 image, updated using opkg upgrade.
|
||||
|
||||
Note that you do not need to add bonescript to node-RED's global context (in settings.js) to
|
||||
use these nodes, but no harm should arise if you do.
|
||||
|
||||
Currently there are no checks against assigning the same pin to multiple nodes. Don't do it!
|
||||
|
||||
## Available Nodes
|
||||
|
||||
More nodes will be added as time is available, but the list at present is:
|
||||
|
||||
### analogue-in
|
||||
|
||||
Uses the on-chip ADC to measure a voltage between 0V and +1.8V on any one of the 7
|
||||
dedicated input pins. A message input is used to trigger an ADC conversion, or
|
||||
alternatively a single message can trigger a rapid 'burst' of 10 conversions
|
||||
which are averaged together to reduce the noise (which can be a problem, especially
|
||||
with high source impedances).
|
||||
|
||||
Linear scaling can be applied to the measurement result. Linearity correction can
|
||||
be applied using a piecewise-linear approach, useful for linearising transducers such
|
||||
as thermistors or LDRs.
|
||||
|
||||
Useful for conversion rates up to about 50 samples/sec.
|
||||
|
||||
### discrete-in
|
||||
|
||||
Reads a GPIO pin, and generates a message when it changes state: either in both
|
||||
directions or just rising or just falling edges only. A debounce algorithm may be
|
||||
applied, useful if the input is connected to a pushbutton.
|
||||
|
||||
One pin state is denoted as 'active', and the node accumulates the total time in this
|
||||
state. A message with this total is output periodically, controlled by an internal
|
||||
timer. The total can be cleared or set to an arbitrary value by an input message
|
||||
who's topic copntains 'load'.
|
||||
|
||||
Useful for energy monitoring, e.g. logging boiler on time.
|
||||
|
||||
### pulse-in
|
||||
|
||||
Counts input pulses at a GPIO pin. The count can be advanced by either the rising edge
|
||||
of the pulse, or by both edges. Two outputs are provided:
|
||||
|
||||
1. The current total number of pulses
|
||||
2. The current pulse rate (pulses/second)
|
||||
|
||||
Separate scaling factors are applied to each output. Output messages are generated
|
||||
at regular intervals, controlled by an internal timer. The count can be cleared
|
||||
or set to an arbitrary value by an input message who's topic copntains 'load'.
|
||||
|
||||
Useful for energy monitoring, e.g. electricty meter pulse outputs.
|
||||
|
||||
The 'instantaneous' pulse rate is derived from either the time between the last two
|
||||
pulses, or the time since the last pulse, whichever is larger. This gives a rapid
|
||||
dynamic response to changes in electricty use, for example.
|
||||
|
||||
Recommended maximum pulse rate 20 pulses/second - but it did work OK at 500 Hz!
|
||||
|
||||
### discrete-out
|
||||
|
||||
Sets a GPIO pin to the state specified by the input message payload: 0/1 or true/false.
|
||||
The pin can either follow the input state or be an inverted copy. Alternatively, in toggle
|
||||
mode each input message (whatever its topic & payload) will toggle the pin between
|
||||
the two states.
|
||||
|
||||
You can specify the state to be set at startup, prior to the arrival of the first message.
|
||||
|
||||
The node generates an output message with payload 1 or 0 each time it changes state.
|
||||
The user LEDs are available to the discrete-out node
|
||||
|
||||
### pulse-out
|
||||
|
||||
Pulses a GPIO pin when a message arrives. The pulse time is set in the property editor,
|
||||
but can be overridden by a time value in an input message (topic containing 'time').
|
||||
|
||||
The can be set to generate high pulses (normally low) or vice-versa. It may also be
|
||||
set as retriggerable or not.
|
||||
|
||||
The node generates an output message with payload 1 or 0 each time it changes state.
|
||||
The user LEDs are available to the pulse-out node
|
||||
|
||||
## Author
|
||||
|
||||
BBB-hardware was written by
|
||||
|
||||
* Max Hadley [@MRHadley](http://twitter.com/MRHadley)
|
||||
|
||||
## Copyright and license
|
||||
|
||||
Copyright 2014 M R Hadley, made available under [the Apache 2.0 license](LICENSE).
|
Loading…
x
Reference in New Issue
Block a user