micropython存取print结果_[Micropython][TPYBoard v202]温湿度获取上传

本文介绍了如何使用TPYBoardV202开发板和DHT11温湿度传感器进行数据检测,并通过MicroPython将数据上传至服务器。文章详细阐述了接线方法、代码编写以及数据上传的实现过程。
摘要由CSDN通过智能技术生成

原创版权归山东萝卜科技有限公司所有,转载必须以链接形式注明作者和原始出处

一、什么是TPYBoardV202

TPYBoard_V202是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于ESP8266,通过USB接口进行数据传输,可在3.5V-6V之间的电压正常工作。让您零基础也能灵活掌握8266模块通信技术!支持Python语言的WiFi通信开发板。

二、利用TPYBoardV202完成检测温湿度并上传

1、具体要求

利用TPYBoardV202完成检测温湿度并上传

利用TPYBoardV202连接DHT11温湿度传感器,通过此传感器检测所在地温度和湿度,并通过无线网络上传至服务器,这里借助厂家提供的测试网页进行测试。

2、所需器件

TPYBoardV202开发板一块

DHT11模块一个

3、DHT11介绍

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。

对DHT11做了简要介绍,下面再介绍一个这个器件在V202开发板上的使用方法,这个器件的使用方法就简单了

主要是因为v202开发板里面集成了DHT的类库,你在使用DHT11的时候,直接声明一下类库,调用函数,读取数值就可以了。

三、制作主要过程

先上个图,下面再开始说代码的问题。

V202实物图

V202数据打印截图

V202温湿度上传测试网页

1、制作流程

(1)DHT11模块上面有三根针脚,分别为GND,VCC,OUT,接线对应如下表:

DHT11V202

GNDGND

VCC+5V

OUTG4

(1)按照上表接好线后,我们开始编辑main().py的代码;

(2)首先需要声明我们所用到的类库,例如引脚,时间,接口,这个实验里面我们好用到了网络,机制等等;

(3)在我们声明类库完成之后,我们需要进行类库函数的调用,这里我们需要调用的是DHT11读取数据的函数;

(4)完成上面的基本准备工作后,需要定义两个我们会用到的函数,简单的说就是开发板连接路由器函数和开发板数据上传函数;

(5)完成开发板连接路由器的函数后,调用一下这个函数,这个函数在这次的代码中仅使用一次;

(6)接下来建立起整个代码的主循环;

(7)在循环中,调用DHT类库中数据测量的函数,随后在函数中读取出温度和湿度的数值,并保存;

(8)获取到温湿度后,开始调用之前定义好的开发板数据上传函数,把数据上传至服务器;

(9)延时一段时间,在整个循环中不断的读取温湿度,就完成了实时的温湿度监控。

2、具体代码:import dht

import machine

import network

from machine import Pin

import socket

import urllib

import time#声明用到的类库,尤其是dht的类库

d = dht.DHT11(machine.Pin(4))#声明用到类库中的函数,并设                                                    #置参数

led = Pin(2, Pin.OUT)

count=0

def http_get(url):#定义数据上传的函数

_, _, host, path = url.split('/', 3)#分割传进来的参数

addr = socket.getaddrinfo(host, 80)[0][-1]#把传进来的参数                                                               #处理成符合格式的地址

s = socket.socket()

s.connect(addr)#链接地址

s.send(bytes('GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n' % (path, host), 'utf8'))#向链接的地址发送数据

while True:#开始数据发送

data = s.recv(50)

if data:#数据未发送完成,继续发送

recive=str(data, 'utf8').upper()

#print(str(data, 'utf8'), end='')

if(recive.find('YES')>-1):

print('Send Data OK')

else:#数据发送完成,退出while

break

s.close()#关闭数据连接

def do_connect():#定义开发板连接无线网络的函数

wlan = network.WLAN(network.STA_IF)#设置开发板的网                                                                          #络模式

wlan.active(True)#打开网络连接

if not wlan.isconnected():#判断是否有网络连接

print('connecting to network...')

wlan.connect('无线名称', '密码')#设置想要连接的无                                                                   #线名称和密码

while not wlan.isconnected():#等待连接上无线网络

pass

print('network config:', wlan.ifconfig())

do_connect()#调用一次开发板连接无线网络的函数

while True:#开始整个代码的大循环

d.measure()#调用DHT类库中测量数据的函数

temp_=str(d.temperature())#读取measure()函数中的温度数                                                   #据

hum_=str(d.humidity())#读取measure()函数中的湿度数据

count+=1#计数变量+1

print('eg:',temp_,'-',hum_)

http_get('http://www.tpyboard.com/esp8266/SensorTest.php?t='+temp_+'&h='+hum_+'')

#调用数据上传函数,把最新测量得到的数据进行上传

print('Count:',count)

time.sleep(5)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值