查看: 4178|回复: 1

[原创] 【LPC11U68】+连接GPRS实现设备数据监控

[复制链接]
  • TA的每日心情

    2021-2-4 09:24
  • 签到天数: 190 天

    [LV.7]常住居民III

    38

    主题

    591

    帖子

    28

    金牌会员

    Rank: 6Rank: 6

    积分
    2193
    最后登录
    2023-12-1
    发表于 2018-11-28 10:36:33 | 显示全部楼层 |阅读模式
    GPRS模块的操作比较简单,通过串口发送AT指令就可以了,我这里用的是串口一,串口N跟串口0的寄存器啥的都不一样,刚开始还以为直接把串口0的拿来就行了 ,后来发现寄存器都不一样,但是库函数基本没变。
    项目是要利用RTC定时发送数据到远程服务器,然后WEB上监控,暂时还没用到RTC,所以通过串口0控制数据的上传,将设备号,本地时间(跟服务器时间对比,如果时间不一样就说明设备的RTC时间该修改了),还有一些温度数据啥的存在数据库没在WEB展示出来。
    1. 指令
    2. AT+CIPCLOSE 关闭服务器连接
    3. AT+CREG?                查询是否注册网络 返回值:+CREG: 1,5   正确注册网络
    4. AT+CGATT=1  附着网络  返回值:OK
    5. AT+CGACT=1,1 激活网络 返回值:OK
    6. AT+CIPSTART="TCP","39.108.149.228",16800                返回值:OK收到指令  CONNECT OK连接成功
    7. AT+CIPSEND  连接服务器的状态下发送数据,发送该指令后立即发送待发送的数据        返回值 >

    8. 0x1a <命令,让GPRS退出>模式
    复制代码
    主要就用到以上指令,实现对服务器数据的上传,GPRS用的是果云的GPRS-A6
    IMG_20181128_102139.jpg
    把串口一收到的数据再通过debug串口转发,监控一下GPRS的运作情况
    1.png
    可以看到上传数据都是正常的。
    1. void UART1_SendString(char* s)
    2. {
    3.         while(*s)//检测字符串结束符
    4.         {
    5.                 while((Chip_UARTN_GetStatus(LPC_USART1) & UARTN_STAT_TXRDY) == 0);
    6.                 //发送当前字符
    7.                 LPC_USART1->TXDATA = (uint32_t) *s++;
    8.         }
    9. }


    10. void UART1_Send_Command(char *s)
    11. {
    12.         CLR_Buf(); //清空接收数据的buffer
    13.         UART1_SendString(s);
    14.         UART1_SendString("\r\n");
    15. }

    16. uint8_t UART1_Send_AT_Command(char *cmd,char *ack,uint8_t wait_time,uint32_t interval_time)
    17. {
    18.         uint8_t i = 0;
    19.         while(i<wait_time)
    20.         {
    21.                 UART1_Send_Command(cmd);
    22.                 delay_ms(interval_time);
    23.                 if(Find(ack))
    24.                 {
    25.                         return 1;
    26.                 }
    27.                 i++;
    28.         }
    29.         return 0;
    30. }
    复制代码
    串口的函数基本都是从果云的demo里面移植过来的。
    数据通过GPRS上传到远程TCP服务器后,会存到数据库,WEB可查看。
    2.png
    暂时还没有使用RTC,所以设备时间都是固定的,后期计划加上扩展板,加上所需的其他功能。
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    7 小时前
  • 签到天数: 1420 天

    [LV.10]以坛为家III

    48

    主题

    3504

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    7339
    最后登录
    2024-5-8
    发表于 2018-12-4 10:29:08 | 显示全部楼层
    你这桌面可以。各种板子各种配件。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-8 16:46 , Processed in 0.126393 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表