岳 洋 兰国辉 周红进
(1.大连交通大学软件学院,辽宁 大连 116028;2.中国人民解放军大连海军舰艇学院,辽宁 大连 116018)
基于SIM300和CC1010的无线数据采集监控系统
岳 洋1兰国辉2周红进2
(1.大连交通大学软件学院,辽宁 大连 116028;2.中国人民解放军大连海军舰艇学院,辽宁 大连 116018)
介绍了一种采用SIM300模块和CC1010无线单片机的无线数据采集监控系统,给出了硬件组成和部分软件流程。实际运行表明:该系统无线网络覆盖范围广,可将数据通过短信方式发送至监控手机,实现了现场数据的远程无线监控,通信稳定、准确,具有较强的灵活性,而且系统便于安装。
数据采集监控系统 无线通信 CC1010 SIM300 短信
传统的数据采集监控系统大多采用有线布局,这种方式成本高、安装维护不便、传输距离短。如果能将采集到的数据采用无线方式传输,将为许多工程解决受环境限制难以施工布线的问题。无线传输不仅可以降低施工难度和成本,而且可以使系统实现无线局域网和远程物联网的数据采集与控制,能够满足客户更多需求。
在此,笔者采用无线单片机CC1010和SIM300模块构成无线数据采集监控系统,通过无线局域网通信将子节点采集到的数据发送到CC1010,然后再利用SIM300通过短信将数据发送到监控手机,实现数据的远程传输与监控。
无线数据采集监控系统的硬件部分(图1)主要由SIM300模块与无线单片机CC1010组成。
图1 无线数据采集监控系统硬件结构
SIM300的工作频段与GSM Phase2/2+兼容,支持点到点短消息(文本或PDU模式)移动发送和接收;支持 1.8V和3.0V两种类型的 SIM 卡;双串行通信接口(此处使用串口2)可支持的自动波特率为1 200~115 200bit/s;串口2只能用来传输 AT命令。
CC1010是具有多频段、低功耗、超高频射的芯片,内嵌高性能的增强型8051微控制器,能工作于315、433、868、915MHz共4个ISM频段,通过编程可以控制其工作于300~1 000MHz。CC1010内含收发器,其中接收器包括低噪声放大器、混频器、中频处理器、解调器和解码器;发射器由功率放大器及PLL(VCO、充电泵、分频器)等电路组成[1,2]。
由图1可知,系统的主节点为CC1010和SIM300模块,两者之间采用串口通信。子节点主要由CC1010节点、传感器、驱动电路和控制器组成。主节点中的SIM300一方面负责与监控手机进行GSM通信;同时与主控芯片CC1010进行串口通信,完成由GSM网络到无线局域网络的信息传递。系统硬件部分完全采用无线方式,使得系统为子节点的安放提供了极大的空间便利,且便于安装和平时维护。
2.1主节点CC1010与SIM300的通信
系统中只有主节点CC1010控制芯片通过串口与SIM300连接。SIM300接收手机发送的短消息但不做处理,而是通过串口直接传递给CC1010。CC1010通过串口中断函数将数据存入数组。因此CC1010的串口通信设计至关重要,CC1010串口初始化函数如下:
void initial(void)
{ P3DIR=P3DIR&0X01;//设置TX0为输出
P3DIR|=0XFD;//设置RX0为输入
CKCON|=0X10;//T1M置1
PCON&=0X7e;//波特率不加倍
TH1=0xe8;//波特率为9 600bit/s
TR1=1;//启动定时器2
TMOD=(TMOD&0X0F)|0X20;//工作方式2
SCON0=0X50;//全双工模式、允许接收
ES0=1;
PS0=1;
EA=1;//开中断
}
CC1010芯片与SIM300之间通过AT命令来控制SIM300通信模块发送短信,所有AT指令的指令符号、常数及PDu数据包等都是以ASCII编码形式传送的[3,4]。CC1010对SIM300初始化的主要步骤如下:
a. 硬件复位SIM300;
b. 设定SIM300与CC1010的串口波特率,串口发送“AT+IPR=1200 ”字符串,延时约800ms后,再发送“ATE0 ”;
c. 发送“AT+CMGF=1 ”,将短信模式设为text;
d. 发送“AT+CMGR=1 ”,将收到的短信保存。
完成对SIM300的初始化后,就可以判断串口中断时刷新的数组字符,格式如下:
if(GsToUrat[0]==′+′ && GsToUrat[1]==′C′ && GsTo- Urat[2]==′M′&& GsToUrat[3]==′G′ && GsToUrat[4]== ′R′)
如果接收到短信,则解析短信内容,然后根据GsToUrat[6]、GsToUrat[7]、GsToUrat[8]的内容执行相应的操作。
2.2CC1010的无线局域网通信
主节点与子节点采用时分多址无线通信方式。在满足定时和同步的前提下,系统主节点发向各子节点的信号都按顺序安排在预定的时隙中传输。主节点根据子节点的ID号,延时ID×100ms发送同步信号,然后启动计时器,进入接收状态。在接收状态,等待子节点传送数据,如此,各子节点在每帧内只能按指定的时隙向主节点发送信号,主节点可以在各时隙中接收各子节点的信号而不会相互干扰。 在对各节点的初始化中,校准是不可缺少的重要环节,图2所示是RX和TX的单校准流程。
图2 RX和TX的单校准流程
在系统主节点SIM300模块中安放了SIM卡,采用5V电压、2A电流供电;用ASM1117将电压稳压为3.3V后给CC1010供电。测试系统安放了6个子节点,每个子节点由两节1.5V干电池单独供电,采用单总线传感器18B20采集子节点温度。
系统测试中,主节点采集了6个子节点的温度,并将子节点1、2的温度值发送给监控手机,结果如图3、4所示。可以看到,监控手机接收到的节点1、2的温度值与主节点采集到的子节点数据是一致的,实现了精确的远距离数据传输与监控。
图3 主节点采集到的6个子节点温度值
图4 监控手机接收到的子节点1、2温度数据
笔者提出的基于SIM300和CC1010的无线数据采集监控系统对于采集到的数据信息完全采用无线方式传递,而且在工作过程中空间位置可以改变,为实际应用提供了极大的工作空间灵活性。该系统精确的远程数据传输特点为工业控制、地质勘测、国防军事及医疗等领域的数据无线传输提供了方便可行、便于维护、性能可靠的解决方案。
[1] Texas Instruments.CC1110 Preliminary Data Sheet (Rev.1.01)[DB/OL].http:www.ti.com/lsds/ti/wireless_connectivity/overview.page,2013-04.
[2] Texas Instruments.CC1010 Single Chip Very Low Power RF Transceiver with 8051-Compatible Microcontroller [DB/OL].http:www.ti.com/lsds/ti/wireless_connectivity/overview.page,2013-05.
[3] 蒋挺,赵成林.紫蜂技术及其应用[M].北京:北京邮电大学出版社,2006.
[4] 刘涛,张春业,韩旭东,等.基于手机模块TC35的单片机短消息收发系统[J].电子技术,2003,30(3):36~38.
TH865
B
1000-3932(2016)02-0215-03
2015-12-23(修改稿)