单片机也能给手机发短信

    ¥:980.00

    西安达泰电子有限公司

    进入店铺
    商品目录
    图文详情

    单片机也能给手机发短信

     

    没错!利用强大的GSM网络,就可以实现单片机和手机之间互发短信。

    我们知道,单片机以其强大的低成本优势和强大的采集、控制、存储功能在工业领域已经被广泛使用,而今天我们所要说的,并不是要介绍是如何的强大,也不标榜其在哪个领域的杰出贡献,我们今天所要说的,就是给单片机插上无线的翅膀,给它配上“手机”,让其利用成熟的GSM网络和远在海外的您收发短信。

    试想一下,如果单片机自身具备了收发短信功能,那将是多么令人欣喜若狂的一件事,我们可以利用手机向单片机发送一条短信,单片机可以根据不同的短信内容,进行不同的动作,比如控制某些管脚的电平,如果外部加个继电器之类的,就可以用它来控制电源的开关等,单片机也可以将自身采集到的电压、电流、压力等模拟量值发送到指定的手机上。

    下面我们具体来说一下如何使用单片机和手机进行短信收发。“巧妇难为无米之炊”,我们也需要几个“零件”:

    1、  单片机:无所谓什么型号,只要能提供串口就行,具体选型主要看其稳定性和自身要实现的功能,{zh1}就是xxx了。

    2、  GSM短信模块:这个市面上很多,价格也是参差不齐,我这里选择西安达泰电子的T09C短信模块,个人觉得相对比较稳定,主要是它提供标准的AT指令,这样对于以后的产品升级或更换都有所保障;提供标准的RS232接口可以方便地与电脑的串口连接,通过提供的PC机测试软件方便进行电脑调试,帮助我们尽快上手。好多公司的同类产品将AT指令封装成自己的指令,这可能影响以后的产品改造和升级。

    3、  相关配件:5V电源、GSM天线、SIM卡、一些电子元器件。其中的5V电源和GSM天线在购买时作为赠品已经提供给我们了,SIM卡就到当地移动服务厅办一张就行了,注意不能使用CDMA3G卡,电子元器件主要部分是RS232TTL的电平转换,我推荐常用的MAX232

    我想对于单片机和MAX232以及RS232接口之间的连接,搞过单片机的朋友都是轻车熟路了,为了节省互联网资源,我就不再重复。而SIM卡和GSM以及电源的连接,T09C都提供相关的接口,即所谓的零插拨式的,绝不会插错。

    下面我主要来说一下如何使用单片机程序实现短信收发,今天我们只谈谈英文短信的收发,中文短信收发相对比较麻烦一点儿,主要是中文的编码部分,但其流程和英文短信是一致的(如需收发中文短信,请参见相关PDU短消息格式说明等相关文档),这里只说一下短信收发的流程。

    1、  短信发送(通过单片机串口收发指令,/**/内为注释,<CR>表示回车,ASC码为0x0D+0x0A)

    发送:AT<CR>                       /*检测模块是否工作正常*/

    接收:OK                           /*串口返回OK表示模块工作正常*/

    发送:AT+CMGF=1<CR>              /*配置模块工作于TEXT模式,用于发送英文短信*/

    接收:OK                           /*配置成功*/

    发送:AT+CMGS=”131XXXX4321”<CR>/*配置要接收的手机号码*/

    接收:>                             /*返回“>”符,表示可以发送短信*/

    发送:Message Content               /*要发送的短信内容“Message Content ”,

    只能在接收到“>”符号后发送短信内容*/

    其中“”符号为短信结束符,ASC码值为(0x1A),不作为短信内容发送*/

       接收:+CMGS:<mr><CR>            

             OK                            /*短信发送成功,<mr>为消息参考值,由模块

                                                                           自动分配*/

    2、  读取短信

    接收:+CMTI: "SM",n<CR>            /*收到新短信息提示*/

    发送:AT+CMGR=n<CR>             /*读取第n条短信*/

    接收:+CMGR: "REC UNREAD", "86XXXX4321","98/10/01,18 :22 :11+00", 80.22<CR>

    OK                                 /*短信读取成功,86XXXX4321

    目标电话号码,“80.22为短信内容*/

    如何判断当前接收到的短信为第几条短信,从而使用AT+CMGR=n来读取该短信呢?当然,我们可以使用串口中断来接收串口数据,当有新的短信到达时,串口会接收到诸如“+CMTI: "SM",n”的字符串,其中n就是新收到的短信存储位置,通过字符串截取可以获取n的值,这样就可以利用AT+CMGR=n来读取新收到的短信内容了,然后通过字符串分隔,分别获取短信接收时间、目标电话号码、短信内容等。

    既然可以收发短信了,通俗点儿讲,就是使单片机与手机之间建立了一条数据通道,可以利用这条数据通道来进行数据传输,如果通过手机向单片机发送不同的短信内容,单片机根据短信内容进行相关动作,比如控制外部继电器等,那样手机控制远程设备将不再是梦想;同理,单片机也可以通过短信的形式,将采集到的相关信息发送到指定的手机上。

    如果在PC机上通过RS232串口连接一台DTP-S09C短信模块, PC机上开发一套管理软件,该软件负责短信的收发及处理,这样以来,不需要额外申请什么短信网关之类的,就可以建立强大的远程监控系统平台。

    郑重声明:产品 【单片机也能给手机发短信】由 西安达泰电子有限公司 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.cn)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
    留言预约
    电话预约
    留言
    *主题
    *手机
    *联系人