<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

樹莓派通過java語言通過DHT11讀取環境溫濕度

樹莓派-java-物聯網 ? 來源:樹莓派-java-物聯網 ? 作者:樹莓派-java-物聯網 ? 2022-05-16 15:16 ? 次閱讀

?注:本文提前搭建運行環境(需要python3的環境)

試驗目標:


1.使用樹莓派4b對溫度濕度傳感器的溫濕度參數進行讀取

2.提供一個java springboot的項目,打包好以后,放到樹莓派中,運行,項目提供出restful風格的接口,對讀取數據的速率進行控制,并可提供停止讀取數據接口。

3.編寫事件處理程序,在出現設定的溫度或濕度達到閾值的時候,觸發相應事件。

4.將數據存入日志,數據庫mysql中

定義與范圍劃分:

1.控制中心:樹莓派4b

2.電子部件:dht11模塊(溫濕度傳感器)

3.軟件部分:java語言與其操作系統劃分為軟件部分

4.數據中心:Java程序讀取的溫濕度傳感器最終需要保存歷史記錄。對歷史數據記錄的地方,稱為數據中心。這里使用mysql,后面結合elasticsearch進行數據分析和展示。

5.載體:無。

========================================================================

一.準備


思路:通過java web程序,通過接口的方式,控制小車的前進,停止前進功能。由于小車的輪子比較特殊,用的是麥克納姆輪,所以可以做到直接右直行,左直行等。本文程序只有一個方向的行進,為了方便測試,提供停止運動接口。

1.控制中心


樹莓派4b(對樹莓派的使用不熟悉或者對java不熟悉的同學請關注專欄,可以提供一些指導)

代碼編寫與管理平臺(方便網頁控制)

2.電子設備

dht11模塊(溫濕度傳感器)

電源線若干

3.軟件與程序


centos7 64位

java的運行編譯環境jdk11

python3

4.數據中心

mysql

5.載體


------------------------------------------------------------------------------------------------------------------------------------------------------------------

二.電路連接示意圖

1.樹莓派引腳示意圖,GPIO與物理位序的映射

??è?′???èpoYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?編輯

2.樹莓派與dht11模塊連接圖

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?編輯

溫濕度傳感器

3.物理圖

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?編輯

三.程序部分


項目地址:

項目框架:spring boot,

中 間件:maven,git,pi4j,python3.需要在樹莓派上提前安裝并配置成功,才能部署運行;

數據中心: log4j2,mysql

測試工具:jmeter

 /**
     * 讀取溫度濕度
     * @author jiao_zg
     * @param BCM_POINT
     * @return
     */
    public String readDTH11Result(int BCM_POINT) {
//        boolean isReady = initEnv();
//        if(!isReady){
//            return "環境未配置,請按照說明書配置環境";
//        }

        String result = "";

        String RUNNING_SHELL_FILE = "python3 " + adafruit_path + "examples/AdafruitDHT.py 11 " + BCM_POINT;
        Process process = null;
        try {
            process = Runtime.getRuntime().exec(RUNNING_SHELL_FILE);
        } catch (IOException e) {
            logger.error("命令執行失敗,命令為 :{}", process);
            e.printStackTrace();
        }
        int runningStatus = 0;
        BufferedReader reader = null;

        try {
            int exitValue = process.waitFor();
            if (0 != exitValue) {
                logger.error("命令返回結果失敗. 錯誤碼 :{}", exitValue);
            }
            // 返回值
            reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line = null;
            while ((line = reader.readLine()) != null) {
                result = result + line;
                logger.info("讀取溫濕度值為: " + line);
                TTemperatureHumidity tTemperatureHumidity = new TTemperatureHumidity();
                tTemperatureHumidity.setCreatetime(new Date().toString());
                tTemperatureHumidity.setPosition(BCM_POINT);
                tTemperatureHumidity.setResult(result);
                tTemperatureHumidityMapper.insert(tTemperatureHumidity);
            }
            return result;
        } catch (Exception e) {
            logger.error("讀取失敗  " + RUNNING_SHELL_FILE);
            e.printStackTrace();
        }
        return "";
    }
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png
### 軟硬件版本
軟件和硬件的版本
*  1.樹莓派4b
*  2.樹莓派官方 64版本
*  3.溫濕度傳感器:DHT11
*  4.jdk11  
*  5.python3  
*  6.spring boot:2.3.3.RELEASE

### 樹莓派針腳和DTH11溫濕度傳感器接線

* 1.DTH11-VCC接樹莓派 物理引腳1(或者其他5V高電平) 
* 2.DTH11-GND接樹莓派 物理引腳6(或者其他低電平)
* 3.DTH11-data接樹莓派 物理引腳7,BCM4(或者其他digigal針腳,針腳通過接口傳遞)

* 
### 環境安裝
* 1.安裝jdk:jdk11
* 2.安裝maven:3.3
* 3.安裝git
* 4.安裝python3
* 5.安裝包:AdafruitDHT.py
  sudo git clone https://github.com/adafruit/Adafruit_Python_DHT.git
  cd Adafruit_Python_DHT 
  sudo python3 setup.py install
  驗證:
  python3 AdafruitDHT.py 11 4
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

四.測試結果

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?編輯

或者瀏覽器:http://192.168.0.102:8101/th_sensor/readth?radio=4

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2908

    瀏覽量

    103134
  • 樹莓派
    +關注

    關注

    113

    文章

    1649

    瀏覽量

    104844
  • DTH11
    +關注

    關注

    2

    文章

    9

    瀏覽量

    8941
收藏 人收藏

    評論

    相關推薦

    STM32+DHT11監測環境溫濕度

    DHT11是一種數字溫濕度傳感器,能夠通過數字信號輸出當前環境的溫度和濕度值。DHT11可以
    的頭像 發表于 05-17 09:22 ?4050次閱讀
    STM32+<b class='flag-5'>DHT11</b>監測<b class='flag-5'>環境</b>的<b class='flag-5'>溫濕度</b>

    基于arduino的dht11溫濕度傳感器的使用

    本文介紹了DHT11溫濕度傳感器電氣特性、DHT11封裝形式及接口說明與典型應用電路,其次介紹了DHT11溫濕度傳感器時序圖與連接圖,最后介
    發表于 01-22 15:50 ?4.4w次閱讀
    基于arduino的<b class='flag-5'>dht11</b><b class='flag-5'>溫濕度</b>傳感器的使用

    STM32外接DHT11溫濕度傳感器并通過OLED進行數據顯示的設計電路與程序

    本篇介紹了如何在STM32上外接溫濕度DHT11實現溫濕度數據的讀取,并通過OLED進行數據顯示。
    的頭像 發表于 06-07 09:09 ?1.1w次閱讀
    STM32外接<b class='flag-5'>DHT11</b><b class='flag-5'>溫濕度</b>傳感器并<b class='flag-5'>通過</b>OLED進行數據顯示的設計電路與程序

    通過使用AT89C52和DHT11設計的溫濕度控制系統資料分享

    【資源下載】下載地址:點擊下載 1343 百度網盤本文通過使用AT89C52單片機、DHT11傳感器模塊、1602液晶顯示屏模塊以及繼電器控制模塊。簡單明了的實現的溫濕度的控制要求。DHT11
    發表于 11-10 07:02

    使用STM32來讀取DHT11數字溫濕度傳感器

    基于STM32 -DHT11 數字溫濕度傳感器實驗實驗目的:這個實驗的目的使用 STM32來讀取DHT11 數字溫濕度傳感器,從而得到
    發表于 11-10 08:58

    stm32單片機如何從DHT11獲取到溫濕度的呢

    stm32獲取DHT11模塊溫濕度數值原理解析stm32單片機如何從DHT11獲取到溫濕度的呢?首先可以通過
    發表于 11-22 06:11

    如何通過NodeMCU和DHT11收集溫濕度

    使用 NodeMCU 和 DHT11 傳感器通過 MQTT 上傳溫濕度數據簡介本示例將演示如何通過 NodeMCU, DHT11 收集
    發表于 11-24 08:08

    DHT11溫濕度傳感器簡介

    DHT11溫濕度傳感器1、DHT11簡介DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度
    發表于 02-16 06:55

    DHT11溫濕度檢測報警器

    基于單片機的使用DHT11模塊制作的溫濕度檢測器,溫濕度超過設定值是報警提示,已通過過實物運行調節
    發表于 02-27 19:02 ?36次下載

    DHT11溫濕度傳感器程序下載

    DHT11溫濕度傳感器程序下載
    發表于 11-28 16:17 ?32次下載

    溫濕度DHT11資料

    溫濕度DHT11資料匯總 DHT11是一款有已校準數字信號輸出的溫濕度傳感器。 其精度濕度+-5%RH, 溫度+-2℃,量程
    發表于 11-29 17:28 ?25次下載

    溫濕度傳感器DHT11資料匯總

    溫濕度傳感器DHT11資料匯總
    發表于 05-20 14:34 ?32次下載
    <b class='flag-5'>溫濕度</b>傳感器<b class='flag-5'>DHT11</b>資料匯總

    使用 NodeMCU 和 DHT11 傳感器通過 MQTT 上傳溫濕度數據

    使用 NodeMCU 和 DHT11 傳感器通過 MQTT 上傳溫濕度數據簡介本示例將演示如何通過 NodeMCU, DHT11 收集
    發表于 11-16 10:06 ?29次下載
    使用 NodeMCU 和 <b class='flag-5'>DHT11</b> 傳感器<b class='flag-5'>通過</b> MQTT 上傳<b class='flag-5'>溫濕度</b>數據

    MSP432 P401R 單片機 讀取DHT11 串口發送溫濕度 OLED顯示溫濕度 溫濕度檢測

    MSP432P401R讀取DHT11串口發送溫濕度OLED顯示溫濕度
    發表于 12-16 16:54 ?33次下載
    MSP432 P401R 單片機  <b class='flag-5'>讀取</b><b class='flag-5'>DHT11</b> 串口發送<b class='flag-5'>溫濕度</b> OLED顯示<b class='flag-5'>溫濕度</b> <b class='flag-5'>溫濕度</b>檢測

    【Renesas RA6M4開發板之DHT11溫濕度讀取

    本篇通過Renesas RA6M4開發板DHT11溫濕度讀取示例程序演示。
    的頭像 發表于 01-18 17:18 ?1368次閱讀
    【Renesas RA6M4開發板之<b class='flag-5'>DHT11</b><b class='flag-5'>溫濕度</b><b class='flag-5'>讀取</b>】
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>