文档章节

MicroPython-GPS开发板:TPYBoardv702 GPRS功能测试

bodasisiter
 bodasisiter
发布于 2017/04/27 15:52
字数 1675
阅读 18
收藏 0
点赞 0
评论 0

一、什么是TPYBoard V702

    TPYBoard V702是山东萝卜电子科技有限公司最新开发的,目前市面上唯一支持通信通信功能的MicroPython开发板:支持Python3.0及以上版本直接运行。支持GPS+北斗双模通信、GPRS通信、短信功能、电话功能;板载温湿度、光敏、三轴加速度传感器、蜂鸣器、LCD5110显示屏。免费提供通信测试服务平台。实物如下图:

 

 

二、利用TPYBoard V702完成利用GPRS功能把数据上传至服务器

1、具体要求

     利用TPYBoard V702完成利用GPRS功能把数据上传至服务器

2、所需器件

TPYBoard V702开发板  一块

Gsm手机卡            一张

TPYBoard V702开发板板载GPRS通信功能,无需外接

3、板载通信功能及使用介绍

 V702的开发板的整体整体亮点置一就是能板载通信功能,只要在开发板的卡槽上插上一张可以使用的手机卡(不支持电信),即可使用该功能。

开发板板载的通信功能包括了电话,短信,GPRS等功能,在这个实验里面我们只使用GPRS这个功能。

我们使用GPRS功能,主要是为了借助这个功能向服务器透传数据,所以我们第一步是要打开透传功能。

然后我们要和服务器建立连接,这时我们需要知道服务器的地址和端口。这个实验我们借用官方提供的测试平台,发送一个自己编辑的数据包,来学习一下GPRS功能的使用方法。

下面仔细说一下制作过程。

三、制作主要过程

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

Putty数据监控图

示例定位图

1、制作过程

(1)第一步是先把手机卡插到开发板开槽上,需要保证手机卡可以使用;

(2)在上面工作完成后,我们开始main().py文件代码的编辑;

(3)对需要用到的类库进行声明和定义;

(4)把我们需要使用的变量进行一下定义;

(5)把我们需要用到的接口进行声明和定义,这里我们主要用到了串口4这个接口,声明串口4的时候,需要把串口波特率设置为115200;

(7)下面开始主函数的编写,这个实验里面我们用到了数据包,我们先新建一个符合格式的数据包;

(8)完成以上之后,我们需要做一个最重要的事情,那就是定义“Y6”引脚为输出,然后把:“Y6”引脚拉低两秒以上,之后把此引脚拉高。因为“Y6”引脚是控制整个板载通信系统开启的开关,如果平时我们没有用到通信系统的话,为了节省功耗,板载通信系统是处于关闭状态的,需要使用时只需要拉低“Y6”引脚两秒以上;

 (9)当看到开发板上的红色直插LED灯快速闪烁的时候,说明板载通信系统正在启动,当这个红色直插指示灯结束快闪(如果插在开发板卡槽上的手机可用,指示灯处于慢闪状态)说明板载通信系统已经启动;

 (10)完成以上工作后,准备工作就已经完成了,下面我们需要先把通信系统的通信方式设置为透传,之后再和相应的服务器地址和端口进行连接;

 (11)和服务器建立连接后,就可以开始想服务器发送数据了,直接把数据从串口4送出去就可以了,通信系统会原封不动的把你发的数据发送到服务器。

2、具体代码:

import pyb
import upcd8544
from machine import SPI,Pin
from pyb import UART
from ubinascii import hexlify
from ubinascii import *#以上为声明使用到的类库


leds = [pyb.LED(i) for i in range(1,5)]
P,L,SHUCHU=0,0,0
SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK
#DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)
#CLK =>SPI(1).SCK  'X6' SPI clock
RST    = pyb.Pin('X20')
CE     = pyb.Pin('X19')
DC     = pyb.Pin('X18')
LIGHT  = pyb.Pin('X17')
lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)#以上为初始化显示屏的函数,虽然												#这次没有用到显示,但是备用
count_=0
N2 = Pin('Y3', Pin.OUT_PP)
N1 = Pin('Y6', Pin.OUT_PP)#定义通信系统启动引脚
N1.low()
pyb.delay(2000)
N1.high()
pyb.delay(10000)#拉高拉低引脚,启动通信系统
u2 = UART(4, 115200)#定义串口4,设置 波特率为115200
K=5#设置一个选择变量K
while (K==5):#这个循环是为了设置通信区域模式为透传模式。
    u2.write('AT+CIPMODE=1\r\n')
    pyb.delay(500)
    if(u2.any()>0):
        print('透传')
        _dataRead=u2.readall()
        print('透传',_dataRead.decode('utf-8'))
        if(_dataRead.find(b'OK')>-1):
            K=0
            pyb.delay(20)
u2.write('AT+CIPSTART="TCP","139.196.109.178",30000\r\n')#这个语句是为了搭建通信连													#接。
pyb.delay(10000)
print('123')
while (K==0):#这里是为了判断通信连接是否已经建立起来,如果没有建立起来通信的连接,			#则等待。
    pyb.delay(3000)
    if(u2.any()>0):
        _dataRead=u2.readall()
        print('oo',_dataRead)
        if(_dataRead.find(b'CONNECT OK')>-1):#这个判断是为了判断是否已经和服务器建										  #立起连接来
            K=1#开发板已经和服务器建立起连接来,则改变选择变量的值,使其进入下			    #一个循环
            pyb.LED(1).on()
while (K==1):#这个循环是执行数据传输命令的执行所在,在这个循环中进行各种数据的裁			#剪拼接和发送。
    print('DOU')
    #u2.write('+++')  此时整个系统进入透传通信模式,想要退出,则发送‘+++’,即可	#退出;
    #u2.write('ATO0') 想让系统从指令模式进入透传模式,则发送‘ATO0’,则进入透传;
    #pyb.delay(1500)
    pyb.LED(2).off()
    pyb.LED(3).off()
    pyb.LED(2).on()
    u2.write('TPGPS,1234567890abcde,36.67191670,119.17200000,201701120825,25,50,END')
    #这个报文详细格式参照服务平台示例报文格式。
    #把这格式里面的经纬度数据换成从定位系统获取到的经纬度,就可以实时定位了。
    pyb.delay(13000)#延时一下时间,官方提供的测试平台有上传频率限制
    if(u2.any()>0):#在向服务器发送了数据后,服务器会对数据进行判断,并返相应的报文				#(报文参数详见服务平台)
                    #这个返回仅适用于官方提供的服务平台,客户自己搭建的平台是否					#存在这个功能,客户自主搭建。
        _dataRead=u2.readall()
        print('1212',_dataRead)
    pyb.LED(3).on()
    pyb.delay(10000)

更多MicroPython开发板及详细教程请参考网站:http://www.tpyboard.com

© 著作权归作者所有

共有 人打赏支持
bodasisiter
粉丝 14
博文 140
码字总数 127462
作品 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
Micropython开发实例之TPYBoard v702GPRS功能测试

一、什么是TPYBoardV702 TPYBoardV702是山东萝卜电子科技有限公司最新开发的,目前市面上唯一支持通信通信功能的MicroPython开发板:支持Python3.0及以上版本直接运行。支持GPS+北斗双模通信...

bodasisiter
06/20
0
0
Micropython TPYBoard拼插编程之按键控制LED灯

一、什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4...

bodasisiter
04/18
0
0
[Micropython]TPYBoard v10x拼插编程实验 点亮心形点阵

一、什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4...

bodasisiter
04/17
0
0
TPYBoard—MicroPython开发板免费试用!你最想抱走哪款?

  TPYBoard开发板自上市开售以来,受到了广大硬件及MicroPython爱好者的一致好评,许多人提出想试用开发板的申请。为此,TPYBoard特推出多款开发板免费试用活动,感兴趣的朋友抓紧申请吧!...

bodasisiter
2017/10/24
0
0
第一款Micropython图形化编辑器—Python Editor

当你看到这篇文章的时候,显然你已经阅读了很多类似的文章,那么本篇文章会深入讲解一些新手的需求,提供详细的建议,当然我不会告诉你具体怎么做,一切答案都是肤浅的。 就拿我自己来说,初...

bodasisiter
04/23
0
0
MicroPython开发实例之自制小型家庭气象站

  众所周知,iPhone6/6Plus内置气压传感器,不过大家对于气压传感器还是很陌生。跟字面的意思一样,气压传感器就是用来测量气压的,但测量气压对于普通的手机用户来说又有什么作用呢?   ...

FreeBuf
06/30
0
0
Micropython之萝卜狗远程门禁控制系统

  * 本文作者:_橙子 ゝ,本文属FreeBuf原创奖励计划,未经许可禁止转载   当代社会,我们进公司需要门禁卡,出入小区需要门禁卡,门禁系统又称出入管理控制系统(ACCESS CONTROL SYSTEM)...

FreeBuf
05/24
0
0
MicroPython教程之TPYBoard开发板DIY小型家庭气象站

  众所周知,iPhone6/6Plus内置气压传感器,不过大家对于气压传感器还是很陌生。跟字面的意思一样,气压传感器就是用来测量气压的,但测量气压对于普通的手机用户来说又有什么作用呢?   ...

bodasisiter
2017/10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Tomcat内存设置

第一步骤: 1、路径是Tomcat目录下的/bin/catalina.bat文件 打开catalina.bat文件 加入下面这句代码: set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m 2、路径是...

一梦心草
9分钟前
0
0
IDEA 及 Gradle 使用总结

IDEA 及 Gradle 使用总结 自动编译组件 目前Android开发的主流开发工具是 Eclipse 和 IDEA 目前主流的自动化打包工具时 ant,maven,gradle。 maven工具中有自己的依赖仓库维护,很多开源支持...

舒文joven
9分钟前
0
0
lombok 引入后,测试类始终找不到get,set方法。

开发环境为idea,jdk1.7,maven3.5. 网上直接搜出来的方法有: 1、在setting里安装lombok的plugins; 2、如下图,勾选enable annocation processing选项 3、升级maven plugins插件 我尝试了以...

Kidult
11分钟前
0
0
Duang,HUAWEI DevEco IDE全面升级啦

想感受全新UI带来的视觉及交互体验、 HiKey970开发板调测、 HiAI API推荐和收藏、 深度AI模型分析等新功能, 体验高清晰度和流畅度的远程AI真机调测吗? 全新的UI设计 采用最优秀的视觉及交互...

华为终端开放实验室
20分钟前
0
0
阻止事件冒泡,阻止默认事件

1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开, 2.event....

闫亚亚
22分钟前
0
0
网络监控工具类

package com.guorentong.learn.organ.utils;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManage......

王先森oO
22分钟前
0
0
命令

sudo nginx -s reload 重启nginx sudo lsof -i -P | grep -i "listen" 查看端口占用

那个猴子
26分钟前
0
0
用scrapy-redis爬去新浪-以及把数据存储到

需求:爬取新浪网导航页(http://news.sina.com.cn/guide/)所有下所有大类、小类、小类里的子链接,以及子链接页面的新闻内容。 准备工作: a.安装redis(windows或者linux) b.安装Redis Des...

丁典
26分钟前
0
0
PHP常用函数篇

1.为什么要使用函数? 除了内建的PHP函数,我们可以创建我们自己的函数。 函数是可以在程序中重复使用的语句块。 使代码逻辑更清晰 避免过多的全局变量 封装后避免相同逻辑重复代码,只需调用...

天地有涯风有信_大海无量不见人
27分钟前
0
0
对List分组

在日常工作中会遇到这样的情景,我们需要对List按照List中对象的一个值进行分组。比如一个Human的List,我们要根据性别分组,传统的方法是做双层循环,逐个对比,今天我要介绍一种详单简单的...

珂jack
29分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部