短信控制的低成本监控单元
文章来源:
本文介绍一种低成本的、支持中文短信的SMS远程数采控制方案,系统以英创公司嵌入式主板ETR186为核心,结合ETA205、ETA402、ETA102、ETA401、ETA724、ETA203和西门子GSM模块MC39i组成,配合键盘和液晶以实现数据显示和控制输出等功能,同时提供C++编写的例程。系统实现功能如下:
8通道电压采集(A/D)输入。
4路数字信号输入。
4路继电器控制输出。
定时发送SMS短信到指定号码(手机)。
通过手机发送SMS短信(命令)到系统,控制系统中的继电器。
通过手机发送SMS短信(命令)到系统,查询系统当前AD值、端口状态等信息。
图 1:系统组成框图
系统运行时,每秒采集一次AD值和数字IO输入状态,并刷新一次屏幕。每小时向指定号码发送一条短信,短信以中文形式发送(PDU模式),内容包括当前采集的电压值、输入数字电平状态和继电器状态。如果短信发送失败,系统将每隔30S重发短信,重发两次后仍然失败时,系统重启GSM模块,并再次重发。用户可通过发送一条以CR开始的命令到系统,以控制系统中的继电器,或查询系统当前的工作状态。关于CR命令,将在后面的文章中介绍。
从系统框图可以看出,系统硬件组成是一目了然。案例中采用的是英创公司的现成模块,各模块资料可以在英创公司网站上找到,客户在实际开发过程中可直接向英创公司索要此类配套模块的电路原理图,以便进行整体的外围电路设计,实现合理的产品结构。
C++例程采用基于事件驱动(也称消息驱动)的应用程序框架进行编程,客户可以很方便的对例程进行修改,使其成为符合客户自身平台的应用程序。基于事件驱动方式编写的应用程序稳定性高、结构清晰、维护方便,它已成为我们向客户重点推荐的编程方案之一,关于事件驱动的原理介绍请参考英创公司网站文章:《嵌入式系统应用程序方案之一——基于事件驱动的应用程序框架》。本例程中主要事件(消息)和程序如下:
[]
[]
[]
发表时间:2009年10月26日11:29:11