系统组件:
PIC 微控制器 (PIC 16F877)®
1线温度传感器(DS18S20)®
8通道12位串行A/D转换器(MAX127)
GSM 调制解调器。
短信到电子邮件转换服务由TynTec提供。
项目目标及优势
项目目标是在达到编程阈值时自动发送电子邮件。用户对温度和模拟输入的报警阈值进行编程。当满足任何报警条件时,系统将使用GSM模块发送标准SMS消息。短信必须发送到TynTec指定的手机号码。然后,短信被转换为电子邮件,并通过TynTec的2路短信服务转发到指定的电子邮件地址。图 1 概述了项目概念。
此系统设置有几个优点。
这是一种发送自动生成的电子邮件的简单方法,无需人工干预。
这是远程监控温度和电压的简单方法。
系统可以发送电子邮件和短信。
无需PC干预即可实现上述操作。
该系统避免了复杂的TCP/IP连接问题,这在没有GPRS覆盖的区域尤其成问题。
图1.
详细的系统细节
使用BASIC编译器,用于Crownhill提供的PIC微控制器的Proton+。TynTec提供短信到电子邮件的转换。使用Seimen的TC35 GSM模块。虽然可以使用任何其他支持SMS的调制解调器,但GSM模块的一个很好的来源是Alphamicro。PIC 16F877安装在Crownhill提供的Proton Dev开发板上。标准的 16 x 2 LCD 模块被 20 x 4 LCD 模块取代。Proton+ 编译器通过“PRINT”命令支持 4 x 20 LCD 模块。
使用DS18S20温度传感器。DS18S20采用Maxim 1-Wire协议,连接至PIC的PortC引脚0。确保DQ引脚有一个4.7kΩ上拉电阻连接到5V。
使用MAX127 12位、8通道ADC,带串行接口。MAX127使用PIC的两个I/O引脚(端口B引脚0和引脚1),但本例仅使用器件的第一个通道。如有必要,可以轻松调整代码以使用其他通道。用户应确保SDL和SDA引脚(分别为引脚5和引脚7)具有连接到4V的7.5kΩ上拉电阻。
一个光相关电阻 (LDR) 连接到 5V,然后通过一个 1kΩ 电阻接地。LDR和电阻的结点连接到MAX0的通道13(引脚127)。为ADC选择0至5V输入范围。
连接图如图2所示。
图2
代码操作概述
PIC 读取模拟输入值。该操作在MAX127IN子程序中实现。如果模拟电压高于指定的阈值,则将设置报警标志ALARMFLAG。将警报标志设置为“1”表示需要发送短信。
接下来,从DS18S20读取温度。如果温度高于指定的限制,则将设置警报标志。将警报标志设置为“1”表示需要发送短信。
代码现在将决定是否发送 SMS 消息。如果设置了ALARMFLAG,代码将转到一个名为SMS的子例程,向指定的手机号码发送SMS消息。
系统设置程序
获取 TynTec 2 路短信工具的帐户。指定目标电子邮件地址,TynTec将提供一个唯一的手机号码(格式为+44...)。确保此手机号码安全。
在以下几点修改代码。
第 87 行:如果 MAXREAD > 2047 那么......这是设置模拟输入阈值电平的地方。MAX127为12位ADC,因此具有4096步。它配置为具有 0 至 5V 的输入电压范围。最初,代码设置为2.5V门限。
第 119 行:如果温度> 58,则此时必须设置温度报警阈值。在提供的代码中将其设置为 +29°C。DS18S20的读数保存在“温度”寄存器中。将“温度”除以 <> 得到以 °C 为单位的实际温度。 请注意,此代码仅适用于正温度。
第 268 行:HSEROUT [“AT+CMGS=+447---------”] 此处指定了 TynTec 提供的目的地手机号码。
第 298 行:直到 SMSDELAY = 10 SMS 消息传输与温度和模拟输入的重复“扫描”之间的延迟是可调的。它设置为十分钟的延迟,但可以根据不同的情况进行调整。
从系统发送的示例电子邮件如图 3 所示。
图3
总结
执行上述步骤后,系统应监控温度和模拟输入。如果或当超过行程阈值时,将发送一条短信,然后向指定的收件人发送电子邮件。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !