目
录
前言
1. Web控制后台登录及使用
2. Shell控制台的登录及使用
3. Thread界面使用说明
4. Thread网络用户使用
5. 产品上云用例(以OneNET为例)
6. 网关升级
7. OTBR基础功能展示
前言
欢迎阅读本文章,本文是HooMax H5EA工业网关的使用指南,旨在帮助读者快速地了解HooMax工业网关,并通过HooMax工业网关建立和使用Thread网络。
前两个章节,读者可快速了解网关Web控制台和Shell控制台的登录以及基本的使用;第3节,读者可以快速了解网关Thread web界面;
第4节,则介绍了如何通过Commissioning的方式将Thread终端加入到HooMax网关创建的Thread网络中;
第5节及第6节,介绍了产品上云样例和网关的升级功能。
最后一节,则是OTBR基础功能的使用和测试。
本文对于硬件及软件的基本依赖:
硬件:
1 x HooMax H5EA网关
N x nRF DevKits
软件:
网关固件:GW_HZ_A_AB_V1.11.6及以上
终端固件:nRF Connect SDK (1.5.0及以上)
1. Web控制后台登录及使用
网关上电,电脑网线连接网关LAN口,浏览器输入192.168.110.1进入网关管理后台。
Shell
地址:192.168.110.1
用户名:root
密码:admin12!
(上述信息在网关标签上都能查看,密码中含有符号,请使用英文符号)
网关web控制台支持中文和英文两种语言的显示,登录控制台后,进入系统->系统(System->System)页面,点击语言和界面(Language and Style)子标签页,在语言选项列表即可选择对应语言,选择后,点击保存并应用(Save&Apply),即可完成显示语言的改动设置。
主要应用页面在Hoo选项里,包含了一个状态及日志展示页和一个Dataset选择页面。
状态及日志显示在SDK子菜单项下,包括了程序运行状态指示和开关,网关上云配置和两个日志展示,日志未实时刷新时可刷新网页。
Dataset配置页主要用于选择并使用预置在网关里的Dataset信息,若要自定义Dataset信息,可以通过Shell命令行实现,具体操作参考Shell命令行的登录及使用;除此之外,网关绑定至云平台时,平台将会下发Dataset到网关。
2. Shell控制台的登录及使用
网关支持ssh方式登录到shell命令行终端,登录用户名及密码同Web控制台登录账户。
登录后可在命令行实现对网关的控制及信息查看。
命令行下的Thread相关控制命令通过ot-ctl程序实现。
3. Thread界面使用说明
注意:若需使用本部分的Thread界面功能,需使用GW_HZ_A_AB_V1.11.6及以上版本。
a. OpenWrt Thread界面
进入网关web控制台,菜单栏选择网络->Thread(Network->Thread),在显示页面中可以查看当前网关的Thread网络信息及Neighbors信息。
在Overview界面点击扫描可搜索扫描附近的Thread网络。
在Overview界面点击Create可创建新的Thread网络,在常规设置(General Setup)和高级设置(Advanced Settings)中设置好对应的Thread网络信息,点击保存并应用,即可创建对应的Thread网络。
在Overview界面点击View按钮,可查看Thread网络中的部分详细信息以及Thread网络拓扑图,点击右下角的新增(Add)按钮,可进行Commissioner-Joiner方式添加子设备。
4. Thread网络用户使用
本节内容中的终端均设备为52840DK,NCS SDK版本为NCS 1.8.0及以上。
a. Commissioning
确保终端所使用的程序配置项开启了Joiner配置和shell命令行。
Makefile
1 CONFIG_OPENTHREAD_JOINER=y
2 CONFIG_SHELL=y
通过串口命令行确认终端Thread为disable状态,并获取设备eui64,然后在网关命令行通过ot-ctl命令开启commissioner,确认网关commissioner状态为active
终端获取eui64命令:
ot eui64
网关开启commissioner命令:
ot-ctl commissioner start
确认状态后,在网关终端通过命令及终端eui64开启commissiong,若现场有多个终端设备需要同时入网,只要这些终端设备的Joiner Credential值设置为完全相同,则可将Restrict to a Specific Joiner项内容改为通配符*,这样执行Commission命令时可同时让多台满足要求的设备加入到Thread网络。
Plain Text
ot-ctl commissioner add
例:ot-ctl commissioner joiner add f4ce368209d4775f H00R11PCC
ot-ctl commissioner joiner add "*" H00R11PCC
网关开启commissioning后,终端执行Joiner命令:
Plain Text
ot ifconfig up
ot joiner start
例:ot joiner start H00R11PCC
成功加入后效果如图所示:
成功后,终端通过ot thread start命令启动Thread网络连接,便可确认终端设备成功加入到了Thread网络中。
打开网关Web控制台,菜单栏选择网络->Thread(Network->Thread),点击View,进入到Thread View页面。
点击右下角的新增(Add)按钮,打开Commissioner的配置页面,New Joiner Credential 项内容填写为Joiner Credential的值(即上一小节命令中的
Restrict to a Specific Joiner项内容为DK设备的EUI64值,必须保证这两项值与终端设备一致,才能保证终端设备成功入网;Timeout为网关Commissioning有效执行时间,超出该时间后,则需要重新进行设置开启配网Commissioning;
若现场有多个终端设备需要同时入网,只要这些终端设备的Joiner Credential值设置为完全相同,则可将Restrict to a Specific Joiner项内容改为通配符*,这样执行Commission命令时可同时让多台满足要求的设备加入到Thread网络。
完成上述配置后,在设备终端侧执行CLI命令中的Joiner start命令,等待commissioning。
注意:本小节部分功能仅适用于GW_HZ_A_AB_V1.11.6之后,及其他较新版本固件中。
OpenThread官方教程参考
目前有OpenThread Commissioner和Thread 1.1 Commissioning两款应用可,操作方式基本相同,因此本节内容将同步展示两款应用。
OpenThread Commissioner下载地址
Thread 1.1 Commissioning下载地址
APP端设备需要连接到网关的WIFI下,才能在APP中扫描到Thread网络。网关WIFI信息在背面标签以及Web页面网络->无线(Network->Wireless)配置页下查看,网关默认隐藏了SSID,需要手动添加。添加完成后,即可在APP端查看到网关的Thread网络。
APP端连接到网关后,按照前文提到的方式获取设备EUI64,并按照以下内容格式,利用二维码生成工具生成二维码。
HTML
v=1&&eui=&&cc=
例:
v=1&&eui=f4ce368209d4775f&&cc=H00R11PCC
打开APP端,在APP中点击对应的Thread网络名称,然后点击ADD DEVICE, 在弹出的Enter Password输入密码,HooMax网关密码为hoorii,正确输入后即可打开摄像头扫描二维码,正常情况下,扫描完成后,APP进入Petition Done!的状态,并等待终端设备的Join请求,如下图所示:
APP如上述图片显示状态时,在设备终端侧执行CLI命令中的Joiner start命令,等待commissioning。操作成功后APP端如图所示:
b. 终端自动Commissioning
此小节中提供的DK固件内默认自动开启Joiner且保持Joiner失败重试,同时配置了Joiner Credential,通过这些修改可实现终端设备上电后prj.conf新增配置项为:
Plain Text
CONFIG_OPENTHREAD_JOINER=y
CONFIG_OPENTHREAD_JOINER_AUTOSTART=y
CONFIG_OPENTHREAD_JOINER_PSKD="H00R11PCC"
CONFIG_NET_SHELL=y
CONFIG_SHELL_ARGC_MAX=26
CONFIG_SHELL_CMD_BUFF_SIZE=416
CONFIG_OPENTHREAD_SLAAC=y
CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=6
CONFIG_SHELL_STACK_SIZE=2048
修改代码:
对"zephyr\subsys\net\l2\openthread\openthread.c"这个文件做了部分修改,默认commissioning只会尝试一次就停止,修改这个文件会在commissioning失败后自动再次进行尝试,编译时可以直接把这个文件覆盖掉源文件。
coap_server和coap_client代码和固件打包:
固件Hex文件:
DK commissioning和ping外部网的串口打印如下:
根据上一小节提到的固件准备及配置,将DK烧录好对应程序,进入DK串口命令行,通过命令ot eui64获取DK设备的EUI64信息,用于Commission入网;建议使用网关Web控制台进行此操作。
网关web控制台方式:
打开网关控制台,菜单栏选择网络->Thread(Network->Thread),点击View,进入到Thread View页面。
点击右下角的新增( Add )按钮,打开 Commissioner 的配置页面, New Joiner Credential 项内容填写为 CONFIG_OPENTHREAD_JOINER_PSKD 的值; Restrict to a Specific Joiner 项内容为DK设备的 EUI64 值,必须保证这两项值与 DK 设备一致,才能保证 DK 设备成功入网; Timeout 为网关 Commissioner 有效执行时间,超出该时间后,则需要重新进行设置开启;
若现场有多个终端设备需要同时入网,且这些终端设备的 CONFIG_OPENTHREAD_JOINER_PSKD 配置值完全相同,则可将 Restrict to a Specific Joiner 项内容改为通配符*,这样执行 Commission 命令时可同时让多台满足要求的设备加入到 Thread 网络。
c. 拓扑结构显示
通过上述方式将终端设备加入到网关Thread网络后,可在网关的Web界面看到相应的拓扑图,拓扑图可以通过Nordic Thread Topology Monitor配合查看验证,使用教程参考:Thread Topology Monitor 使用文档。
5. 产品上云用例(以OneNET为例)
a. 网关绑定至云平台
手机下载RingaX应用(国内无法下载,苹果及谷歌商城都需要欧美地区账户)
Apple Store链接:https://apps.apple.com/us/app/ringax/id1552342161?l=zh
Play Store链接:https://play.google.com/store/apps/details?id=com.international.hewu
网关上电并联网后,通过RingaX APP,点击添加设备按钮,扫描网关北部标签上的二维码,根据提示进行操作即可完成网关设备的绑定,绑定后点击网关即可进入网关详情页,可看到网关所在Thread网络的拓扑结构,网关绑定后,云平台会根据用户信息下发。
b. 终端绑定至云平台
完成了网关绑定后,在网关在线且配网功能开启的情况下,才能进行终端的绑定(配网功能默认打开)。
确认网关配网功能是否开启只需要确认网关Thread指示灯是否在闪烁,若未闪烁可通过短按(按下时长不超过5s)网关reset按键开启。
将终端设备上电,然后通过RingaX应用扫描设备上的二维码即可进行设备绑定,绑定后同网关一样可在详情页看到相关信息,按下验证设备正中的测试报警按键可上报一条测试报警信息。
c. 设备解绑
设备解绑只需在RingaX应用中进入设备详情页,点击右上角进入“更多”页面,选择删除设备即可。
若是解绑网关,则平台将清除网关当前Thread网络的Dataset信息,可通过shell命令行确认当前Thread dataset信息是否存在,确认是否解绑成功。
若是解绑终端设备,则不会清除终端的Thread网络信息,且网关child table下仍能看到该设备。若要将子设备从网关下剔除,需要清除终端的Thread网络信息,即手动执行终端设备的清网操作。
具体清网操作流程如下:先将终端下电,按住终端设备的测试报警按键不要松开,再将终端上电,上电后红灯将亮起,等待红灯熄灭后,松开按键并立刻短按一次,此时红灯将闪烁几秒,听到蜂鸣器短鸣一次后,则说明清网成功。
6. 网关升级
a. 网关Web控制台升级
i. 进入网关web界面,菜单栏选择系统->备份/升级(System->Backup/Flash Fimware),在显示页面中找到“刷写新的固件”,点击刷写固件(Flash image)按钮,在弹窗中点击浏览(Browse),选择用于升级的固件。
ii. 选择好固件后,点击上传( Upload ),等待固件包上传并验证完成;验证完成后,若未对网关进行过配置,建议按照下图所示,不勾选任何选项,点击继续进行不保留配置升级,若需要保留配置,则可勾选“保持设置并保留当前配置( Keep settings and retain the current configuration )”选项,点击继续( Continue )进行升级。
iii. 升级过程中请勿将网关设备断电,可通过刷新访问web页面来验证网关是否升级成功;升级完成后,可正常访问网关web控制台,从菜单栏点击状态->概览(Status->Overview),在显示页面中固件版本处会显示当前版本号,从版本号可确认网关升级是否成功。(固件版本号及固件包名称)
b. 基于OneNet Studio平台的网关远程升级
i. 网关OTA平台侧操作方式,请见远程升级。
ii. 若网关对接至其他平台,或基于其他平台进行远程升级,请参考对应平台的相关操作文档,本文档只提供OneNet Studio平台操作方式作为样例。
iii. 网关OTA准备时,升级包类型和升级模块保持默认选择,升级包类型为完整包,升级模块类型为模组固件。
iv. 远程升级可同时升级MTK主控固件和RCP固件,也可单独升级二者之一,固件包是zip包,内部可包含网关的MTK主控模块固件和RCP通讯模块固件,以及一个升级脚本,升级脚本用于指示MTK执行对应的指令完成RCP和MTK的升级动作,依靠升级脚本可实现不同需求的升级任务。
v. 创建升级任务时,若勾选“平台下发通知”,平台会每隔5分钟向设备推送升级任务,然后设备会执行OTA任务。
vi. 若通过服务方式调用DoOTA服务,网关在线时会立刻收到消息然后执行任务。
vii. 验证网关是否升级成功,可根据网关上报版本号进行对比验证,确认升级状态。
viii. 网关固件由和众提供和维护。
c. RCP固件升级
i. RCP升级是基于MCU Manager实现的串口升级,网关集成了hoo-dfu程序后,即可通过该程序利用命令行对RCP进行升级,远程升级功能中对RCP的升级能力也是基于此功能。
ii. 通过Xshell访问到网关shell命令行,可查看hoo-dfu命令的使用说明和参数,利用ftp等软件将RCP固件上传到网关,通过命令或硬件开关将MTK串口切换连接至RCP升级口,通过hoo-dfu程序指定好各配置项即可进行RCP固件升级。
iii. RCP默认升级设备口为/dev/ttyS1,注意:部分较老版本网关的硬件可能暂不支持该功能,同时固件版本较老未集成hoo-dfu功能时也无法使用,需要联系我们进行相应升级和设备替换。
7. OTBR基础功能展示
i. DK设备能够ping通互联网DNS服务器
DK设备通过Commission方式加入到Thread网络后,进入DK命令行,通过命令net ping 64:ff9b::8.8.8.8进行外网联通测试,因为OpenThread网络支持ipv6,ping ipv4地址时需要通过tayga64将ipv4地址转换为ipv6地址;
因此需要在ipv4地址前加入tayga64的前缀64:ff9b::,该前缀还可改用2001::,但需要在网关侧修改相应配置才能使用。
注意:64:ff9b::前缀只能用于转换公网ip无法转换局域网ip,2001::则同时支持,目前网关内配置仍采用Google otbr-posix所默认使用的64:ff9b::前缀。
除net ping命令外,ot ping命令可实现相同效果。
ii. Thread网络内的设备互相ping通设备加入Thread网络后,终端通过ot ping或者net ping命令均可对同一Thread网络中的设备同网段ip进行ping操作,网关可直接通过ping命令执行相同操作。
终端ping网关
网关ping终端
终端ping终端