widora 添加温湿度传感器 DHT22(DHT11)



  • 前几天给开发板添加了一个温湿度传感器 dht22 具体的步骤如下。

    1,添加 dts
    路径:target/linux/ramips/dts/Widora32M.dts
    在最后面添加如下配置(使用的是GPIO39):
    +humidity_sensor {
    +compatible = "dht11";
    +gpios = <&gpio1 7 1>;
    +};

    2,修改配置:
    +CONFIG_PACKAGE_kmod-iio-core=y
    +CONFIG_PACKAGE_kmod-iio-dht11=y

    3,修改内核源码:
    linux-3.18.29/drivers/iio/humidity/dht11.c
    ret = dht11_decode(dht11,
    dht11->num_edges == DHT11_EDGES_PER_READ ?
    - DHT11_EDGES_PREAMBLE:
    + DHT11_EDGES_PREAMBLE - 1 :
    DHT11_EDGES_PREAMBLE - 2);
    注:如果是dht11的话则不需要修改源码。
    可以在 /sys/bus/iio/devices/ 读到数据
    测试:
    cat /sys/bus/iio/devices/iio:device0/in_temp_input
    cat /sys/bus/iio/devices/iio:device0/in_humidityrelative_input


  • administrators