TPYBoard开发板搭建与阿里云服务发送数据


#
-*- 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('%s\r\n' % (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)


TPYBoard开发板搭建与阿里云服务发送数据的更多相关文章
- TPYBoard开发板搭建,实现隐秘通信
一.准备工作 lTPYBoard v102(简称v102) 1块 lTPYBoard v202(简称v202) 1块 l杜邦线.MicroUSB数据线 若干 (成本100元以内,某宝上可以买到) 附上 ...
- 带以太网的MicroPython开发板:TPYBoardv201建立云加法器实例
转载请注明文章来源,MicroPythonQQ技术交流群:157816561,公众号:MicroPython玩家汇 前面的一篇文档向大家介绍了v201的开发板作为客户端终端向TCPS上传数据的基本过程 ...
- 阿里云服务执行mysql_install_db报错
问题描述:阿里云服务执行mysql_install_db报错解决方案:安装autoconf库(yum -y install autoconf)然后在执行:mysql_install_db就会出现这样, ...
- 使用Xshell链接阿里云服务
1.下载Xshell,进入xshell官网 https://xshell.en.softonic.com/,选择免费版本进行下载,在该页面https://www.netsarang.com/zh/fr ...
- 智龙开发板搭建llsp环境
智龙开发板搭建llsp(linux+lighttpd+sqlite3+php)环境 1. 准备 1. 智龙开发板V3 2. 软件编译环境:VirtualBox6+CentOS6.10-i386.min ...
- MicroPython教程之TPYBoard开发板DIY红外寻迹小车
智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下寻迹小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要使用python语言 ...
- Xshell连接阿里云服务被拒绝
问题描述:突然的Xshell连接阿里云服务被拒绝了(如图)网上众多的方案都不行例如:https://www.cnblogs.com/wanglle/p/11416987.html(参考博文,本人这个问 ...
- AI加持的阿里云飞天大数据平台技术揭秘
摘要:2019云栖大会大数据&AI专场,阿里云智能计算平台事业部研究员关涛.资深专家徐晟来为我们分享<AI加持的阿里云飞天大数据平台技术揭秘>.本文主要讲了三大部分,一是原创技术优 ...
- 阿里云server该数据光盘安装操作
猛击这里:阿里云server该数据光盘安装操作
随机推荐
- Core Animation文档翻译 (第一篇)
Core Animation 文档翻译(第一篇) 前言 作为iOS 开发,官方文档的阅读是很有必要的,值此周末便写下此文.作为iOS 实际经验3年的开发,之前有阅读并实践过经典的<iOS核心动画 ...
- [转载]MySQL UUID() 函数
目录 目录 一 引子 二 MySQL UUID() 函数 三 复制中的 UUID()四 UUID_SHORT() 函数 3.1 实验环境介绍 3.2 搭建复制环境 3.3 基于 STATEMENT 模 ...
- [转载]MySQL5.6 PERFORMANCE_SCHEMA 说明
背景: MySQL 5.5开始新增一个数据库:PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数.并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储 ...
- Java关于BufferedWriter.newline()换行的注意事项
最近项目中需要导出文件,其实导出文件是一个挺简单的事情.但是却遇到了很奇怪的问题. 首先导出到文件需要用到 BufferedWriter.而换行则是通过 bw.newline() 方法,问题将出在 n ...
- Linux系统调用过程
1 系统调用的作用 系统调用是操作系统提供给用户(应用程序)的一组接口,每个系统调用都有一个对应的系统调用函数来完成相应的工作.用户通过这个接口向操作系统申请服务,如访问硬件,管理进程等等. 应用程序 ...
- org.springframework.expression.spel.SpelEvaluationException: EL1004E: Method call: Method service() cannot be found on com.my.blog.springboot.thymeleaf.util.MethodTest type
前言 本文中提到的解决方案,源码地址在:springboot-thymeleaf,希望可以帮你解决问题. 至于为什么已经写了一篇文章thymeleaf模板引擎调用java类中的方法,又多此一举的单独整 ...
- bootstrap-paginator分页插件的两种使用方式
分页有两种方式: 1. 前台分页:ajax一次请求获取全部数据,适合少量数据(万条数据以下): $.ajax({ type: "GET", url: "",// ...
- 51 Nod 1028 大数乘法 V2【Java大数乱搞】
1028 大数乘法 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 给出2个大整数A,B,计算A*B的结果. Input 第1行:大数A 第2行:大数B (A ...
- Saving James Bond(dijk)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1245 Saving James Bond Time Limit: 6000/3000 MS (Java ...
- JAVA实现网页上传头像
大概实现就是在页面嵌入一个file类型的input控件,并且将之隐藏,点击上传传递到这个控件上面,选择文件,将图片以base64的方式传递到后台,后台解码器解码,保存图片,并且把图片名字保存到数据库或 ...