(2)节点软件设计
A、单节点加入和退出网络
当某个节点要加入网络,它向周围发送入网请求,周围节点接收到此信号后等待其他节点发送响应(其中包括自身节点等级和本级节点数是否已满),并依据RSSI强弱排序,建立本节点周围节点状况的联络列表设置,而最终选择这其中最高级可入网节点(假定为入网目标节点),向目标入网节点发送入网请求并等待,当接收到入网目标节点的同意命令并被分编号后,节点就成功加入了网络。之后目标入网节点会将节点加入信息在下一次采集数据时同时逐次将节点入网信息上传,通知主控制台。
当某节点因电池电压过低,或临时要退出网络时会发送退出请求,当接收到上一级节点的同意应答后,将自动休眠或关机,退出网络。而其上一级节点也将同时删除其相应信息。
数据采集端程序
B、节点发送数据设计
终端节点程序设计
当前本系统拟采用简单的时分复用解决碰撞问题,在后期研究过程中将考虑利用更有效的其他方式。这样不同节点在固定时段进行工作,当进入工作周期后,节点进入工作模式根据定时器和MCU的调节工作,当采样时间到后,节点启动,采集数据,发送并等待应答,若接收到上级节点的正确应答,就说明数据发送成功,然后进入休眠;否则继续发送,直到成功(但设定最高次数,超过最高次数就认为出现故障,进行报警),如图11:
若在节点休眠期间接收到唤醒信号,则响应中断,保护现场,发送当前数据并等待应答,若接收到上级节点的正确应答,就说明数据发送成功,然后进入休眠;否则继续发送,直到
成功(但设定最高次数,最高次数就认为出现故障进行,报警)如图12:
图11
图12
较高级节点接收程序设计
进入接收模式的高级节点进行数据接收,并对接收到的数据进行校验,若正确则发送应答包,回复节点,否则,要求节点继续发送。如图13:
图13
(3)单片机与PC机串行通信软件接口设计:
软件系统主要包括PC 机端(即上位机) 和单片机(即下位机) 的通信程序设计。上位机采用VC开发软件提供的MSComm控件来完成串口数据的发送和接收功能。通过此控件, PC机可以利用串行口与其他设备实现轻松连接,简单高效地实现设备之间的通信。可以通过串口与上位机(微机)的通信,拟选用接口芯片MAX232。MSComm 控件的事件响应有两种处理方式:
事件驱动方式和查询方式。事件驱动方式由MSComm 控件的On2Comm 事件捕获并处理通讯错误及事件;查询方式通过检查CommEvent 属性的值来判断事件和错误。