基于web和nRF24L01的远程数据接收器设计.pdf
时间:08-12 15:10
查看:1240次
下载:162次
简介:
摘要:基于S3C2440一Linux嵌入式平台和nRF24L01射频模块,介绍了一种远程数据接收器的设计。该数据接收器利用SQLite3存储nRF24LOl射频模块接收来自数据采集节点的数据,用户通过浏览器访问接收器上的BOA服务器进行数据管理。在CGI程序设计中采用Posix消息队列给数据接收器的射频接收单元传递命令,利用多线程的方式对接收到的数据进行处理。这种将传感器采集到的数据通过2.45 GHz无线射频模块发送到数据接收器的方式非常适合用于远程环境监测、旅游管理等场合。
采用纯ALOHA算法即随机延迟算法可以用于解决上述问题,数据采集节点利用随机数生成函数产生一个在(Ⅳ1,Ⅳ2)之间的随机数,把这个随机数给定时计数器赋值,使得定时器的定时间隔在(T1-T2)之间。若增大他T2-T1,则发生碰撞的概率减小。
在nRF24L0l射频模块驱动程序设计中主要实现了open()、close()、ioctl()、p01l()等函数。其中open()和close()函数完成对设备模块的打开与关闭;poU()函数是用户空间调用select()函数的接口,用来监测设备文件的状态。若射频模块成功接收到发射单元发送的数据则会返回文件可读,而在其他时候则处于阻塞状态。ioctl()函数为用户程序提供了对nRF24L01射频模块操作的相关命令,如:RDID—NuM命令用于接收数据,SENDID命令用于修改并发送数据。
