# -*- coding: gbk -*-
import dht
import machine
import network
from machine import Pin
import socket
import urllib
import time # 声明用到的类库,尤其是dht的类库
import json
import sys
import utime
# 声明用到类库中的函数,并设端口 #置参数
d = dht.DHT22(machine.Pin(4))
led = Pin(2, Pin.OUT)
count = 0
def do_connect():
"""定义开发板连接无线网络的函数"""
wlan = network.WLAN(
network.STA_IF) # 设置开发板的网 #络模式
wlan.active(True) # 打开网络连接
if not wlan.isconnected(): # 判断是否有网络连接
print('connecting to network...')
# 设置想要连接的无线网络
# #线名称和密码
wlan.connect('00', 'zzp6330058')
while not wlan.isconnected(): # 等待连接上无线网络
pass
MAC = wlan.config('mac') # 获得MAC地址
#t = ntptime.time()
#t = t + 28800 # 相差八小时
#tm = tm[0:3] + (0,) + tm[3:6] + (0,)
#machine.RTC().datetime(tm)
print('network config:', wlan.ifconfig())
return MAC
def connection(NA_ME, MA_C, TIM_E, TEM_P, CUT_cf, HU_M):
"""要发送的数据"""
data = {
'name': NA_ME,
'id': MA_C,
'time': TIM_E,
'temp': TEM_P,
'symbol': CUT_cf,
'hum': (HU_M + '%')
}
return data
def DHT_collect():
"""温湿度采集模块"""
d.measure() # 调用DHT类库中测量数据的函数
# 读取measure()函数中的温度数据
temp = str(d.temperature())
hum = str(d.humidity()) # 读取measure()函数中的湿度数据
print('TEMP:' + temp + ' ' + 'HUM:' + hum)
return temp, hum
def To_obtain_name_time():
"""获取本机名称,本地时间"""
time_Str = ''.join([str(i) for i in utime.localtime()])
return time_Str
def Data_sent(host, port, data):
"""连接服务器发送数据"""
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建套接字
s.connect((host, port)) # 主动初始化TCP服务器连接。。。
json_str = json.dumps(data) # 将发送的数据转换成json数据
# 发送TCP数据,将string中的数据发送到连接的套接字。
s.send(bytes('%srn' % (json_str), 'utf8'))
s.close() # 关闭套接字
def MAC_format_conversion(MA):
"""MAC格式换算"""
MA = [hex(x) for x in bytes(MA)] #将数据转换成16进制保存到列表中
Y=0#循环初值
MB =''#字符串
while Y<6:
if len(MA[Y])==4: #判断是否有零
pass
else:
MA[Y] = MA[Y]+'0'
if Y<5: #对列表重构5c:cf:7f:d0:85:65
MB = MB + MA[Y][2]+MA[Y][3]+':'
else:
MB = MB + MA[Y][2]+MA[Y][3]
Y+=1
return MB
MAC = do_connect() # 连接WF
MAC = MAC_format_conversion(MAC)
print(MAC)
while True:
"""主循环"""
TIME = 0 #本地时间
# MAC = get_mac_address()#获取MAC
TEM, HUM = DHT_collect() # 获取温湿度
data = connection("TPYBoard v202", MAC,
TIME, TEM, 0, HUM) # 建立数据字典
Data_sent("119.23.223.146", 2689, data)
count += 1
print('Count:', count) # 显示发送的次数
time.sleep(15)
更多回帖