基于GPS和GPRS的小型追踪器

时间:2012-04-20来源:网络

 

4.2.1 uIP的体系结构

瑞典计算机科学研究所Adam Dunkels开发的uIP0.9是一种TCP/IP协议栈,资源占用少是他的设计特点,尤其适用于8/16位单片机。他去掉了许多全功能协议栈中不常用的功能,而保留通讯所必须的协议机制,其设计重点放在IP,ICMP和TCP协议的实现上,将这3个模块合为一个整体,而将UDP和ARP协议实现作为可选模块。uIP的体系结构如图3所示。

uIP处于网络通讯的中间层,上层协议在这里被称为应用程序,而下层硬件或固件被称为网络设备驱动。显然,uIP并不仅仅是针对以太网设计的,他具有媒体无关性。

4.2.2 uIP的设备驱动程序接口

uIP内部有两个函数直接需要底层设备驱动程序的支持:

一个是uip_input()。当设备驱动程序从网络层收到一个数据包时,要调用这个函数,设备驱动程序必须事先将数据包存放到uip_buf[],包长放到uip_len,然后交由uip_input()处理。当函数返回时,如果uip_len不为0,则表示有带外数据(如SYN,ACK等)要发送。当需要ARP支持时,还需要考虑更新ARP表或发出ARP请求和回应。

另一个需要驱动程序支持的函数是uip_periodic(conn)。这个函数用于uIP内核对各连接的定时轮循,因此需要一个硬件支持的定时程序周期性地用他轮循各连接,一般用于检查主机是否有数据要发送,如有,则构造IP包。

4.2.3 uIP的应用程序接口

为了将用户的应用程序挂接到uIP中,必须将宏UIP APPCALL()定义成实际的应用程序函数名,这样每当某个uIP事件发生时,内核就会调用该应用程序进行处理。如果要加入应用程序状态的话,必须将宏UIP_APPSTATE_SIZE定义成应用程序状态结构体的长度。在应用程序函数中,依靠uIP事件检测函数来决定处理的方法,另外可以通过判断当前连接的端口号来区分处理不同的连接。

5 结语

整个模块拨号上网只需3~5 s,平均上网速度已经达到33~36 kb/s。数据上传速度可以达到每秒2~2.5 kB,最高峰值可以达到8 kB,完全可靠地实现了短消息服务和一些文本信息传递。移动目标GPS数据、指令及相关应用情况下的报警数据均可通过GPRS网络传送到监控中心。该系统的便携性和方便使用的优点,也可应用到需要对移动物体进行远程监控和调度的领域中。

1 2 3

关键词: GPS GPRS 追踪器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版