table of contents
GPIOTHS(4) | Device Drivers Manual | GPIOTHS(4) |
NAME¶
gpioths
— driver
for DHTxx and AM320x temperature and humidity sensors
SYNOPSIS¶
To compile this driver into the kernel, place the following line in your kernel configuration file:
device gpioths
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
gpioths_load="YES"
DESCRIPTION¶
The gpioths
driver supports the DHTxx and
AM320x family of temperature and humidity sensors. The driver automatically
reads the values from the sensor once every 5 seconds, and makes the results
available via sysctl(8) variables.
HARDWARE¶
The gpioths
driver provides support for
the following devices:
DHT11 | DHT12 |
DHT21 | DHT22 |
AM3201 | AM3202 |
The supported devices are all similar to each other, varying primarily in accuracy and resolution. The devices require a single wire for data communications, using a custom protocol which is not compatible with Maxim's 1-wire(tm). The AM320x devices also support connection to an i2c bus, but this driver supports only the single-wire connection option.
SYSCTL VARIABLES¶
Sysctl variables are used to access the most recent temperature and humidity measurements.
- dev.gpioths.<unit>.temp
- The current temperature in integer deciKelvins. Note that sysctl(8) will convert those units to display in decimal degrees Celcius.
- dev.gpioths.<unit>.hum
- The current relative humidity, as an integer percentage.
- dev.gpioths.<unit>.fails
- The number of failed attempts to communicate with the sensor since the last good access. Cleared whenever a set of measurements is successfully retrieved.
FDT CONFIGURATION¶
On an fdt(4) based system, a
gpioths
device node is typically defined directly
under the root node, or under a simplebus node that represents a collection
of devices on a board.
The following properties are required in the
gpioths
device subnode:
- compatible
- Must be "dht11".
- gpios
- A reference to the gpio device and pin for data communications.
Example of adding a sensor with an overlay¶
/dts-v1/; /plugin/; #include <dt-bindings/gpio/gpio.h> / { compatible = "wand,imx6q-wandboard"; }; &{/} { dht0 { compatible = "dht11"; gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>; }; };
HINTS CONFIGURATION¶
On a device.hints(5) based system, such as
MIPS
, these values are configurable for
gpioths
:
- hint.gpioths.<unit>.at
- The gpiobus(4) instance the
gpioths
instance is attached to. - hint.gpioths.pins
- A bitmask with a single bit set to indicate which gpio pin on the gpiobus(4) to use for data communications.
SEE ALSO¶
HISTORY¶
The gpioths
driver first appeared in
FreeBSD 11.1.
December 8, 2019 | Debian |