一、树莓派是什么 树莓派是一款基于ARM的微型电脑主板,系统基于Linux,以MicroSD卡为磁盘,树莓派主板有4个USB接口,一个以太网接口,一个3.5mm音频口,一个HDMI视频接口,40-pin的GPIO连接端口 https://www.raspberrypi.org/products/
二、树莓派可以干什么 可以当做一个微型服务器,作为FTP文件服务器、网站服务器、代码托管等 游戏机(刷入游戏模拟器系统,可玩大部分复古游戏)https://www.jianshu.com/p/feffa629084a 遥控车(手机通过socket连接控制小车,且小车装有红外线传感器,可以自动避障), 可以结合其他传感器搭建智能家居 三、DHT11温湿度传感器 传感器文档
价格便宜,体积小,功耗低,缺点是精度不高
有四个针脚:正极、负极、串行数据总线、空脚
DHT11温湿度传感器数据读取原理
代码:
__author__ = 'DuShu' import time import RPi.GPIO as GPIO def getIntVal(binayList): idx = 0 binaryStr = '' while idx < len(binayList): binaryStr += str(binayList[idx]) idx += 1 return int(binaryStr ,2) def getHumidity(): GPIO_DATA = 18 GPIO_HIGH = GPIO.HIGH GPIO_LOW = GPIO.LOW GPIO.setmode(GPIO.BCM) #一秒后开始工作 time.sleep(1) #设置GPIO接口为输出数据模式 GPIO.setup(GPIO_DATA,GPIO.OUT) #输出一个低电平信号 GPIO.output(GPIO_DATA, GPIO.LOW) time.sleep(0.02) #0.018 #0.02秒后输出一个高电平信号,启动模块测量 GPIO.output(GPIO_DATA, GPIO.HIGH) #设置GPIO接口为读取读取数据模式 GPIO.setup(GPIO_DATA,GPIO.IN) #等待,获取到高电平信号 while GPIO.input(GPIO_DATA) == GPIO_HIGH: pass #等待,获取到低电平信号 while GPIO.input(GPIO_DATA) == GPIO_LOW: pass #获取到高底电平信号后,开始读取模块获取数据 data = [] cnt = 40 dataArr = [] while cnt > 0: cnt = cnt - 1 while GPIO.input(GPIO_DATA) == GPIO_LOW: pass k = 0 while GPIO.input(GPIO_DATA) == GPIO_HIGH: k += 1 if k > 100: break dataArr.append(k) if k < 10: data.append(0) else: data.append(1) print(dataArr) #根据公式定义,解析温湿度数据 val1 = getIntVal(data[0:8]) val2 = getIntVal(data[8:16]) val3 = getIntVal(data[16:24]) val4 = getIntVal(data[24:32]) val5 = getIntVal(data[32:40]) if (val5 == val1 + val2 + val3 + val4): return [val1, val3] else: return [-1, -1] GPIO.cleanup() if __name__ == '__main__': hum = getHumidity() print("hum:", hum[0], " temp:", hum[1]) 四、参考 https://blog.csdn.net/guyang1995/article/details/54692810 https://zhuanlan.zhihu.com/p/74440206