首页 > GAME > 游戏 > 正文

甘肃褂计汹商贸有限公司,毕节章忻蕴工艺品有限责任公司,湖北何官电子科技有限公司

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


   今天给大家带来的是TPYBoard V202开发板的一次测试项目使用心得。而测试项目就是给服务端发送硬件底层数据,而数据有产品名称,WF模块MAC地址,温湿度数据。

 

     什么是MicroPython
    MicroPython是在单片机上可以跑的Python,也就是说,你可以通过Python脚
本语言开发单片机程序。
    MicroPython遵守MIT协议开源,被授权人拥有复制、修改、发行和再授权的权
利。由剑桥大学的理论物理学家乔治?达明设计。和Arduino类似,但MicroPython
更强大。
    MicroPython基于ANSIC,语法跟Python3基本一致,拥有自家的解析器、编译器
、 虚拟机和类库等。目前它支持基于32-bit的ARM处理器,比如STM32F405。也就
是说ARM处理器STM32F405上直接可运行Python语言,用Python语言来控制单片机。



什么是TPYBoard
    TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一
款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该
开发板内置4个LED灯、一个加速传感器,可在3V-10V之间的电压正常工作。
    TPYBoard开发板让用户可以通过Python代码轻松控制微控制器的各种外设,比如
LED等,读取管脚电压,播放歌曲,和其他设备联网等等。
    TPYBoard开发板支持Python3.0及以上版本的直接运行,支持重力加速度传感器,
支持上百周边外设配件,支持SWD烧写固件。零基础也能灵活掌握单片机技术!

 

在使用过程中遇到了很多问题,其中就包括Python3版本,与python2版本
的问题,开发板固件刷写问题,还有MAC解析算法问题。解决这些问题,小编都快把
群主,和小编的朋友问烦了,小编也在此谢谢,官方群主,和那位好心的朋友。
     那小编就不浪费时间直接进入正题:
     这是本人朋友的TPYBV202。
代码如下:

 

#
-*- 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 " % (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)
附上显示的效果:这是开发板返回的数据。

 

这是服务器接收到的json数据。

当前文章:http://mabebox.com/html_60859.html

发布时间:2019-03-26 02:51:10

寄宿和出国一定能培养孩子的独立品格? 为什么我们要称呼他为芈月呢? 学习能力: 4年级孩子考试第一名! 春天的养护 漫谈儿童的不适应行为及治疗 触目惊心的当代“官赌” 火星生存指南 赤子孤独了,会创造一个世界——纪念傅雷夫妇 佛家禅语影响人生 论姑娘:雌性,妖精和菩萨

历史,让我们看见 一个好的人,不如一个对的人 初恋教会我们爱 情人节需要花钱 我女儿喜欢了富二代该怎么办? “甩手爸爸”容易造成孩子易“过敏” 在感情中,如何更好地依恋伴侣? 柔情的味道 头等大事 罗李华谈:属马的人2016年运程 想淡定面对各种“晒”——你需要了解“幸存者偏见” 游戏鬼精灵 上课瞌睡虫 那些孩子教会我们的事 青春期——改变人生的最后机会 他们凭什么成为罗德学者 文创优化 - 黄胤然首倡文化新概念 花博士教你:男女之间的风水很重要!这不是迷信! 【情感咨询】执迷不悟单恋的男孩 原创:面对灾难最好的帮助—倾听篇

编辑:辛建


声明:所发布的内容均来源于互联网,目的在于传递信息,但不代表本站赞同其观点及立场,版权归属原作者,如有侵权请联系删除。
女人要的安全感你永远“给”不了

女博士:不是我们难嫁,是你娶不起

资金管理分配好,仓位控制风险小