参考文档: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过程研究及优化相关推荐

  1. 国内 3 大物联网设备 OTA 服务选型指南

    在物联网智能化如火如荼的进程中,数字化和智能化转型拥有庞大的市场空间,Strategy Analytics近期发布的研究报告<物联网蜂窝连接按空中接口和垂直行业划分>预测,到2025年物联 ...

  2. Microbiome:微生物组研究中优化方法和规避误区

    本网对Markdown排版支持差,请跳转至 "宏基因组"公众号阅读: 微生物组研究中优化方法和规避误区 2017年五月发表在Microbiome上的综述,对于老司机会有很多共鸣,对 ...

  3. matlab生产计划问题,用MATLAB解决综合生产计划编制过程中的优化问题

    第 18卷第 3期 2005年 6月 常 州 工 学 院 学 报 Journal of Changzhou Institute of Technology Vol. 18 No. 3 Jun. 200 ...

  4. 如何从8 道面试题中,看出浏览器渲染过程与性能优化

    前言 移动互联网时代,用户对于网页的打开速度要求越来越高.百度用户体验部研究表明,页面放弃率和页面的打开时间关系如下图 所示. 根据百度用户体验部的研究结果来看,普通用户期望且能够接受的页面加载时间在 ...

  5. zigbee设备入网流程分析

    下图片展示的是一个zigbee设备的入网流程 下面是一个router设备连接到coordinator的过程: 1.router发送beacon request router会在每一个信道发送一个bea ...

  6. 第五篇 USB设备枚举过程(1)

    上一篇:https://blog.csdn.net/qq_40088639/article/details/109741653 总述 1. 设备枚举的整个过程 USB设备枚举过程,可大致分为下面的几个 ...

  7. 乐鑫esp8266学习rtos3.0笔记第4篇:带你捋一捋微信公众号 airkiss 配网 esp8266 并绑定设备的过程,移植并成功实现在 esp8266 rtos3.1 sdk。(附带demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...

  8. 移动设备渲染架构以及GPU优化技巧

    移动设备渲染架构以及GPU优化技巧 前言 一.常用的两种GPU渲染架构 二.Immediate Mode Rendering 1.说明 2.优点 3.缺点 三.Tile-Based Rendering ...

  9. 小米 ZigBee 设备接入 ThingsCloud 物联网平台实战

    智能家居场景中,我们通过架设自己的 Zigbee 网关,可以将米家的 Zigbee 设备轻松接入 ThingsCloud.借助 ThingsCloud 平台的内置应用和开放性,我们可以在很多行业项目和 ...

最新文章

  1. Install Package and Software
  2. Flex与.NET互操作(一):基于Socket的网络连接
  3. c++11 多线程 2c++ concurrency in action
  4. 如何管理你的客户?别用会员卡积分打折了,把客户变成粉丝
  5. TSC条码打印机 条形码ActiveXbarcode()方法参数详解
  6. viewpager+Fragment+Butterknife报错 :Fragment already added: MsgOuChatFragment
  7. java中描述价格_JAVA中价格金额的存储类型
  8. win7如何解除锁定计算机,Win7电脑键盘数字键被锁了怎么解锁(图文)
  9. 第十四课 k8s源码学习和二次开发原理篇-调度器原理
  10. 分层结构的生活例子_分层作业设计案例
  11. mycat的主从关系 垂直分库 水平分表 以及mycat分片联表查询的配置详解(mysql5.7系列)
  12. DC系列:1 (DC-1靶机,初级渗透详细教程)
  13. 简单的python截屏工具
  14. 微信小程序---人脸识别(WX.STARTFACIALRECOGNITIONVERIFY)
  15. 讨教大学|六西格玛黑带 面试题请收藏!
  16. 计算机兴趣小组活动记录博客,兴趣小组活动记录
  17. Android Intent深入解剖(传智播客)
  18. 通道抠图怎么扣ps教程ps学习视频教程基础学习
  19. 利用grep命令查找字符串分析log文件的一次实践
  20. 逆水寒 找不到服务器,逆水寒服务器最近为什么总崩?

热门文章

  1. 自己动手搭建一个简单的静态资源服务器
  2. 基于EEG-EMG混合控制方法的研究—生物机器人应用:现状、挑战与未来方向(三)
  3. Windows7/10耳机插入前面板没反应的解决方案
  4. 已经破解好的Quartus软件,license为什么会突然失效
  5. 高德地图生成静态图片,显示指定经纬度的地图
  6. Dnguard旗舰版代加密加壳服务 20/次
  7. curl+openssl,编译win32 兼容xp系统的静态库
  8. yocto 编译流程分析
  9. Linux系统使用ss命令查看端口状态
  10. java程序员 女装_java程序员面试着装要求是什么?