【 安信可海思Hi-12F模组】AT指令入门教程 && 接入鸿蒙智联 ...

打印 上一主题 下一主题

主题 637|帖子 637|积分 1911

文章目录



一、前言

Hi-12F模组搭载华为海思Hi3861芯片,目前已过HarmonyOS Connect生态模组认证!目前安信可已开发出一套AT固件,使用安信可AT固件有以下优势:

  • 可使用华为公版智慧生活App对设备进行控制;
  • 避免二次开发时有可能引入新Bug的风险,导致后期认证不可控;
  • 标准模组固件认证可继承,整机测试用例免测,上线周期更短!
二、创建产品

开发者在进行开发前需要在 Device Partner 平台创建产品,并注册一系列基础信息,包括:设备品类 ID、厂商英文简称,并完成功能定义。
产品信息注册网址:
https://devicepartner.huawei.com/console/home
产品定义参考文档:
https://developer.huawei.com/consumer/cn/doc/development/SmartDevicePartnerGuides/product-definition-0000001134540425

根据自己的产品信息填入

通信模组选择博安通Hi-12F


系统类型选择轻量系统

根据自己的需求设置UI界面

添加调试设备

设备SN录入模组的大写不带冒号的MAC地址并保存。测试设备必须录入设备mac地址,否则无法绑定。模组的mac地址用指令AT+MAC?查询

设置模组热点ssid

固件检查与帮助

HiLink SDK版本选择12.0.0.303
下载产品信息表到本地

下载到本地用记事本打开即可

三、产品信息配置

3.1 AT+SYSVER 设置产品系统信息

AT+SYSVER=< buildOS>,< buildVerShow>,< sdkAPILevel>,< FirstAPILevel>,< ohos_version>
参数说明:
< buildOS>:操作系统和操作系统版本号,中间用“-”连接。最长64个字符;
< buildVer>:用户可见软件版本号,最长64个字符;
< sdkAPILevel>:系统软件API version,最长64个字符;
< FirstAPILevel>:系统软件首版本SDK API level,最长64个字符;
< ohos_version>:差异版本号,最长64个字符;
这条指令如果没有什么特别需求的话直接复制示例即可
  1. AT+SYSVER=OpenHarmony,OpenHarmony_release 1.1.0,3,1, OpenHarmony 1.0
复制代码
3.2 AT+SYSPRAM 配置产品详细信息

AT+SYSPARAM=< manufacture>,< brand>,< market_name>,< product_series>,< product_model>,< software_model>,< hardware_model>,< bootloader_version>,< security_patch_tag>,< abi_list>,< serial>
参数说明:
< manufacture>:企业英文名简称,最长 32 个字符;
< brand>:品牌英文名,最长 32 个字符;
< market_name>:产品名称(传播名),最长 32 个字符;
< product_series>:产品系列,最长 32 个字符;
< product_model>:产品型号,最长 32 个字符;
< software_model>:产品软件版本,最长 32 个字符;
< hardware_model>:产品硬件版本,最长 32 个字符;
< bootloader_version>:当前设备 Bootloader 版本号,最长 64 个字符;
< security_patch_tag>:安全补丁标签,最长 64 个字节;
< abi_list>:Native 接口列表,最长 64 个字符;
< serial>:设备序列号(只能使用 MAC 地址),保持唯一,最长64 个字符。
指令部分参数在产品信息表中的对应关系:

产品序列号用模组的mac地址,mac地址可用指令AT+MAC?获取,获取后统一转化为大写不带冒号的mac地址,如指令手册示例所示。其他参数可直接复制指令手册示例。
3.3 AT+SYSTOKEN 设置产品 token 参数信息

token生成方法见官网:
https://device.harmonyos.com/cn/docs/devicepartner/DevicePartner-Guides/device-authorization-0000001134626077
一个设备对应一个token。把生成的token直接复制到“AT+SYSTOKEN=”后面即可
3.4 AT+ACKEY 设置 ACKEY 信息

ACKEY 即产品信息表中的acKey

3.5 AT+PRODKEY 设置产品密钥

PRODKEY 即产品信息表中的prodKey

3.6 AT+DEVICE 配置产品基本信息,用于设备配网和设备注册

AT+DEVICE=< firmware_ver>,< software_ver>,< hardware_ver>,< product_id>,< device_type>,< manuafacturerID >,< device_model>,< device_type_name>,< manuafacturer_name>
参数说明:
< firmware_ver>:固件版本,最长 64 个字符;
< software_ver>:HiLink SDK 版本,最长 32 个字符;
< hardware_ver>:模组硬件版本,最长 32 个字符;
< product_id>:产品 ID,最长 5 字符;
< device_type>:产品类型 ID,最长 4 个字符;
< manuafacturerID>:厂商 ID,最长 4 个字符;
< device_model>:产品型号,最长 32 个字符;
< device_type_name>:设备类型名,和“集成开发环节”ssid 信息中保持一致;
< manuafacturer_name>:厂商名称,和“集成开发环节”ssid 信息中保持一致。
指令部分参数在产品信息表及Device Partner 控制台中的对应关系:

HiLink SDK版本选择12.0.0.303
3.7 AT+PROFILE设置系统能力

按照指令集示例即可
  1. AT+PROFILE=ROM:352K\,RAM:2M\,WIFI:true
复制代码
3.8 AT+SVCINFO 设置设备服务信息

下载profile

设置指令
AT+SVCINFO=< svc_info1>,< svc_info2>,…
参数说明:
< svc_info1>:使用键值对的格式输入,< ServiceType>:< sid >。
ServiceType对应priofile文件中的服务类型ServiceType,sid对应服务sid
如上图有两个服务,则指令形式为
  1. AT+SVCINFO=switch:switch,mode:colourMode
复制代码
设置完以上信息重启后生效
四、App设置

未认证产品不能直接用商用版本智慧生活App配网及控制,我们需要下载debug版本的智慧生活App

打开智慧生活App,进入设置->关于->环境设置,选择认证沙箱

添加设备

配好网后App如果提示未认证兼容性是否继续使用,我们点继续使用即可。如果App无法正常打开设备界面,需要重启下App。
五、设备控制

5.1 AT+GETSTATE 云端获取设备状态信息

AT+GETSTATE=< svc_id>,< payload>,< payload_len>
参数说明:
< svc_id>:物模型功能标识,最长 82 个字符;
< payload>:json 有效负载,最长 82 个字符;
< payload_len>:json 有效负载长度,最长 82 个字符。
设备上电联网成功或通过app控制,云平台会查询设备属性,查询命令为
  1. +COMMAND: GET_STATE, < svc_id>,< payload>,< payload_len>
复制代码
收到云端获取状态命令后,用户需要通过 AT+GETSTATE 指令回复(三秒内回复,如果没有回复,云端会一直获取属性)。
  示例
云端下发
  1. +COMMAND:GET_STATE,switch,(null),0
复制代码
表示云端需要获取switch的属性,用户需要在用AT+GETSTATE回复设备属性。

通过查询profile文件,我们找到switch这个服务sid对应的属性为on,取值范围为[0,1],这里以on取值为1为例,回复指令应为:
  1. AT+GETSTATE=switch,{"on":1},8
复制代码
5.2 AT+REPORT 上报设备状态信息

AT+REPORT=< svc_id>,< payload>,< payload_len>
参数说明:
< svc_id>:物模型功能标识,最长 82 个字符;
< payload>:json 有效负载,最长 82 个字符;
< payload_len>:json 有效负载长度,最长 82 个字符。
示例
设备上报开关状态为关闭。查询profile文件可知,开关这个服务sid为switch,对应的属性为on,则上报的指令应为:
  1. AT+REPORT =switch,{"on":0},8
复制代码
注意
指令AT+GETSTATE和AT+REPORT 类似但作用不同,AT+GETSTATE为云端获取设备状态,在
  1. +COMMAND: GET_STATE, < svc_id>,< payload>,< payload_len>
复制代码
后面调用;
AT+REPORT 为设备主动上报设备状态。
联系我们

官方官网:https://www.ai-thinker.com
开发DOCS:https://docs.ai-thinker.com
官方论坛:http://bbs.ai-thinker.com
技术支持:support@aithinker.com

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

数据人与超自然意识

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表