农业大棚环境监控系统的通信方法_2

文档序号:9488916阅读:来源:国知局
述控制指令下发给设 置于多个农业大棚的各个子节点,其中,上述第二下传控制指令协议包括:开始符字节、上 述控制指令对应的子节点唯一的IP地址字节、命令类型字节、控制指令数据字节、预留字 节、以及结束符字节。
[0034] 其中,上述控制指令数据包括以下至少之一:卷帘电机状态数据、加热状态数据、 通风口数据。
[0035]在优选实施过程中,上述第一下传控制指令协议可以设置为8个字节,具体参见 表4。
[0036]表 4
[0038]在优选实施过程中,上述第二下传控制指令协议可以设置为8个字节,具体参见 表5〇
[0039]表 5
[0040]
[0041]优选地,在上述主节点将上述控制指令下发给设置于多个农业大棚的各个子节点 之后,还可以包括:对于每个子节点,该子节点根据上述控制指令对应的子节点唯一的IP 地址字节确定上述控制指令是否是下发给该字节点自身的;在上述控制指令是下发给该字 节点自身的情况下,该子节点接收上述控制指令,并按照预定的第二应答协议向上述主节 点返回第二应答指令,其中,上述第二应答协议包括:开始符字节、该子节点唯一的IP地址 字节、命令类型字节。
[0042] 在优选实施过程中,上述第二应答协议可以设置为16个字节,没有填满的字节可 以设为〇,具体参见表6。
[0043] 表 6
[0044]
[0045] 由于本系统是一个主节点对多个子节点的网络结构,为实现主节点全网广播的功 能,在物理层中为各个子节点都定义了相同的物理地址,例如,0XE7。但为了区分各个子节 点,本系统在网络层为每个子节点分配了唯一的IP地址,主节点在接收到数据后通过该地 址来判断接收到的数据是哪个子节点上传来的。子节点通过该网络地址来判断主节点下发 的控制指令是不是给自己的,如果不是则不接收。
[0046] 优选地,在上述主节点将上述控制指令下发给设置于多个农业大棚的各个子节点 之后,还可以包括:上述主节点如果在预定时间内未收到该主节点返回的上述第二应答指 令,则重新发送上述控制指令,直至在预定时间内接收到该子节点返回的第二应答指令。
[0047] 当子节点收到主节点下发的控制指令时也会回复给主节点一个应答指令(ACK应 答),主节点以此信号来判断子节点收到控制指令,若没有则重发,但在预定时间(例如, 5s)内主节点仍没有收到ACK,贝1J认为本次控制指令发送失败,主节点认为该子节点出错, 并反馈给上位机(例如,PC机)。
[0048] 在优选实施过程中,上述主节点可以采用无线数传芯片nRF905与上述子节点的 无线数传芯片nRF905通信,本农业大棚环境监控系统中主节点与各通信子节点之间需构 成完整的通讯网络以保证射频通信的可靠性,nRF905芯片本身不带组网协议,为此本发明 提出了nRF905通信协议,上述第一上传数据协议、上述第一应答协议、上述第二下传控制 指令协议、以及上述第二应答协议包括的字节数为2n,其中,η为大于或等于3的整数。在 保证系统正常通信的情况下,为提高传输效率,上述第一上传数据协议可以采用16字节, 参见表1;上述第一应答协议可以采用16字节,参见表3;上述第二下传控制指令协议可以 采用8字节,参见表5;以及上述第二应答协议可以采用16字节,参见表6。
[0049] 以下结合图3至图6进一步描述该系统中成员的工作流程。
[0050] 图3是根据本发明优选实施例的上位机主程序流程图。如图3所示,该上位机主 程序包括以下步骤:
[0051] 步骤S301 :上位机系统初始化。
[0052] 步骤S303 :上位机系统打开RS232串口。
[0053] 步骤S305 :上位机接收来自于主节点上报的数据。
[0054] 步骤S307 :判断数据是否在设定范围之外,如果是,执行步骤S309,否则,返回执 行步骤S305。
[0055] 步骤S309 :上位机发送控制指令。
[0056] 上位机(PC机)主程序主要完成各个子节点数据的接收、分析及存储。如果数据 在设定的范围之外,则下达控制指令,对相应农业大棚中执行机构进行控制。
[0057] 图4是根据本发明优选实施例的主节点主程序流程图。如图4所示,该主节点主 程序包括以下步骤:
[0058] 步骤S401 :主节点系统初始化。
[0059] 步骤S403:主节点的无线数传芯片nRF905初始化。
[0060] 步骤S405 :主节点的串口初始化。
[0061] 步骤S407 :与上位机进行串口通信。
[0062] 步骤S409:判断上位机是否下发控制指令。如果是,执行步骤S413,否则,执行步 骤S411。
[0063] 步骤S411:主节点通过串口定时向上位PC机发送数据。
[0064] 步骤S413:主节点接收上位机下发的控制指令。
[0065] 步骤S415:主节点的无线数传芯片nRF905切换到下发指令模式。
[0066] 步骤S417:键盘显示。
[0067] 主节点主程序主要完成定时接收各子节点采集到的数据且进行实时显示,并与上 位PC机进行串行通信,当上位PC机下发控制指令时将指令下发给相应的子节点,它是上 位PC机与子节点之间的纽带。
[0068]图5是根据本发明优选实施例的主节点无线收发芯片与子节点通信的流程图。如 图5所示,该流程主要包括以下步骤:
[0069] 步骤S501:判断主节点无线收发芯片nRF905是否处于接收模式,如果是,执行步 骤S503。
[0070] 步骤S503 :判断主节点无线收发芯片nRF905是否收到数据,如果是,执行步骤 S505,否则,执行步骤S509。
[0071] 步骤S505 :主节点保存数据。
[0072] 步骤S507:主节点向接收到的数据对应的发送子节点发送ACK应答。
[0073] 步骤S509 :判断主节点无线收发芯片nRF905是否处于下发指令模式,如果是,执 行步骤S511,否则,流程结束。
[0074] 步骤S511 :定时下发指令到对应的子节点。
[0075] 步骤S513:判断是否收到对应子节点的ACK应答,如果是,执行步骤S515,否则,流 程结束。
[0076] 步骤S515 :切换到接收模式。
[0077] 图6是根据本发明优选实施例的子节点主程序流程图。如图6所示,该子节点主 程序包括以下步骤:
[0078] 步骤S601 :子节点系统初始化。
[0079] 步骤S603:子节点的无线数传芯片nRF905初始化。
[0080] 步骤S605 :子节点的继电器控制端口初始化。
[0081] 步骤S607 :键盘显示。
[0082] 步骤S609 :DHT11温湿度采用。
[0083] 步骤S611 :子节点的继电器进行控制。
[0084] 步骤S613 :判断是否接收到主节点数据,如果是,执行步骤S615,否则,执行步骤 S621〇
[0085] 步骤S615:判断是否为本IP数据,如果是,执行步骤S617,否则,执行步骤S621。
[0086] 步骤S617 :
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1