CN102711095B - 一种对无线传感器网络中的节点进行无线升级的方法 - Google Patents
一种对无线传感器网络中的节点进行无线升级的方法 Download PDFInfo
- Publication number
- CN102711095B CN102711095B CN201210156913.3A CN201210156913A CN102711095B CN 102711095 B CN102711095 B CN 102711095B CN 201210156913 A CN201210156913 A CN 201210156913A CN 102711095 B CN102711095 B CN 102711095B
- Authority
- CN
- China
- Prior art keywords
- node
- upgraded
- rompaq
- coordinator node
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
本发明涉及一种对无线传感器网络中的节点进行无线升级的方法,它包括以下步骤:步骤1:在协调器节点和PC端之间建立串口连接;步骤2:在协调器节点和至少一个待升级节点中的每个待升级节点建立无线链路连接;步骤3:从PC端发送升级程序到协调器节点;步骤4:协调器节点发送升级程序给所有待升级节点;步骤5:在确认所有待升级节点成功收到升级程序后,PC端发送下载程序启动命令给协调器节点,协调器节点将下载程序启动命令发送给所有待升级节点,待升级节点收到命令后,将升级程序写入待升级节点的Flash中。本发明的特点是只要待升级设备配置有无线通信模块和烧写程序,在可容忍的时间内就可以通过本发明很方便的对升级设备进行升级。
Description
技术领域
本发明涉及一种利用无线方式进行程序升级的方法,特别涉及一种对无线传感器网络中的节点进行无线升级的方法。
背景技术
在对单片机(含嵌入式)之类的芯片进行应用开发时,一般使用万用型烧写器或专用型烧写器对单个开发设备进行程序的烧写和调试。这种方法较简单,但也存在不足。首先必须使用烧写器,开发人员配置烧写器是必须的,没有烧写器就没法进行调试。一旦开发过程结束,将产品投入实际应用当中,仅仅为烧写程序而配置烧写器成本就高了,所以就不再可能通过烧写器来更改和升级芯片中的程序。工程人员在现场无法进行程序的升级操作,拆卸设备可能带来无法预测的后果。在这种情况下就通过使用串口烧写程序。但在无线传感网中,节点数目众多,如果通过烧写器对多个节点一一升级,实现起来是相当困难的。随着无线传感网的发展,如何更方便有效的对节点进行升级将是一个亟待解决的问题。对于单个设备,一般能通过串口来实现程序的下载和升级。但对于正在使用中的多个设备,就不得不通过其他更实际和可行的方法来达到此目的。
发明内容
本发明所要解决的技术问题是提供一种基于无线通信模块和烧写程序的方便快捷的对无线传感器网络中的节点进行无线升级的方法。
本发明解决上述技术问题的技术方案如下:一种对无线传感器网络中的节点进行无线升级的方法,它包括以下步骤:
步骤1:在协调器节点和PC端之间建立串口连接;
步骤2:在协调器节点和至少一个待升级节点中的每个待升级节点建立无线链路连接;
步骤3:从PC端通过串口发送升级程序到协调器节点;
步骤4:协调器节点通过无线链路发送升级程序给所有待升级节点;
步骤5:在确认所有待升级节点成功收到升级程序后,PC端发送下载程序启动命令给协调器节点,协调器节点再通过无线链路将下载程序启动命令发送给所有待升级节点,待升级节点收到命令后,将升级程序写入待升级节点的Flash中。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤2进一步包括:
步骤2.1:进行无线通信模块初始化和串口初始化;
步骤2.2:选择信道进行数据的发送和接收;
步骤2.3:设置协调器节点和待升级节点间的通信模式;
步骤2.4:PC端通过串口向协调器节点发送待升级节点的地址数据,设置后续命令数据和升级程序数据的目的地址;
步骤2.5:PC端通过串口向协调器节点发送握手指令,并通过无线链路发送给待升级节点,若接收到正确的握手响应,则转向步骤2.6,否则进行预设次数的重发,若没有正确接收握手响应,显示出错信息,并转向步骤2.4;
步骤2.6:建立握手连接。
进一步,所述步骤3进一步包括:
步骤3.1:检查串口是否空闲,如果空闲则进行步骤3.2,否则在此步骤中继续等待空闲;
步骤3.2:按照待升级节点地址数据设置后续升级程序数据的目的地址;
步骤3.3:通过串口向协调器节点发送升级程序数据;
步骤3.4:在升级程序发送完成之后,协调器节点在接收到完整的升级程序后,给出正确响应,否则重传。
进一步,所述步骤4进一步包括:
步骤4.1:接收到协调器节点给出的升级程序数据全部接收到的响应后,通过串口向协调器节点发送启动无线传输命令;
步骤4.2:协调器节点收到启动无线传输命令后,向PC端给出正确响应,并启动无线传输功能,根据从串口接收到的所有待升级节点地址数据设置后续升级程序数据的目的地址,并将升级程序数据发往所有待升级节点;
步骤4.3:所有待升级节点在收到升级程序数据后,则通过CRC进行数据完整性校验,校验通过则将CRC正确响应给PC端,否则返回CRC错误响应;若接收到CRC正确响应,则清空无线发送缓冲区;若接收到CRC错误响应或者未接收到正确响应或者错误响应,则进行预设次数的重发,预设次数重传后仍未接收到CRC响应,则重新执行步骤4.1。
进一步,所述步骤5进一步包括:
步骤5.1:在收到完整的升级程序后,所有待升级节点给出升级程序接收成功响应发送给协调器节点,协调器节点将该响应通过串口发送到PC端,收到该响应后,PC端通过串口向协调器节点发送启动下载程序命令,协调器节点在收到启动下载程序命令后向PC端发出响应;
步骤5.2:PC端收到响应后,发送启动无线传输命令给协调器节点,协调器节点将启动下载程序命令通过无线链路发送给所有待升级节点,待升级节点接收到启动下载程序命令后,给出响应,通过无线链路发送给协调器节点,协调器节点通过串口送回PC端;
步骤5.3:所有待升级节点进行程序下载;
步骤5.4:在升级程序下载成功后,向协调器节点发送响应,协调器节点再将响应通过串口发送到PC端;如果升级失败,则重新执行步骤5.1;
步骤5.5:PC端收到成功响应后,整个升级程序执行完毕。
进一步,所述步骤5.3进一步包括:
步骤5.3.1:进行下载程序初始化;
步骤5.3.2:挂起CPU,设置程序计数器和升级程序代码字节数;
步骤5.3.3:向Flash中写入要下载的升级程序代码;
步骤5.3.4:写入下载流程代码;
步骤5.3.5:设置内存映射;
步骤5.3.6:所有程序代码下载完毕后,恢复CPU。
采用上述方案的有益效果是通过无线方式传递带烧写程序信息,减少了工程人员拆装设备带来的不必要的损失,而且避免了大量配制烧写器时造成的成本增高的现象。只要待升级设备配置有无线通信模块和烧写程序,在可容忍的时间内就可以通过本发明方便高效的对待升级设备进行升级。
附图说明
图1为本发明系统结构图;
图2为本发明整体流程图;
图3为本发明无线链路建立流程图;
图4为本发明PC端串口发送升级程序流程图;
图5为本发明无线发送升级程序流程图;
图6为本发明节点程序升级流程图;
图7为本发明Flash烧写流程图;
附图中,各标号所代表的部件列表如下:
1、PC机,2、协调器节点,3、待升级节点
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例1
如图1和图2所示,一种对无线传感器网络中的节点进行无线升级的方法,它包括以下步骤:
步骤1:在协调器节点2和PC机1端之间建立串口连接;
步骤2:在协调器节点2和至少一个待升级节点3中的每个待升级节点3建立无线链路连接;
步骤3:从PC机1端通过串口发送升级程序到协调器节点2;
步骤4:协调器节点2通过无线链路发送升级程序给所有待升级节点3;
步骤5:在确认所有待升级节点3成功收到升级程序后,PC机1端发送下载程序启动命令给协调器节点2,协调器节点2再通过无线链路将下载程序启动命令发送给所有待升级节点3,待升级节点3收到命令后,将升级程序写入待升级节点3的Flash中。
所述步骤2进一步包括:
步骤2.1:进行无线通信模块初始化和串口初始化;
步骤2.2:选择信道进行数据的发送和接收;
步骤2.3:设置协调器节点2和待升级节点3间的通信模式;
步骤2.4:PC机1端通过串口向协调器节点2发送待升级节点3的地址数据,设置后续命令数据和升级程序数据的目的地址;
步骤2.5:PC机1端通过串口向协调器节点2发送握手指令,并通过无线链路发送给待升级节点3,若接收到正确的握手响应,则转向步骤2.6,否则进行预设次数的重发,若没有正确接收握手响应,显示出错信息,并转向步骤2.4;
步骤2.6:建立握手连接。
所述步骤3进一步包括:
步骤3.1:检查串口是否空闲,如果空闲则进行步骤3.2,否则在此步骤中继续等待空闲;
步骤3.2:按照待升级节点3地址数据设置后续升级程序数据的目的地址;
步骤3.3:通过串口向协调器节点2发送升级程序数据;
步骤3.4:在升级程序发送完成之后,协调器节点2在接收到完整的升级程序后,给出正确响应,否则重传。
所述步骤4进一步包括:
步骤4.1:接收到协调器节点2给出的升级程序数据全部接收到的响应后,通过串口向协调器节点2发送启动无线传输命令;
步骤4.2:协调器节点2收到启动无线传输命令后,向PC机1端给出正确响应,并启动无线传输功能,根据从串口接收到的所有待升级节点3地址数据设置后续升级程序数据的目的地址,并将升级程序数据发往所有待升级节点3;
步骤4.3:所有待升级节点3在收到升级程序数据后,则通过CRC进行数据完整性校验,校验通过则将CRC正确响应给PC机1端,否则返回CRC错误响应;若接收到CRC正确响应,则清空无线发送缓冲区;若接收到CRC错误响应或者未接收到正确响应或者错误响应,则进行预设次数的重发,预设次数重传后仍未接收到CRC响应,则重新执行步骤4.1。
所述步骤5进一步包括:
步骤5.1:在收到完整的升级程序后,所有待升级节点3给出升级程序接收成功响应发送给协调器节点2,协调器节点2将该响应通过串口发送到PC机1端,收到该响应后,PC机1端通过串口向协调器节点2发送启动下载程序命令,协调器节点2在收到启动下载程序命令后向PC机1端发出响应;
步骤5.2:PC机1端收到响应后,发送启动无线传输命令给协调器节点2,协调器节点2将启动下载程序命令通过无线链路发送给所有待升级节点3,待升级节点3接收到启动下载程序命令后,给出响应,通过无线链路发送给协调器节点2,协调器节点2通过串口送回PC端;
步骤5.3:所有待升级节点3进行程序下载;
步骤5.4:在升级程序下载成功后,向协调器节点2发送响应,协调器节点2再将响应通过串口发送到PC机1端;如果升级失败,则重新执行步骤5.1;
步骤5.5:PC机1端收到成功响应后,整个升级程序执行完毕。
所述步骤5.3进一步包括:
步骤5.3.1:进行下载程序初始化;
步骤5.3.2:挂起CPU,设置程序计数器和升级程序代码字节数;
步骤5.3.3:向Flash中写入要下载的升级程序代码;
步骤5.3.4:写入下载流程代码;
步骤5.3.5:设置内存映射;
步骤5.3.6:所有程序代码下载完毕后,恢复CPU。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种对无线传感器网络中的节点进行无线升级的方法,其特征在于,它包括以下步骤:
步骤1:在协调器节点(2)和PC机(1)之间建立串口连接;
步骤2:在协调器节点(2)和至少一个待升级节点(3)中的每个待升级节点(3)建立无线链路连接;
步骤3:从PC机(1)端通过串口发送升级程序到协调器节点(2);
步骤4:协调器节点(2)通过无线链路发送升级程序给所有待升级节点(3);
所述步骤4进一步包括:
步骤4.1:接收到协调器节点(2)给出的升级程序数据全部接收到的响应后,通过串口向协调器节点(2)发送启动无线传输命令;
步骤4.2:协调器节点(2)收到启动无线传输命令后,向PC机(1)端给出正确响应,并启动无线传输功能,根据从串口接收到的所有待升级节点(3)地址数据设置后续升级程序数据的目的地址,并将升级程序数据发往所有待升级节点(3);
步骤4.3:所有待升级节点(3)在收到升级程序数据后,则通过CRC进行数据完整性校验,校验通过则将CRC正确响应给PC机端,否则返回CRC错误响应;若接收到CRC正确响应,则清空无线发送缓冲区;若接收到CRC错误响应或者未接收到正确响应或者错误响应,则进行预设次数的重发,预设次数重传后仍未接收到CRC响应,则重新执行步骤4.1;
步骤5:在确认所有待升级节点(3)成功收到升级程序后,PC机(1)端发送下载程序启动命令给协调器节点,协调器节点(2)再通过无线链路将下载程序启动命令发送给所有待升级节点,待升级节点收到命令后,将升级程序写入待升级节点(3)的Flash中。
2.根据权利要求1所述的对无线传感器网络中的节点进行无线升级的方法,其特征在于,所述步骤2具体包括:
步骤2.1:进行无线通信模块初始化和串口初始化;
步骤2.2:选择信道进行数据的发送和接收;
步骤2.3:设置协调器节点(2)和待升级节点(3)间的通信模式;
步骤2.4:PC机(1)端通过串口向协调器节点(2)发送待升级节点(3)的地址数据,设置后续命令数据和升级程序数据的目的地址;
步骤2.5:PC机(1)端通过串口向协调器节点(2)发送握手指令,并通过无线链路发送给待升级节点(3),若接收到正确的握手响应,则转向步骤2.6,否则进行预设次数的重发,若没有正确接收握手响应,显示出错信息,并转向步骤2.4;
步骤2.6:建立握手连接。
3.根据权利要求1所述的对无线传感器网络中的节点进行无线升级的方法,其特征在于,所述步骤3具体包括:
步骤3.1:检查串口是否空闲,如果空闲则进行步骤3.2,否则在此步骤中继续等待空闲;
步骤3.2:按照待升级节点(3)地址数据设置后续升级程序数据的目的地址;
步骤3.3:通过串口向协调器节点(2)发送升级程序数据;
步骤3.4:在升级程序发送完成之后,协调器节点(2)在接收到完整的升级程序后,给出正确响应,否则重传。
4.根据权利要求1所述的对无线传感器网络中的节点进行无线升级的方法,其特征在于,所述步骤5具体包括:
步骤5.1:在收到完整的升级程序后,所有待升级节点(3)给出升级程序接收成功响应发送给协调器节点(2),协调器节点(2)将该响应通过串口发送到PC机(1)端,收到该响应后,PC机(1)端通过串口向协调器节点(2)发送启动下载程序命令,协调器节点(2)在收到启动下载程序命令后向PC机(1)端发出响应;
步骤5.2:PC机(1)端收到响应后,发送启动无线传输命令给协调器节点(2),协调器节点(2)将启动下载程序命令通过无线链路发送给所有待升级节点(3),待升级节点(3)接收到启动下载程序命令后,给出响应,通过无线链路发送给协调器节点(2),协调器节点通过串口送回PC机(1)端;
步骤5.3:所有待升级节点进行程序下载;
步骤5.4:在升级程序下载成功后,向协调器节点(2)发送响应,协调器节点(2)再将响应通过串口发送到PC机(1)端;如果升级失败,则重新执行步骤5.1;
步骤5.5:PC机(1)端收到成功响应后,整个升级程序执行完毕。
5.根据权利要求4所述的对无线传感器网络中的节点进行无线升级的方法,其特征在于,所述步骤5.3具体包括:
步骤5.3.1:进行下载程序初始化;
步骤5.3.2:挂起CPU,设置程序计数器和升级程序代码字节数;
步骤5.3.3:向Flash中写入要下载的升级程序代码;
步骤5.3.4:写入下载流程代码;
步骤5.3.5:设置内存映射;
步骤5.3.6:所有程序代码下载完毕后,恢复CPU。
6.一种对无线传感器网络中的节点进行无线升级的系统,其特征在于,它包括以下模块:
串口连接模块,用于在协调器节点(2)和PC机(1)端之间建立串口连接;
无线链路连接模块,用于在协调器节点(2)和所有待升级节点(3)中的每个待升级节点(3)建立无线链路连接;
串口发送模块,用于从PC机(1)端通过串口发送升级程序到协调器节点(2);
无线链路发送模块,用于协调器节点(2)通过无线链路发送升级程序给所有待升级节点(3);
所述无线链路发送模块具体包括:接收启动子模块、响应子模块和校验子模块;
所述接收启动子模块,用于接收到协调器节点(2)给出的升级程序数据全部接收到的响应后,通过串口向协调器节点(2)发送启动无线传输命令;
所述响应子模块,用于协调器节点(2)收到启动无线传输命令后,向PC机(1)端给出正确响应,并启动无线传输功能,根据从串口接收到的所有待升级节点(3)地址数据设置后续升级程序数据的目的地址,并将升级程序数据发往所有待升级节点(3);
所述校验子模块,用于所有待升级节点(3)在收到升级程序数据后,则通过CRC进行数据完整性校验,校验通过则将CRC正确响应给PC机端,否则返回CRC错误响应;若接收到CRC正确响应,则清空无线发送缓冲区;若接收到CRC错误响应或者未接收到正确响应或者错误响应,则进行预设次数的重发,预设次数重传后仍未接收到CRC响应,则重新执行接收启动子模块;
下载程序模块:用于在确认所有待升级节点(3)成功收到升级程序后,PC机(1)端发送下载程序启动命令给协调器节点(2),协调器节点(2)再通过无线链路将下载程序启动命令发送给所有待升级节点(3),待升级节点(3)收到命令后,将升级程序写入所有待升级节点(3)的Flash中,升级原有程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210156913.3A CN102711095B (zh) | 2012-05-18 | 2012-05-18 | 一种对无线传感器网络中的节点进行无线升级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210156913.3A CN102711095B (zh) | 2012-05-18 | 2012-05-18 | 一种对无线传感器网络中的节点进行无线升级的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102711095A CN102711095A (zh) | 2012-10-03 |
CN102711095B true CN102711095B (zh) | 2015-11-25 |
Family
ID=46903616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210156913.3A Expired - Fee Related CN102711095B (zh) | 2012-05-18 | 2012-05-18 | 一种对无线传感器网络中的节点进行无线升级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102711095B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888276A (zh) * | 2012-12-19 | 2014-06-25 | 中国科学院沈阳自动化研究所 | 用于wia网络在线节点固件的远程升级方法 |
CN103440802B (zh) * | 2013-08-27 | 2016-03-30 | 无锡泛太科技有限公司 | 一种物联网综合实验台 |
CN103716201B (zh) * | 2013-12-12 | 2017-01-18 | 中国科学院信息工程研究所 | 一种开放型无线传感网性能测试方法及系统 |
CN105573810A (zh) * | 2016-03-23 | 2016-05-11 | 重庆邮电大学 | 一种无线传感器网络节点远程升级方法及装置 |
CN105978727A (zh) * | 2016-06-16 | 2016-09-28 | 深圳先进技术研究院 | 一种穿戴式人体运动捕捉系统的节点固件更新方法 |
CN106126297A (zh) * | 2016-06-30 | 2016-11-16 | 西安诺瓦电子科技有限公司 | 基于Android操作系统的系统升级方法 |
CN106293857A (zh) * | 2016-08-31 | 2017-01-04 | 成都国蓉科技有限公司 | 一种无线方式进行软件升级的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656975A (zh) * | 2009-09-27 | 2010-02-24 | 西安迅腾科技有限责任公司 | 无线传感器网络节点现场无线程序更新装置及其更新方法 |
CN102210123A (zh) * | 2008-09-12 | 2011-10-05 | Lg电子株式会社 | 无线网络中的通信方法 |
CN202093688U (zh) * | 2011-06-07 | 2011-12-28 | 华南理工大学 | 基于无线自组网的车位检测装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010045971A1 (en) * | 2008-10-22 | 2010-04-29 | Telecom Italia S.P.A. . | Method and system for the deployment of nodes of a wireless communications network |
-
2012
- 2012-05-18 CN CN201210156913.3A patent/CN102711095B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102210123A (zh) * | 2008-09-12 | 2011-10-05 | Lg电子株式会社 | 无线网络中的通信方法 |
CN101656975A (zh) * | 2009-09-27 | 2010-02-24 | 西安迅腾科技有限责任公司 | 无线传感器网络节点现场无线程序更新装置及其更新方法 |
CN202093688U (zh) * | 2011-06-07 | 2011-12-28 | 华南理工大学 | 基于无线自组网的车位检测装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102711095A (zh) | 2012-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102711095B (zh) | 一种对无线传感器网络中的节点进行无线升级的方法 | |
CN108337120A (zh) | 一种物联网终端设备的远程升级方法 | |
CN104899065A (zh) | 一种可批量软件在线恢复与软件在线升级的方法和系统 | |
CN101778378B (zh) | 一种固件节点更新方法、装置和系统 | |
CN103019788A (zh) | 一种基于can总线的远程在线升级方法 | |
CN101621411B (zh) | 微控制器远程更新方法和更新系统 | |
CN103077058A (zh) | 一种安装应用程序的方法及装置 | |
WO2016173128A1 (zh) | 一种软件版本的下载方法及装置、存储介质 | |
CN102779056B (zh) | 远程硬件程序更新方法及系统 | |
CN103685487A (zh) | 无线通信网络中的子节点升级方法 | |
CN102075918A (zh) | 一种基站射频单元系统更新方法及其装置 | |
CN106412064A (zh) | 一种用电信息采集终端远程升级方法 | |
CN103490927A (zh) | 一种固件升级方法、设备及通信系统 | |
CN103019755B (zh) | 嵌入式系统中多cpu的无线程序下载方法 | |
CN103106095A (zh) | 一种工业照相机远程升级的方法及照相机 | |
CN103580942A (zh) | 一种模拟串口测试方法和装置 | |
CN107181618A (zh) | 固件升级方法及系统 | |
CN102426528A (zh) | 一种导航定位接收机内核程序在线更新方法 | |
CN110673862A (zh) | 兼用多模式的嵌入式设备固件无线升级方法、设备、介质 | |
CN101917395A (zh) | 通用升级方法及装置和系统 | |
CN201571108U (zh) | 嵌入式移动终端的操作平台 | |
CN108769241A (zh) | 一种热泵机组远程控制的操作方法、装置及系统 | |
CN106775904A (zh) | 一种微控制器嵌入式系统的程序烧写系统及方法 | |
CN109639842B (zh) | Nb-iot设备软件升级系统及方法 | |
CN111682965A (zh) | 一种fota控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151125 Termination date: 20200518 |