micropython 串口写文件_MicroPython通过2G模块串口收发短信

集成2G通信、定位模组,赋予物联网特性。本例使用M6220,它是一款基于eSIM技术的2G模组,支持GSM/GPRS,提供GPS+北斗双模定位功能,并具备一定的数据处理能力,其2G工作频段有GSM850、GSM900、DCS1800和PCS1900,内置32Mb Flash、32Mb RAM,提供GPRS数据传输、GSM短信业务,导航部分以UART或者I2C输出,可提供NMEA0183协议输出,支持A-GNSS。M6220是面向物联网领域的非常强悍的模组之一。

Micropython串口

通过Micropython串口操作2G模组,本例使用UART4,将X1、X2接口短接,在REPL中通过如下指令测试自身收发功能。

>>> from pyb import UART

>>> u4 = UART(4,115200)

>>> u4.init(115200, bits=8, parity=None, stop=1)

>>> u4.write('UART4 send&receive test')

23

>>> u4.readall()

b'UART4 send&receive test'

>>>

首先导入UART模块,通过UART(4, )定义串口4,使用init初始化波特率为115200,数据位8,奇偶校验None,停止位1。

执行u4.write(‘UART4 send&receive test’)发送测试数据,然后通过u4.readall()读取到UART4发送的数据,回环测试成功。

操作M6220

M6220需要3.8V电源供电,和TPYBoard的串口相连,并且共地。

查看模组状态

使用串口发送AT指令操作M6220 2G模组。

首先发送AT测试模组和TPYBoard通信是否正确,如果正确模组会返回OK。

>>> u4.write('AT\r\n')

4

>>> u4.readall()

b'AT\r\n\r\nOK\r\n'

注意AT指令的发送末尾跟’\r\n’表示回车换行确认。

发送短信

指令AT+CPIN? 查看SIM卡状态,如果一切正常返回READY:

>>> u4.write('AT+CPIN?\r\n')

10

>>> u4.readall()

b'AT+CPIN?\r\n\r\n+CPIN:READY\r\n\r\nOK\r\n'

指令AT+CGREG?查看SIM卡是否欠费,欠费返回1,0 …,否则返回1,1…

>>> u4.write('AT+CGREG?\r\n')

11

>>> u4.readall()

b'AT+CGREG?\r\n\r\n+CGREG: 1,1,"8109","22e2",0\r\n\r\nOK\r\n'

指令AT+CMGF=1设置短信格式为文本模式:

>>> u4.write('AT+CMGF=1\r\n')

11

>>> u4.readall()

b'AT+CMGF=1\r\n\r\nOK\r\n'

指令AT+CSDH=1显示结果码的值:

>>> u4.write('AT+CSDH=1\r\n')

11

>>> u4.readall()

b'AT+CSDH=1\r\n\r\nOK\r\n'

发送’test’到手机号的AT指令如下:

AT+GMGS=”手机号”

>test

因此REPL中操作流程如下:

1. 发送AT+GMGS=”手机号”,等待模组返回>提示符:

>>> u4.write('at+cmgs="手机号"\r\n')

23

>>> u4.readall()

b'at+cmgs="手机号"\r\n\r\n> '

2. 发送短信内容’test’:

>>> u4.write('test')

3. 调用writechar()发送ctrl-Z的十六进制数0x1a:

>>> u4.writechar(0x1a)

此时,手机成功收到短信,内容为’test’。

读取短信

通过指令AT+CPMS=设置短信存储位置,M6220短信存储位置分为SIM卡和mem1。

设置所有短信均存储在mem1中:

>>> u4.write('AT+CPMS="ME","ME","ME"\r\n')

读取索引为1的短信,内容为’hello’:

>>> u4.write('AT+CMGR=1\r\n')

11

>>> u4.readall()

... hello ...

删除短信

指令AT+CMGD=1删除索引为1的短信:

>>> u4.write('AT+CMGD=1\r\n')

指令AT+CMGD=0删除所有短信:

>>> u4.write('AT+CMGD=0\r\n')

安翔

原文:blog.csdn.net/messidona11/article/details/71708054

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

洛谷P1130 红牌

题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌。获得红牌的过程是相当复杂 ,一共包括N个步骤。每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件。为了加快进程,每一步政府都派了M个工作人员来检查材料。不幸的是&#xf…

GPS坐标换算

30.8872 》——>300.8872*60 53.232 ——>530.232*60 13.9230: 53 13.92"30: 53 13.92"》3053/6013.92/360030.887199同经度两点之间距离dla30.887m * [差值/(1/3600)] 30.887m * 差值 *3600 111193.2m * 差值 同纬度两点之间距离dlo30.887m * [差值/(1…

企业级应用框架(五)IOC容器在框架中的应用

前言 在上一篇我大致的介绍了这个系列所涉及到的知识点,在本篇我打算把IOC这一块单独提取出来讲,因为IOC容器在解除框架层与层之间的耦合有着不可磨灭的作用。当然在本系列前面的三篇中我也提供了一种基于反射的解耦方式,但是始终不是很优雅&…

后端开发需要学什么_都2020年了,还在纠结学什么语言?| 后端篇

几个礼拜前,一个学弟问我:“Ray,我打算之后要找工作了,不过现在自己没有特别深入的语言,最近想找一门好好学一下,你觉得学什么语言好呀?”我表示:“这个要看你求职方向、个人喜好、市…

python扫描ip的端口打开情况

我们的韩国bss系统上线之后,要求对主机的端口、资源使用进行统计,端口每个主机去看,太费劲了,所以,就写了这样一个小程序,不是很完美但是,可以用啊!哈哈哈,别喷&#xff…

flash java 通信,Flash到JavaScript的通信实例

从HTML可以发送数据到Flash,反过来也可以. 这个例子演示了如何应用Flash的Fscommand来发送数据到Javascript.简要步骤:Flash中新建一个文件,保存为flash_to_javascript.fla创建一个文本域,设置成输入文本(Input Text),选择"border"以便我们能看到他,指定他的变量为in…

10个非常有用的CSS hack和技术

转自&#xff1a;http://www.qianduan.net/10-useful-css-hacks-and-technique.html 1 – 跨浏览器的inline-block <style>li {width: 200px;min-height: 250px;border: 1px solid #000;display: -moz-inline-stack;display: inline-block;margin: 5px;zoom: 1;*display:…

Java的递归算法

递归算法设计的基本思想是&#xff1a;对于一个复杂的问题&#xff0c;把原问题分解为若干个相对简单类同的子问题&#xff0c;继续下去直到子问题简单到可以直接求解&#xff0c;也就是说到了递推的出口&#xff0c;这样原问题就有递推得解。 关键要抓住的是&#xff1a; &…

python list遍历定位元素_python for循环,第二遍定位不到元素?

ycyzharry: 也不行&#xff0c;我的代码import unittestimport timeimport xlrdfrom selenium import webdriverimport seleniumdef open_excel(filefile.xls):try:data xlrd.open_workbook(file)return dataexcept Exception as e:print(str(e))def excel_table_byindex(file…

发现Java程序中的Bug

昨天在CSDN上阅读 "Java中十个常见的违规编码"这篇文章时&#xff0c;无意中找到了3个 "发现Java程序中的Bug"工具。 文章地址&#xff1a;http://www.csdn.net/article/2012-09-11/2809829-common-code-violations-in-java其中&#xff0c; FindBugs™ - …

原生php登录注册,原生php登陆注册

本以为一个登陆注册功能十来分钟就写好了&#xff0c;没想到thinkPHP用久了&#xff0c;原生的php不会写了最开始我直接写了类和方法&#xff0c;在前台传递参数给类的login方法(action"index.php/login"),尝试几次发现无法访问&#xff0c;这才意识到&#xff0c;这…

SpringMVC REST 风格静态资源访问配置

1 在web.xml中使用默认servlet处理静态资源&#xff0c;缺点是如果静态资源过多&#xff0c;则配置量会比较大&#xff0c;一旦有遗漏&#xff0c;则会造成资源无法正常显示或404错误。 <!-- 静态资源访问控制 --><servlet-mapping><servlet-name>default<…

生成对象

var c[name,age,city]; var d[xiaogang,12,anhui]; var a{}; for(var i0;i<3;i){a[c[i]]d[i]; } console.log(a); //返回 {name: "xiaogang", age: "12", city: "anhui"} 转载于:https://www.cnblogs.com/xiaozhumaopao/p/6046823.html

3.寄存器(内存访问)

CPU中&#xff0c;用16位来存储一个字。高8位存放高位字节&#xff0c;低8位存放低位字节。内存存储中&#xff0c;内存单元是字节单元&#xff08;1单元1字节&#xff09;&#xff0c;则一个字要用两个地址连续的内存单元存放。内存存储中&#xff0c;高位字节&#xff0c;和低…

shiro前后端分离_为什么要前后端分离?前后端分离的优点是什么?

随着互联网的高速发展以及IT开发技术的升级&#xff0c;前后端分离已成为互联网项目开发的业界标准使用方式。在实际工作中&#xff0c;前后端的接口联调对接工作量占HTML5大前端人员日常工作的30%-50%&#xff0c;甚至会更高。接下来千锋小编分享的广州HTML5大前端学习就给大家…

POJ 2152 Fire

算是我的第一个树形DP 的题&#xff1a; 题目意思&#xff1a;N个城市形成树状结构。现在建立一些消防站在某些城市&#xff1b;每个城市有两个树形cost&#xff08;在这个城市建立消防站的花费&#xff09;&#xff0c;limit &#xff1b; 我们要是每个城镇都是安全的&#xf…

php 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

GET&#xff1a; 请求指定的页面信息&#xff0c;并返回实体主体。HEAD&#xff1a; 只请求页面的首部。POST&#xff1a; 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。PUT&#xff1a; 从客户端向服务器传送的数据取代指定的文档的内容。DELETE&#xff1a; …

python的socket连接不上_Python套接字只允许一个连接,但在新的连接上断开,而不是拒绝...

我不确定我完全理解你的问题&#xff0c;但我认为下面的例子可以满足你的要求。服务器可以断开旧用户的连接&#xff0c;为新用户提供服务。在服务器端&#xff1a;#!/usr/bin/env pythonimport socketimport multiprocessingHOST 127.0.0.1PORT 50007# you can do your real…

dede搜索php在哪,dede搜索页面怎么调用及相关搜索调用

dede搜索页面怎么调用&#xff0c;那几天有事情&#xff0c;所以导致博客几天都一直没有更新&#xff0c;之前我们讲过dede内容页面和dede列表模板的调用&#xff0c;今天我们一起来学习下搜索页面的调用&#xff0c;很多做企业站朋友们都不知道dede的搜索页怎么仿&#xff0c;…

电脑中病毒后被隐藏的文件的显示

用批处理或DOS更改属性。批处理就是建个记事本&#xff0c;输入attrib -h -s -r %~dp0\*.* /s /d&#xff0c;然后另存为随便.bat&#xff0c;把它放到那些隐藏文件夹外面&#xff08;不是里面&#xff09;&#xff0c;然后双击打开&#xff0c;等它自己关闭窗口就好了转载于:h…