0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于77FA8单片机和BENQ23G模块实现彩信传送图像监控系统的设计

电子设计 来源:单片机与嵌入式系统应用 作者:于捷;王祖林;刘有 2021-05-18 17:24 次阅读

作者:于捷;王祖林;刘有才

引言

目前,基于GSM/GPRS模块的无线远程监控系统大多数采用嵌入式处理器,选用Linux操作系统。本文介绍一种采用Winbond公司的77FA8单片机控制明基的GSM/GPRS模块BENQ23G发送MMS彩信的方法。该方法成本低、可靠性高,器件选用工业产品,能够在较宽温度范围内工作,即使在室外较恶劣的环境下也可以使用。

本系统组成如图1所示。其中,单片机77E58有2个串口,串口O用于与BENQ23G模块进行通信,控制BENQ23G发送彩信;串口1用于与串口摄像头(如C328-JPEG模块)进行通信,控制摄像头捕获图像。外部传感器报警接口用于连接外部报警传感器,77E58最小系统收到外部传感器报警触发信号后,捕获照片、封装MMS彩信,控制BENQ23G模块向指定的手机或远程接收设备发送彩信;同时还可以拨打指定电话号码,将现场声音传送过去。MIC 及信号放大电路用于采集外部现场声音并进行放大。

从前面的分析可以看出,本系统充分利用了各个部件的硬件资源,最大限度地降低了硬件成本。本文主要介绍图1所示的无线远程监控系统通过中国移动梦网发送彩信时,所使用的传输协议命令格式和传输数据格式。

1 BENQ23G模块简介

BENQ23G是台湾BenQ公司生产的嵌入TCP/IP协议的GSM/GPRS模块,在BENQ23A模块的基础上增加了M2M(Machine-to —Maehine)功能,可以通过GPRS承载在BENQ23G模块和因特网TCP/UDP服务器上实现连接。控制设备和BENQ23G模块之间通过 UART串口连接,传输命令和数据。

控制设备首先通过UART串口设置网络连接参数,然后拨号连接GPRS,BENQ23G模块建立GPRS连接并和指定的因特网TCP/UDP服务器建立 Socket连接。如果Socket连接成功,则模块在控制设备和因特网TCP/UDP服务器之间通过UART串口建立点对点数据连接模式,控制设备可以通过UART串口将数据原封不动地上传至因特网TCP/UDP服务器,同时可以通过UART串口原封不动地下载因特网TCP/UDP服务器上的数据,而上传和下载数据的TCP/UDP打包和解包工作由BENQ23G模块实现。

控制设备在数据模式下通过UART串口发送数据时,如果BENQ23G模块在规定时间间隔内没有继续收到UART串口的数据,就将前面接收的数据进行 TCP/UDP打包并发送到服务器。

当BENQ23G模块通过UART串口连续收到控制模块发送的3个“+”符号后,将退出点对点数据模式而进入命令模式,可以通过UART串口接收控制设备发送的AT指令。但这时BENQ23G模块和服务器之间的TCP/UDP协议Socket连接并没有中断,控制设备如果想再次进入数据模式上传数据给服务器,可以键入ATO命令实现。

控制设备可以在命令模式下通过键入ATH命令来中断BENQ23G模块和服务器之间的Socket连接。下面给出一个控制设备和彩信网关服务器连接的例子:

该例子说明如何通过BENQ23G模块实现和远程服务器的连接,以及上传和下载数据。BENQ23G模块AT指令的详细说明见参考文献。

测试MMS组成及编码格式分析略,详细的编码含义见参考文献。

2 基于BENQ23G发送MMS编码格式分析

当控制设备需要发送彩信时,首先通过UART串口传送AT指令完成相应的参数设置(如前面例子所示),再传送“ATD*97#”指令进行 GPRS拨号,并等待BENQ23G模块完成与服务器之间的Socket连接。当收到BENQ23G模块发送的响应“Wait Socket Open”时,表明BENQ23G模块完成了与服务器的连接,并进入数据模式,控制设备可以进行发送彩信操作。

2.1 首先建立会话连接

控制设备发送会话建立连接请求(8字节):

0001 0A OO OO 12 01 10 OO 00

发送数据序列中前4字节“0A 00 00 12”是WTP In—voke PDU。WTP Invoke PDU采用了固定长度格式,其结构如表1所列。

其中,CON=0,PDU Type=0001,GTR=0,TTR=1,RID=0,故第1字节为0A;TID High Byte=00000000,故第2字节为00;TID Low Byte=00000000,故第3字节为00;Version=00,TIDnew=0,U/p=1,RES=00,TCL=10,故第4字节为12。

发送数据序列中的第5到8字节“01 10 O000”是WSP协议数据单元。其中第5字节“01”是WSP会话连接Connect的代码,第6到8字节是WSP Connect PDU。WSP Connect PDU结构如表2所列。

其中,第6字节“10”是WSP协议版本号,高4位是版本号的整数部分,低4位是版本号的小数部分,这里为V1.0;第7字节是能力字段长度,没有使用能力请求,故长度为00;第8字节是报头字段长度,没有报头,故长度为00。

服务器返回数据如下(30字节):

0001 12 80 00 02 B5 C5 1 5 00 15 45 6E 63 6F 64 69 6E........Encodin

0017 67 2D 76 65 72 73 69 6F 6E 00 31 2F 32 00 00 00 g—version.1.2..。

返回数据中第1~3字节是WTP Result PDU,其余为WSP协议数据单元。WTP Result PDU采用固定长度格式,其结构如表3所列。

其中,CON=0,PDU Type=0010,GTR=0,TTR=1,RID=O,故第1字节为12;TID High Byte=10000000,故第2字节为80;TID Low Byte=00000000,故第3字节为OO。

返回数据中的第4字节“02”是WSP会话连接确认ConnectReply的代码;第5~30字节是WSP ConnectReplyPDU。

WSP ConneetReply PDU结构如表4所列。

第5~8字节“B5 C5 15”是会话标识;第10字节“15”是HeadersLen(21字节),Headers是以00结束的字符串,即Encoding—version 1.2。

2.2 控制设备发送WTP确认完成会话连接

控制设备发送WTP确认(WTP Acknowledgement,3字节):18 00 00。WTP Acknowledgement PDU采用固定长度格式,如表5所列。

其中,CON=0,PDU Type=0011,Tve/Tok=0,RES=0,RID=0,故第1字节为18;TID High Byte=00000000,故第2字节为00;TID Low Byte=00000000,故第3字节为OO。

2.3 控制设备发送WTP、WSP和MMS包

控制设备首先发送WTP和WSP(49字节):

0001 0E 00 01 1 2 60 1A 10 68 74 74 70 3A 2F 2F 6D 6D.......http://mm

0017 73 63 2E 6D 6F 6E 74 6 5 72 6E 65 74 2E 63 6F 6D SC.monternet.com

0033 2F BE 80 BE C7 80 A1 09 80 77 61 70 00 77 61 70/........wap.wap

0049 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................

发送数据序列中,前4个字节“0E 00 01 12”是WTPInvoke PDU,后45个字节是WSP协议数据单元。

WTP Invoke PDU同样采用了固定结构格式(如表1所列)。其中,CON=0,PDU Type=0001,GTR=1,TTR=1,RID=0,故第1字节为0E;TID High Byte=00000000,故第2字节为00;TID Low Byte=00000001,故第3字节为01;Version=00,TIDnew=0,U/P=1,RES=00,TCL=10,故第4字节为12。

发送数据序列中第5字节“60”是WSP方法Post的代码,第6~49字节是WSP Post PDU。WSP Post PDU结构如表6所列。

第6字节“1A”是UriLen(26字节);第7字节“10”是HeadersLen(16字节);第8~33字节是Uri字段,URI=http:/mmsc.monternet.com/(中国移动梦网);第34字节“BE”是ContentType的内容类型(著名域值 applica—tion/vnd.wap.mms—message的代码),即Content Type=application/vnd.wap.mms—message;第35~49字节是由3个Header组成的Headers字段,第35、 36字节是第1个Header,第37、38字节是第2个Header,第39~49字节是第3个Header。

Headerl:80 BE(Accept:application/vnd.wap.mms—message)。

Header2:C7 80(Cashe Control:None)。

Header3:A1是域Proxy authorization的代码,第40字节“09”是域长度(9字节),第41字节“80”是Basic的代码,第42~44字节是User— id=wap,第46~48字节是Password=wap。

数据字段就是紧接着发送的MMS包。

服务器返回数据序列如下:

返回数据中,第1~3字节是WTP Result PDU,其余为WSP协议数据单元。WTP Result PDU格式与前面相同,只是TID=8001,与WTP Invoke PDU中的TID=0001相对应。

返回数据中第4字节“04”是WSP会话响应Reply的代码,第5~173字节是WSP Reply PDU。WSP ReplyPDU结构如表7所列。

第5字节“20”是Status编码,表示成功;第6、7字节“81 26”是Headers的长度(解码后为A6,即166个字节,从第8字节“61”到173字节“B1”);第8~38字节是Cont—entType的域值,ContentType=application/vnd.wap.

mms—message;第40~173字节是由6个Header组成的Headers字段,第40~52字节是第1个Header,第53~78字节是第2个Header,第79~111字节是第3个Header,第 112~143字节是第4个Header,第144~167字节是第5个Header,第168~173字节是第6个Header。

Header6:Date=48 29 41 EB,以秒计算的日期,起始日期为1970—01-01。

返回数据中,第174~209字节是Data字段,其内容与MMS头内容相对应,解码后含义:

2.4 控制设备发送WTP确认完成会话

控制设备发送WTP确认(WTP AcknowledgementPDU,3字节):1C 00 01。

WTP Acknowledgement PDU格式同表5。其中,CON=0,PDU Type=0011,Tve/Tok=1,RES=0,RID=0,故第l字节为1C;TID High Byte=00000000,故第2字节为00;TID Low Byte=00000001,故第3字节为01。

2.5 断开服务器连接

如果要退出数据模式,控制设备可通过UART串口传送符号+++,BENQ23G返回命令模式,但与服务器的Socket连接并没有断开。如果要断开 BENQ23G与服务器的Socket连接,则控制设备需通过UART串口发送ATH命令给BENQ23G模块。

3 结论

本文介绍了一种通过彩信传送图像的低成本远程监控系统。该系统采用Winbond公司的77E58单片机作为控制器,由外部报警传感器触发,控制串口摄像头捕获现场图像,封装MMS彩信,并通过控制BenQ公司的GSM/GPRS模块BENQ23G发送,同时还可以通过拨打预设号码将现场声音传送出去。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19259

    浏览量

    229651
  • 单片机
    +关注

    关注

    6035

    文章

    44554

    浏览量

    634635
  • 监控系统
    +关注

    关注

    21

    文章

    3904

    浏览量

    174400
收藏 人收藏

    评论

    相关推荐

    基于GPRS和单片机彩信报警系统设计方案

    设计一种基于GPRS 和51 单片机彩信报警系统。利用单片机技术、带彩信协议GPRS 无线通信模块
    发表于 03-15 10:40 4468次阅读
    基于GPRS和<b class='flag-5'>单片机</b>的<b class='flag-5'>彩信</b>报警<b class='flag-5'>系统</b>设计方案

    单片机典型案例开发(一)

    设计一种基于GPRS 和51 单片机彩信报警系统。利用单片机技术、带彩信协议GPRS 无线通信模块
    发表于 04-05 15:45 1.4w次阅读

    [推荐]爱特生3G彩信监控系统

    爱特生彩信监控是一套嵌入式彩信实时监控系统。只要增加一部能收发
    发表于 02-09 09:22

    [推荐]爱特生彩信监控

    彩信软件-爱特生彩信监控产品介绍 爱特生彩信监控
    发表于 07-22 09:41

    单片机控制下的家居温度监控系统设计

    利用单片机及无线传输模块实现无线温度监测系统实现温控范围调节及其超温范围报警。  1 技术要点  由于本
    发表于 07-28 08:46

    基于单片机图像采集,通过GPRS模块发送图片

    各位前辈们,我在做一个基于单片机图像采集,通过带有彩信功能的GPRS模块发送图片到目标手机,达到防盗的功能。但是我对单片机
    发表于 03-20 11:07

    如何实现单片机粮仓温度远程采集传送系统设计?

    如何实现单片机粮仓温度远程采集传送系统设计?
    发表于 01-27 07:44

    利用单片机实现的楼宇监控系统

    介绍一种利用单片机实现的楼宇监控系统的硬件线路及软件设计方法,并说明了该系统的功能、特点。关键词:单片机
    发表于 08-06 11:51 29次下载

    一种彩信报警系统方案

    设计一种基于GPRS 和51 单片机彩信报警系统。利用单片机技术、带彩信协议GPRS 无线通信模块
    发表于 02-23 15:18 47次下载
    一种<b class='flag-5'>彩信</b>报警<b class='flag-5'>系统</b>方案

    单片机控制SIM900模块来发送彩信的程序代码

    这是我用单片机控制SIM900模块来发送彩信的程序代码 ,可用这个程序中的函数来发送指定的一幅图片。
    发表于 11-20 16:06 18次下载

    51单片机编码控制315无线模块传送指令

    51单片机编码控制315无线模块传送指令
    发表于 11-23 14:54 39次下载

    基于51单片机与GPRS的彩信报警系统的设计与实现

    设计一种基于 GPRS 和51 单片机彩信报警系统。利用单片机技术、带彩信协议GPRS 无线通信模块
    发表于 12-06 09:34 13次下载
    基于51<b class='flag-5'>单片机</b>与GPRS的<b class='flag-5'>彩信</b>报警<b class='flag-5'>系统</b>的设计与<b class='flag-5'>实现</b>

    ​一款基于gprs和单片机彩信报警系统方案

    基于GPRS和单片机彩信报警系统设计方案 摘要:设计一种基于GPRS 和51 单片机彩信报警系统
    的头像 发表于 12-07 13:51 6347次阅读
    ​一款基于gprs和<b class='flag-5'>单片机</b>的<b class='flag-5'>彩信</b>报警<b class='flag-5'>系统</b>方案

    基于W77E58单片机和EPM7128芯片实现雷达网络测控系统的设计

    系统单片机模块采用Winbond公司的高性能51兼容内核单片机W77E58实现
    的头像 发表于 05-11 07:35 1923次阅读
    基于W<b class='flag-5'>77</b>E58<b class='flag-5'>单片机</b>和EPM7128芯片<b class='flag-5'>实现</b>雷达网络测控<b class='flag-5'>系统</b>的设计

    基于W77E58单片机和Neuron 3150实现图像采集系统的设计

    作者采用神经元芯片Neuron 3150并配合W77E58单片机系列开发了低成本的图像采集节点,并能通过上位向用户发送手机短信,有效地弥补了现在的智能住宅的不足。
    的头像 发表于 03-19 10:37 2851次阅读
    基于W<b class='flag-5'>77</b>E58<b class='flag-5'>单片机</b>和Neuron 3150<b class='flag-5'>实现</b><b class='flag-5'>图像</b>采集<b class='flag-5'>系统</b>的设计