NAME
RPi::DHT11 - Fetch the temperature/humidity from the DHT11 hygrometer sensor on Raspberry Pi
SYNOPSIS
use RPi::DHT11;
my $pin = 18;
my $env = RPi::DHT11->new($pin);
my $temp = $env->temp;
my $humidity = $env->humidity;
DESCRIPTION
This module is an interface to the DHT11 temperature/humidity sensor when connected to a Raspberry Pi's GPIO pins. We use the BCM GPIO pin numbering scheme.
If you create an RPi::WiringPi object before creating an object in this class, you can set up the RPi::WiringPi
object with whichever pin numbering scheme you choose, and this module will follow suit. Eg: if you set RPi::WiringPi
to wpi
pin scheme, we'll use it here as well. Note, though, that you MUST create the RPi::WiringPi
object before you create one of this class!
This module requires the wiringPi library to be installed, and uses WiringPi's GPIO pin numbering scheme (see gpio readall
at the command line).
METHODS
new($pin, $debug)
Parameters:
$pin
Mandatory. BCM GPIO pin number for the DHT11 sensor's DATA pin..
$debug
Optional: Bool. True, 1
to enable debug output, False, 0
to disable.
temp('f')
Fetches the current temperature.
Returns an integer of the temperature, in Celcius by default.
Parameters:
'f'
Optional: Send in the string char 'f'
to receive the temp in Farenheit.
humidity
Fetches the current humidity.
Returns the current humidity percentage as an integer.
cleanup
Returns the pin back to default state if it's not already. Called automatically by DESTROY()
.
ENVIRONMENT VARIABLES
There are a couple of env vars to help prototype and run unit tests when not on a RPi board.
RDE_HAS_BOARD
Set to 1
to tell the unit test runner that we're on a Pi.
RDE_NOBOARD_TEST
Set to 1
to tell the system we're not on a Pi. Most methods/functions will return default (ie. non-live) data when in this mode.
SEE ALSO
- wiringPi, WiringPi::API, RPi::WiringPi
AUTHOR
Steve Bertrand, <steveb@cpan.org<gt>
LICENSE AND COPYRIGHT
Copyright 2016 Steve Bertrand.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.