ZigBee设备OTA过程研究及优化
参考文档:AN728: Over-the-Air Bootload Server and Client Setup>>
烧录文件下载>>
实验环境:EFR32MG1P232F256GM48开发板、EmberZNet 6.3.0.0、Ubuntu 16.04、Vbox
一、建立工程:
OTA Server(Host + NCP)
1.用EFR32MG1P232F256GM48开发板做NCP
新建NCP的APP工程:ncp-uart-hw(硬件控制流)或者ncp-uart-sw(软件控制流)
新建NCP的BootLoader工程:bootloader-uart-xmodem
编译后烧录:
2.在VirtualBox虚拟机上运行的ubuntu16.04系统,编译产生的Z3GatewayHost作为Host
How to build an EZSP-UART host application>>
新建Host工程:Z3GatewayHost
在VirtualBox中设置Windows上的共享文件夹如下:
安装VBoxGuestAdditions.iso功能增强包
添加用户到vboxsf组:
$ sudo usermod -a -G vboxsf tenix(unbuntu用户名)
$ sudo reboot
用root账户进入共享目录:
$ sudo -i
# cd /media/sf_SiliconLabs/SimplicityStudio/v4/developer/sdks/gecko_sdk_suite/v2.3/app/builder/Z3GatewayHost
# make NO_READLINE=1
等待几分钟编译完成
# cd /media/sf_SiliconLabs/SimplicityStudio/v4/developer/sdks/gecko_sdk_suite/v2.3/app/builder/Z3GatewayHost/build/exe
# ./Z3GatewayHost -n 0 -p /dev/ttyACM0
回车即可输入CLI命令:
建网
plugin network-creator start 1
允许加网180s
plugin network-creator-security open-network
3.网关上的NCP做OTA升级
ZigBee Coordinate OTA:How to upgrade(downgrade) the ncp image with host application >>
需要Host支持OTA Client端,如下图,重新在Linux环境下编译Z3GatewayHost
新建NCP工程,更新版本号,制作OTA升级文件
.s37->.gbl->.ota
将OTA文件复制到共享文件夹路径下的Z3GatewayHost文件夹里面的ota-files文件夹
文件夹路径 C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.3\app\builder\Z3GatewayHost\build\exe\ota-files
重启Host,加载ota文件
输入CLI命令,启动standalone bootloader开始OTA升级
plugin ota-client bootload 0
ZigBee Router/EndDevice OTA:How to setup OTA Server and OTA Client on WSTK+4151 radio boards? >>
建立一个OAT Client工程:
生成IAR工程,编译产生OTA版本为1的固件,烧录APP程序和bootloader程序到开发板上
然后修改OTA版本为5,需要修改“.h”文件和“-postbuild.py”文件
修改“-postbuild.py”文件的 OTA版本为5
修改“.h”文件的 OTA版本为5
编译IAR产生OTA固件,将固件复制到host共享目录的“ota-files”文件夹,路径如下 :
C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.3\app\builder\Z3GatewayHost\build\exe\ota-files
在Host端重启NCP应用,显示OTA文件的相关Manufacturer ID、image type ID和Version如下:
ZigBee节点OTA更新的方式有两种:1.设备上电后5分钟内match一次ota服务器,然后每隔24小时请求一次镜像更新。2.设备入网后match过ota server后,ota server主动发送image notify给设备,设备收到后请求镜像,并开始下载OTA文件,相关抓包文件>>
二、 OTA抓包分析:
设备加网成功->延时(5分钟内随机时间)match ota server->请求新镜像->开始下载镜像->下载完成->校验镜像->设备重启
三、OTA优化:
OTA请求包的速度为short poll 的频率,可以缩短其频率为0.25s来加快ota过程,参考方法>>
效果如下:57分42中,一秒内请求了4个ota数据包,0.25一次
ZigBee设备OTA过程研究及优化相关推荐
- 国内 3 大物联网设备 OTA 服务选型指南
在物联网智能化如火如荼的进程中,数字化和智能化转型拥有庞大的市场空间,Strategy Analytics近期发布的研究报告<物联网蜂窝连接按空中接口和垂直行业划分>预测,到2025年物联 ...
- Microbiome:微生物组研究中优化方法和规避误区
本网对Markdown排版支持差,请跳转至 "宏基因组"公众号阅读: 微生物组研究中优化方法和规避误区 2017年五月发表在Microbiome上的综述,对于老司机会有很多共鸣,对 ...
- matlab生产计划问题,用MATLAB解决综合生产计划编制过程中的优化问题
第 18卷第 3期 2005年 6月 常 州 工 学 院 学 报 Journal of Changzhou Institute of Technology Vol. 18 No. 3 Jun. 200 ...
- 如何从8 道面试题中,看出浏览器渲染过程与性能优化
前言 移动互联网时代,用户对于网页的打开速度要求越来越高.百度用户体验部研究表明,页面放弃率和页面的打开时间关系如下图 所示. 根据百度用户体验部的研究结果来看,普通用户期望且能够接受的页面加载时间在 ...
- zigbee设备入网流程分析
下图片展示的是一个zigbee设备的入网流程 下面是一个router设备连接到coordinator的过程: 1.router发送beacon request router会在每一个信道发送一个bea ...
- 第五篇 USB设备枚举过程(1)
上一篇:https://blog.csdn.net/qq_40088639/article/details/109741653 总述 1. 设备枚举的整个过程 USB设备枚举过程,可大致分为下面的几个 ...
- 乐鑫esp8266学习rtos3.0笔记第4篇:带你捋一捋微信公众号 airkiss 配网 esp8266 并绑定设备的过程,移植并成功实现在 esp8266 rtos3.1 sdk。(附带demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...
- 移动设备渲染架构以及GPU优化技巧
移动设备渲染架构以及GPU优化技巧 前言 一.常用的两种GPU渲染架构 二.Immediate Mode Rendering 1.说明 2.优点 3.缺点 三.Tile-Based Rendering ...
- 小米 ZigBee 设备接入 ThingsCloud 物联网平台实战
智能家居场景中,我们通过架设自己的 Zigbee 网关,可以将米家的 Zigbee 设备轻松接入 ThingsCloud.借助 ThingsCloud 平台的内置应用和开放性,我们可以在很多行业项目和 ...
最新文章
- Install Package and Software
- Flex与.NET互操作(一):基于Socket的网络连接
- c++11 多线程 2c++ concurrency in action
- 如何管理你的客户?别用会员卡积分打折了,把客户变成粉丝
- TSC条码打印机 条形码ActiveXbarcode()方法参数详解
- viewpager+Fragment+Butterknife报错 :Fragment already added: MsgOuChatFragment
- java中描述价格_JAVA中价格金额的存储类型
- win7如何解除锁定计算机,Win7电脑键盘数字键被锁了怎么解锁(图文)
- 第十四课 k8s源码学习和二次开发原理篇-调度器原理
- 分层结构的生活例子_分层作业设计案例
- mycat的主从关系 垂直分库 水平分表 以及mycat分片联表查询的配置详解(mysql5.7系列)
- DC系列:1 (DC-1靶机,初级渗透详细教程)
- 简单的python截屏工具
- 微信小程序---人脸识别(WX.STARTFACIALRECOGNITIONVERIFY)
- 讨教大学|六西格玛黑带 面试题请收藏!
- 计算机兴趣小组活动记录博客,兴趣小组活动记录
- Android Intent深入解剖(传智播客)
- 通道抠图怎么扣ps教程ps学习视频教程基础学习
- 利用grep命令查找字符串分析log文件的一次实践
- 逆水寒 找不到服务器,逆水寒服务器最近为什么总崩?