关于用单片机实现无线DTU的一些认识
2009-04-26 15:33
756 查看
进过几个月时间开发和调试,对于怎么实现GPRS无线数据传输有了更多的认识,从对这个领域一无所知到略微了解中间遇到的问题给我以后的工作提供了非常宝贵的经验。
学习使用GPRS单片机数据传输的前提条件:
1、会单片机,能对单片机的双串口灵活编程,对单片机的中断优先级有一些了解
2、对于GPRS模块的接口有一些基本的了解,以及AT命令的使用方法和其作用有了解
3、供电方式,一般的GPRS模块在工作的时候要求电流比较大,所以要就能稳定提供一个4.5V/2A
4、在SIM的数据线上要并一些1NF,100NF的胆电容提高抗干扰能力
下面简要说明一整个软件的流程:
首先初始化串口,I/O ,接着给模块点火(启动模块),这里有一些小问题要注意的就是点火时间;
完成这一步,可以看见状态灯开始闪烁;
再次,完成以上的动作以后就是初始化GPRS模块了:这里要初始化的参数根据不同的需要有不同的设置,不过基本的要有(测试通信,波特率,回送方式,MSN寄存器,APN,信号强度)
完成这些初始化就可以进行拨号上网了(*99**#)这个是中国移动的GPRS接入号码,成功拨号会返回连接成功。同时移动服务返回一个PPP包,要求你进行配置。(在这部分主要是网络知识:流程如下:PPP->PAP->IPCONFIG->UDP/IP (TCP/IP)
在这个过程有三个难点:第一是计算PPP包的检验和(fac检验)。之后就是UDP /IP 这两个包的校验和,他们都是16位的校验和,后者比较好计算。为了长时间和服务连接还要有心跳包保持链路,
学习使用GPRS单片机数据传输的前提条件:
1、会单片机,能对单片机的双串口灵活编程,对单片机的中断优先级有一些了解
2、对于GPRS模块的接口有一些基本的了解,以及AT命令的使用方法和其作用有了解
3、供电方式,一般的GPRS模块在工作的时候要求电流比较大,所以要就能稳定提供一个4.5V/2A
4、在SIM的数据线上要并一些1NF,100NF的胆电容提高抗干扰能力
下面简要说明一整个软件的流程:
首先初始化串口,I/O ,接着给模块点火(启动模块),这里有一些小问题要注意的就是点火时间;
完成这一步,可以看见状态灯开始闪烁;
再次,完成以上的动作以后就是初始化GPRS模块了:这里要初始化的参数根据不同的需要有不同的设置,不过基本的要有(测试通信,波特率,回送方式,MSN寄存器,APN,信号强度)
完成这些初始化就可以进行拨号上网了(*99**#)这个是中国移动的GPRS接入号码,成功拨号会返回连接成功。同时移动服务返回一个PPP包,要求你进行配置。(在这部分主要是网络知识:流程如下:PPP->PAP->IPCONFIG->UDP/IP (TCP/IP)
在这个过程有三个难点:第一是计算PPP包的检验和(fac检验)。之后就是UDP /IP 这两个包的校验和,他们都是16位的校验和,后者比较好计算。为了长时间和服务连接还要有心跳包保持链路,
相关文章推荐
- 关于单片机机密的一些认识
- 关于 Linux上面 安装nodejs ccap模块 实现图形验证码的一些事情
- 用单片机控制PH8810和无线收发模块实现远程控制家电
- Android中关于Task的一些认识
- 由于自己的需要搜集的一些关于 “ javascript实现图片的不间断连续滚动” 的代码
- 关于二分查找的一些认识
- Android中关于JNI 的学习(二)对于JNI方法名,数据类型和方法签名的一些认识
- 关于c++的一些自我认识(1)
- 关于Cocos2d-x的一些认识(4)
- 最近关于智能实现一些零碎的想法
- 关于数组实现队列的一些设计
- 关于单片机程序运行的一些理解
- 关于ThreadLocal的一些认识
- 关于如何实现C++跨平台的一些想法
- 关于JVM一些知识的粗浅认识
- 关于单链表的一些面试题-进阶篇(C语言实现)
- 关于VR(主要是虚拟城市场景)的一些想法及实现(可能会连载)
- 关于OGRE四元数和旋转的一些浅显认识`
- 关于winpcap的一些认识
- 关于一些O-R Mapping的实现