溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python怎么實(shí)現(xiàn)溫濕度上傳

發(fā)布時(shí)間:2022-01-13 10:57:24 來源:億速云 閱讀:186 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹“Python怎么實(shí)現(xiàn)溫濕度上傳”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“Python怎么實(shí)現(xiàn)溫濕度上傳”文章能幫助大家解決問題。

  先來說一下需要的器件:

  TPYBoard_V201開發(fā)板一塊;

  DHT11溫濕度模塊一個(gè);

  面包板一個(gè)(可省略);

  杜邦線若干;

  先來簡單介紹一下各個(gè)器件。

  TPYBoard_V201開發(fā)板

  TPYBoard_V201是以遵照MIT許可的MicroPython為基礎(chǔ),由TurnipSmart公司制作的一款MicroPython開發(fā)板,它基于STM32F405單片機(jī),通過USB接口進(jìn)行數(shù)據(jù)傳輸。該開發(fā)板內(nèi)置4個(gè)LED燈、板載V201網(wǎng)口功能,可在3.3V-10V之間的電壓正常工作。可以說這個(gè)開發(fā)板在網(wǎng)絡(luò)穩(wěn)定方面是一霸也不為過,板上其他硬件資源也非常豐富,像單總線,i2c,spi,串口等接口也是應(yīng)有盡有,這次我們就要用到串口和單總線的功能。

  DHT11

  DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。

  上面介紹了所需器件,下面我們來說一下實(shí)驗(yàn)所需的環(huán)境。這里只需要能給開發(fā)板供電,以及可以支持有線網(wǎng)絡(luò)連接(可以給開發(fā)板接上網(wǎng)線)即可。

  下面實(shí)驗(yàn)開始

  一.按照下表進(jìn)行接線

DHT11

V201開發(fā)板

GND

GND

VCC

VIN

DATA

X8

  其次就是給開發(fā)板進(jìn)行供電和插上網(wǎng)線,看到V201網(wǎng)口上的綠色指示燈亮起來,說明已經(jīng)連接上網(wǎng)絡(luò)。

  二.配置V201網(wǎng)口

  這一步是為了設(shè)置V201網(wǎng)口模塊的目的地址,本地端口,波特率,數(shù)據(jù)位,校驗(yàn)位等一系列信息。

  接著我們來說一下基本的邏輯流程:

  1.我們這次是為了把溫濕度數(shù)據(jù)上傳服務(wù)器,第一步肯定是現(xiàn)在開發(fā)板上獲取到溫濕度的數(shù)據(jù),關(guān)于DHT11的使用,開發(fā)板這邊提供了非常詳細(xì)的使用方法和DHT11的庫,這里就不做多余介紹啦。

  2.在我們成功獲取到溫濕度以后,把溫濕度數(shù)據(jù)進(jìn)行分割處理,說白了就是把溫度和濕度分開。

  3.前面把要傳的數(shù)據(jù)都處理好了,接下來就是進(jìn)行傳輸,在保證網(wǎng)絡(luò)通暢的前提下,設(shè)置串口6,也就是Y1和Y2,具體的波特率這個(gè)要參照你前面設(shè)置給V201網(wǎng)口的波特率來定。

  4.在這里需要說一句的是,這個(gè)開發(fā)板在使用以太網(wǎng)功能的時(shí)候,Y1,Y2,Y3這三個(gè)引腳是被占用的,其中Y1和Y2是串口,執(zhí)行通信功能。

  5.這里需要介紹一下Y3,Y3是V201網(wǎng)口的設(shè)置引腳,當(dāng)Y3不為低電平時(shí),V201網(wǎng)口處于正常工作狀態(tài),可以進(jìn)行數(shù)據(jù)上傳,也可以利用設(shè)置軟件通過網(wǎng)絡(luò)進(jìn)行配置。當(dāng)Y3為低電平時(shí),V201網(wǎng)口進(jìn)入串口配置模式,可利用設(shè)置軟件通過串口進(jìn)行配置,此時(shí)不能進(jìn)行數(shù)據(jù)上傳。

  6.以上工作全部完成后,剩下的就是把配置好的數(shù)據(jù),通過串口6發(fā)送出去。

  7.最后我們只需要監(jiān)控?cái)?shù)據(jù)是不是上傳正常就可以了。

  實(shí)物及數(shù)據(jù)圖

  下面是我做實(shí)驗(yàn)的實(shí)物圖和數(shù)據(jù)監(jiān)控截圖,我是在我的電腦上開了個(gè)模擬的端口,雖然low了點(diǎn),但是效果一樣的。

Python怎么實(shí)現(xiàn)溫濕度上傳

  實(shí)物圖

Python怎么實(shí)現(xiàn)溫濕度上傳
  數(shù)據(jù)監(jiān)控截圖

  源代碼

import pyb
from pyb import UART
from pyb import Pin
from ubinascii import hexlify
from ubinascii import *
from DHT11 import DHT11#定義溫濕度傳感器的庫

ulan = UART(6, 115200)#定義串口,我的網(wǎng)口設(shè)置了115200的波特率
K=1
#*******************************主程序**********************************
print('while')
while (K>0):
    S=DHT11()#調(diào)用溫濕度傳感器的方法
    A=S.read_temps()#讀取溫濕度的值
    print('A:',A)
    print('A:',A[0:2])
    print('A:',A[3:5])#打印溫濕度的值
    ulan.write('temperature is:'+A[0:2]+'\r\n')#上傳溫度
    pyb.delay(2000)#做延時(shí)是為了讓給模擬服務(wù)器一個(gè)反應(yīng)時(shí)間
    ulan.write('wet is:'+A[3:5]+'%'+'\r\n')#上傳濕度
    pyb.delay(12000)

關(guān)于“Python怎么實(shí)現(xiàn)溫濕度上傳”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI