文档章节

TPYBoardv201:带以太网的MicroPython开发板

bodasisiter
 bodasisiter
发布于 2017/05/03 15:57
字数 1444
阅读 67
收藏 0

MicroPython是运行在微控制上的Python,Python现已成为非常热门的程序语言,在微处理器领域更是备受欢迎。Python可以完成单片机这样对实时性要求高的开发环境,Python移植相对比较容易,有很多的版本。目前关于MicroPython的开发板比较单一,今天要介绍的是一款带以太网的MicroPython开发板——TPYBoardv201。

以太网的MicroPython开发板

PYBoardV201是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4个LED灯、板载V201网口功能,可在3.3V-10V之间的电压正常工作。可以说这个开发板在网络稳定方面是一霸也不为过,板上其他硬件资源也非常丰富,像单总线,i2c,spi,串口等接口也是应有尽有,下面我们就会用到串口和单总线的功能。购买地址:https://item.taobao.com/item.htm?spm=686.1000925.0.0.y9nxnh&id=546026829923

硬件介绍:

MCU(主控芯片):STM32F405RGT6

ARM CORTEX-M4

MCU运行最高速度:168MHz

Flash:1024KB

SD Card(最大8GB)

Micro USB, 可在3.5V-10V电压内工作

2x USB 2.0

RST键: 在开发板的左下角

USR键: RST键上方

以太网转串口

LED*4  (从外向里依次是红,黄,绿,蓝)

TPYBoardV201 温湿度上传实例

历来关于温湿度的检测都是没有间断过的,这次我们继续检测温湿度,同样还是使用DHT11来检测。但是这次检测到的温湿度不进行显示,也不进行报警,这次要把检测到的数据通过以太网上传到服务器上去。

先来说一下需要的器件:

TPYBoardV201开发板一块;

DHT11温湿度模块一个;

面包板一个(可省略);

杜邦线若干;

简单介绍一下各个器件

开发板不做过多介绍,主要说的是温湿度传感器——DHT11。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。

上面介绍了所需器件,下面我们来说一下实验所需的环境。这里只需要能给开发板供电,以及可以支持有线网络连接(可以给开发板接上网线)即可。

下面实验开始

一.按照下表进行接线

DHT11

V201开发板

GND

GND

VCC

VIN

DATA

X8

其次就是给开发板进行供电和插上网线,看到V201网口上的绿色指示灯亮起来,说明已经连接上网络。

二.配置V201网口

这一步是为了设置V201网口模块的目的地址,本地端口,波特率,数据位,校验位等一系列信息,具体配置方向详见:V201网口配置使用文档。

接着我们来说一下基本的逻辑流程:

我们这次是为了把温湿度数据上传服务器,第一步肯定是现在开发板上获取到温湿度的数据,关于DHT11的使用,开发板这边提供了非常详细的使用方法和DHT11的库,这里就不做多余介绍啦。

在我们成功获取到温湿度以后,把温湿度数据进行分割处理,说白了就是把温度和湿度分开。

前面把要传的数据都处理好了,接下来就是进行传输,在保证网络通畅的前提下,设置串口6,也就是Y1和Y2,具体的波特率这个要参照你前面设置给V201网口的波特率来定。

在这里需要说一句的是,这个开发板在使用以太网功能的时候,Y1,Y2,Y3这三个引脚是被占用的,其中Y1和Y2是串口,执行通信功能。

这里需要介绍一下Y3,Y3是V201网口的设置引脚,当Y3不为低电平时,V201网口处于正常工作状态,可以进行数据上传,也可以利用设置软件通过网络进行配置。当Y3为低电平时,V201网口进入串口配置模式,可利用设置软件通过串口进行配置,此时不能进行数据上传。

以上工作全部完成后,剩下的就是把配置好的数据,通过串口6发送出去。

最后我们只需要监控数据是不是上传正常就可以了。

下面是我做实验的实物图和数据监控截图,我是在我的电脑上开了个模拟的端口,虽然low了点,但是效果一样的。

实物图

数据监控截图

源代码

下面是源代码,共享给大家。

import pyb
from pyb import UART
from pyb import Pin
from ubinascii import hexlify
from ubinascii import *
from DHT11 import DHT11#定义温湿度传感器的库
  
ulan = UART(6, 115200)#定义串口,我的网口设置了115200的波特率
K=1
#*******************************主程序**********************************
print('while')
while (K>0):
    S=DHT11()#调用温湿度传感器的方法
    A=S.read_temps()#读取温湿度的值
    print('A:',A)
    print('A:',A[0:2])
    print('A:',A[3:5])#打印温湿度的值
    ulan.write('temperature is:'+A[0:2]+'\r\n')#上传温度
    pyb.delay(2000)#做延时是为了让给模拟服务器一个反应时间
    ulan.write('wet is:'+A[3:5]+'%'+'\r\n')#上传湿度
    pyb.delay(12000)

 

© 著作权归作者所有

共有 人打赏支持
bodasisiter
粉丝 18
博文 164
码字总数 147890
作品 0
潍坊
Python玩转单片机:从基础到进阶,几款主流的开发板大盘点!

Python俨然已成为当下最热门的编程语言(可以说没有之一)。Python火到什么程度?它将被加入小学生教材,纳入高考,估计在不远的将来可能会成为一项常用的技能。 学习python能做什么? 可以快...

bodasisiter
09/05
0
0
MicroPython入门:能跑MicroPython开发板大盘点!

相信对于很多刚刚接触MicroPython的DIY创客来说,首先是被一些大神的作品吸引,然后有冲动自己动手,却发现入门很难,特别是面对各式各样的开发板不知如何选择。目前市面上关于MicroPython开...

bodasisiter
07/06
0
0
人生苦短,用 RT-Thread MicroPython 享受编程的乐趣

在 i.MX RT1050 EVK 开发板上实现这样的一个读取板载的 6 轴传感器信息和系统 CPU 利用率等信息,实时显示到网页中效果,你猜需要多少代码? 事实上 RT-Thread 的同事利用 RT-Thread MicroP...

RTThread物联网操作系统
05/02
0
0
零基础如何优雅入门“网红”Python?小白必看的MicroPython视频合集:从入门到精通!

零基础如何优雅入门“网红”Python?小白必看的MicroPython视频合集:从入门到精通! 若问时下最火的一门编程语言是什么?答案一定是Python。 就连高考都开始考Python啦! 这把火已经烧到了程...

bodasisiter
09/10
0
0
[MicroPython]STM32F407开发板控制BMP180测量气压

1.实验目的 1. 学习在PC机系统中扩展简单I/O 接口的方法。 2. 学习BMP180测量气压的方法。 3. 学习F407 Micropython开发板 I2C接口的用法。 2.所需元器件 F407 Micropython开发板一块 BMP180...

bodasisiter
08/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Sql语言与MySql数据库

1. 数据库简介 1. 数据库,就是存储数据的仓库,只能通过sql语言来访问,数据库也是一个文件系统。通常,MySQL、Oracle等数据库,也被称为关系型数据库,其保存的不仅仅只是数据,还包括数据...

江左煤郎
10分钟前
0
0
IDEA 取消自动import .*

打开设置 > Editor > Code Style > Java > Scheme Default > Imports ① 将 Class count to use import with "*" 改为 99 (导入同一个包的类超过这个数值自动变为 * ) ② 将 Names count ......

乔老哥
12分钟前
1
0
PostGIS学习笔记(开篇)

PostGIS事实上算是笔者开始写博客的第一篇内容。而事实上那篇博文的内容并不丰富,笔者对PostGIS的了解仍然不多,然而17年在OSGeo课程学习时对PostGIS又有了进一步了解,并逐步发现它的强大。...

胖胖雕
12分钟前
1
0
【Centos】在nginx服务器中配置php和mysql

接上一章《【Centos】利用Vultr服务器和namesilo布网》(https://my.oschina.net/u/3776619/blog/2051986),在Centos中配置好nginx,并在iptables中开启了80端口,和为了远程mysql操作方便开...

yongh701
36分钟前
2
0
flume -- fileChannel简要分析其过程

flume之event写入FileChannel doPut(event)-->获取共享锁后[log.lockShared();]-->FlumeEventPointer ptr = log.put(transactionID, event); 此处的log.put即将transactionID及event进行后续......

-九天-
48分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部