2278|4

157

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【国民技术N32WB452测评】+ 蓝牙OTA升级 [复制链接]

【国民技术N32WB452测评】+ 蓝牙OTA升级(成功篇)

 

前言:

 

上一篇由于硬件故障,仅做了理论分析和c语言方面剖析。

 

本篇主要介绍下Android源码,因为在此过程中APP应用也同样遇到很大的坎。个人以嵌入式软件开发为主,Android 软件只是学过。

Android源码架构

一、MainActivity.java

APP软件主函数,开机后第一个界面(也可以说是主页面)都和这个有关联,比如说跳转到其他界面也是由此跳转出去。像本工程搜索设备就是调用的弹窗界面,开始升级按键都在此文件当中进行处理。

 

1)用户权限参数,对应keil工程的admin

 

private String activeKey = "31D3492F3D962DA7";

uint8_t admin_pwd[20] = {0x31, 0xD3, 0x49, 0x2F, 0x3D, 0x96, 0x2D, 0xA7};//{1, 2, 3, 4, 5, 6, 7, 8};

 

2)搜索设备按键,调用手机蓝牙接口,在此环节上注意手机开启蓝牙即可。

 

SearchRequest request = new SearchRequest.Builder().searchBluetoothLeDevice(10000, 2).build();

 

搜索到相关设备后,手机app软件会显示MAC地址设备名称和SN序列号

 

const char ble_name[] = "WB452_OTA";

const char ble_addr[] = "11:22:33:FF:30:AA";

#define PRODUCE_SN  "AM1001D001001219"

 

3)压缩包解压,调用的此函数库,然而在此环境上对手机的系统版本有严格的要求,下文详细说明入坑说明。

 

fileList = ZipUtils.unzipFile(zipFile, folder);

 

App将之前的打包文件进行解压,解压成功将进行校验和升级,如果解压失败则跳出程序。

 

 4)校验升级文件

 

校验功能主要校验的是ver_info.json文件下的数据参数,如下所示:

 

{

    "binFile":"N32WB452_OTA_V101_2020619.bin",

    "Lockmodel":"TZ3HBN1",

    "HwVersion":"100",

    "FwVersion":"101",

"HwInfo":"040302060C02020301020102010102000000000000000000",

    "ImageSize":85112,

    "ImageCRC":41713,

    "CustomerCode": 14

}

 

keil工程编译后自动会出现这蓝色的这两个参数,然后将binFile替换下即可。详细的操作在keil工程当中。

 

       

二、activity_mian.xml

 

1)人机界面如图所示:

 

2)实际效果如图所示:

 

 

在design当中有多种插件,button、imageView、Text等等,在此模式下直接拖拽即可。

  1. 人机界面软件代码如图所示,可以设置各个控件的参数摆放位置等等

 

 

三、AndrodManifest.xml

 

用户权限申请和软件名称,在此申请了蓝牙功能解压功能等等。

 

 

四、NSLockSDK

 

此SDK应该是国民技术公司自己开发的一套软件。

 

大概的功能应该是.zip压缩包升级软件的校验,升级包的解析和发送升级包文件的主要程序。

 

还会涉及通信协议等进行二次开发的话需要详细的理解和解读。

 

 五、手机系统版本

 

官方提供《N32WB45x蓝牙手机兼容列表》,涉及99个手机各厂家都挺全的,但是都是几年前的手机版本了,现在手机android系统已经到了Androd12,而其提供的兼容性系统版本都是Android4.4.2-Android8.0.

 

·个人找了6个手机其中五个不再其中,系统版本较高,在软件解压环节就开始报错。

 

 高版本手机仿真效果。

 

 

兼容版本手机仿真的结果

 

六、Keil 编译升级包制作

 

1.Keil工程应该是已经加载了GetInfo.bat,他是用于生成升级文件信息的。

2.新建bin文件名同名的文件夹

3.将bin文件和ota_file压缩包内的ver_info.json一同复制到新建的文件夹当中

4.更改ver_info.json文件内容,将__OTA_FW_info.Txt的固件名称、校验码和文件长度复制并替换如图所示

 

5.将文件夹压缩,需要压缩成 .Zip文件格式

 

七、升级过程和升级结果

         

Android APP升级界面:图1 是同版本软件所以检测后提示无需升级。

图2之后是升级过程显示。

 

   

PC电脑端串口打印信息界面

八、APP源码

N32WB542门锁方案.rar (36.73 MB, 下载次数: 49)

 

 

 

此帖出自RF/无线论坛

最新回复

这个安卓APP是楼主自己写的?   详情 回复 发表于 2022-9-14 13:51
点赞 关注
 

回复
举报

6587

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

国民技术官网的资料好像不好整下来

此帖出自RF/无线论坛

点评

ftp 超文本传输吧   详情 回复 发表于 2022-9-14 17:34
 
 

回复

6773

帖子

2

TA的资源

版主

板凳
 

这个安卓APP是楼主自己写的?

此帖出自RF/无线论坛

点评

官方的 在官方找到的  详情 回复 发表于 2022-9-14 17:34
 
 
 

回复

157

帖子

0

TA的资源

一粒金砂(高级)

4
 
Jacktang 发表于 2022-9-14 07:21 国民技术官网的资料好像不好整下来

ftp 超文本传输吧 

此帖出自RF/无线论坛
 
 
 

回复

157

帖子

0

TA的资源

一粒金砂(高级)

5
 
wangerxian 发表于 2022-9-14 13:51 这个安卓APP是楼主自己写的?

官方的 在官方找到的

此帖出自RF/无线论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表