当前位置:首页 >百科 >基于OpenHarmomny的智能门锁简介 在上述的1.3中可以获取组件

基于OpenHarmomny的智能门锁简介 在上述的1.3中可以获取组件

2024-06-30 21:00:24 [百科] 来源:避面尹邢网

基于OpenHarmomny的基于介智能门锁简介

作者:netXeyes 系统 OpenHarmony 本项目的场景是智能家居。通过Openharmony源码与hi3861开发板进行智能门锁的锁简项目开发。最后可以通过舵机进行开关锁与通过手机的基于介数字管家进行密码解锁。

​​想了解更多关于开源的锁简内容,请访问:​​

基于OpenHarmomny的智能门锁简介 在上述的1.3中可以获取组件

​​51CTO 开源基础软件社区​​

基于OpenHarmomny的智能门锁简介 在上述的1.3中可以获取组件

​​https://ost.51cto.com​​

基于OpenHarmomny的智能门锁简介 在上述的1.3中可以获取组件

一、基于介项目简介

1、锁简项目描述

本项目的基于介场景是智能家居。通过openharmony源码与hi3861开发板进行智能门锁的锁简项目开发。最后可以通过舵机进行开关锁与通过手机的基于介数字管家进行密码解锁。

2、锁简技术要求

  1. 掌握C,基于介 JS, Java语言
  2. 掌握原子化服务原理(Fa ability)
  3. 熟悉 Git 等代码版本管理工具
  4. 熟悉OpenHarmony的设备端开发,包括构建系统。锁简
  5. 熟悉IoT物联网协议(MQTT)
  6. 熟悉VS code与Deveco studo软件

3、基于介资源获取

  1. 在Gitee上获取openharmony源码(本次案例用3.0版本作为演示)
  2. 在Gitee上获取MQTT协议与VS code的锁简编译工具组件
  3. 操作系统Ubuntu华为云中国镜像
    https://www.huaweicloud.com/theme/77291-1-U

二、环境搭建

1、基于介软件准备

从华为开发者联盟下载开发软件

VS code:https://device.harmonyos.com/cn/develop/ideDeveco:https://developer.harmonyos.com/cn/develop/deveco-studio
*端口驱动官网:http://www.wch.cn/downloads/CH341SER_EXE.html。
选择合适的驱动下载后通过USB线即可让板子成功与电脑连接(可以去设备管理器去看看这个驱动有没有安装成功。

2、环境介绍

操作系统:Ubuntu
编译构建:Python
包管理工具:HPM
NPM 环境:Node.js
Openharmony版本:3.0
USB串口驱动:CH341SER.exe
烧录软件:Hiburn
开发板:润和HI3861
华为硬件开发工具:
Visual Studio Code(DevEco Device Tool)

  1. 软件简介:华为把一个集成的硬件编制软件作为插件放在了这个代码编辑器里,里面包含代码编辑,编译,烧录等功能。是一个集成环境。
  2. 环境配置组件与软件插件:第一次下载软件后需要自行载入编译组件,在上述的1.3中可以获取组件。下载完通过点击VS code左侧的插件标识后在QUICK ACCESS/主界面/工程设置里点击<添加用户组件>即可添加。
    *在Ubuntu环境下的VS code目前只能通过快捷键复制粘贴地址或通过点击文件夹图标选择路径,不可以使用鼠标进行复制粘贴。
    *这里所载入的插件版本号与描述可以随意填,不影响正常使用。
  3. 必须的插件:C/C++,C/C++ GNU Global,Chinese (Simplified),CodeLLDB。
    推荐的插件:GN , Better C++ Syntax, CMake Tools, Remote – SSH。

上图为编译组件安装好的样子

华为系统开发工具:

Deveco Studio *手动在设置中下载SDK

三、协议移植

1、协议介绍

Mqtt是用于设备与服务器通讯的一种协议,使设备可以上报订阅下发信息。

2、协议移植

通过上述连接下载之后复制粘贴到openharmony的third part(第三方库)中。

3、验证成功

从开发板厂商官网下载实验demo进行实验。因为目前大多数厂商使用的都是openharmony 1.0代码作为演示,不同的源码版本在编译规则和文件名上都会不同,所以在下载的源码中的头文件吊起等也要修改才能接入mqtt协议。

Mqtt最重要要吊起的功能文件在

/home/open/Downloads/code-v3.0-LTS/OpenHarmony/third_party/pahomqtt/MQTTClient-C/src里,特别是liteOS中

基于OpenHarmomny的智能门锁简介-开源基础软件社区


上图为上报-订阅-下发 的原理图

四、解决方案

1、用户角度

在嵌入式设备开发这块先要考虑用户的操作界面(前端)才能考虑实现功能。

基于OpenHarmomny的智能门锁简介-开源基础软件社区

2、实现原理

  1. 交互流程:由智能门锁订阅的命令下发的主题经过代理服务器可下发到用户终端,用户终端就可收到通知。反之用户终端也可发送命令通过代理服务器到达智能门锁。
  2. 生命周期管理:对设备使用方的 RPC 对象进行管理,请求进行校验以及对更新后的进行回调处理。

3、解锁方案

1.交互流程:由智能门锁订阅的命令下发的主题经过代理服务器可下发到用户终端,用户终端就可收到通知。反之用户终端也可发送命令通过代理服务器到达智能门锁。
2.生命周期管理:对设备使用方的 RPC 对象进行管理,请求进行校验以及对更新后的进行回调处理。
1.无网解锁(可以通过WIFI,局域网WIFI AP TCP,蓝牙发送固定码进行连接):仅携带门禁卡:使用开发板上自带的NFC可以直接与手机NFC卡或实体门禁卡碰一碰解锁。
2.仅针对于NFC识别:非正确门禁卡则指示灯闪烁,正确门禁卡则亮五秒钟。
3.可使用 WIFI AP&TCP:或通过发送蓝牙固定码到服务端(门锁)。
4.WIFI TCP 实现:通过手机打开WIFI热点交换数据,建立一个TCP连接(给门禁锁进入一个新的局域网中)。
5.AP 实现:通过AP搭建桥梁,使在服务端没有连接(断开)默认WIFI的时候起到中继作用。(相当于给信号不好的WIFI一个中继,不适宜在完全断网时使用)
6.蓝牙开锁实现:使用蓝牙芯片使智能锁和手机实现时间同步与密码文传输,将手机蓝牙固定码发送到智能锁中,从而不通过WIFI与NFC就可以将该智能锁进行打开。在初始化蓝牙模块后进行串口发送。
7.云端:首先去华为云平台创建产品与定义模型(获取IP与端口),然后获取上报和下发的通信数据,随后云平台就会给出设备ID与密钥。(后面会详细介绍)

五、编译

1、进行编译即可(首先输入hb set)

基于OpenHarmomny的智能门锁简介-开源基础软件社区

选中此文件夹后进行编译(hb build)

Hb(命令行编译)编译与烧录

在Hb环境配置好之后所用到的命令:

hb set //产出config.json文件hb build //进行编译。

hb clean //删除config.json文件用于下次正常编译,不然会报错。

注意:在hb set后可通过上下键选择要编译的文件然后回车,选中后即可build。

基于OpenHarmomny的智能门锁简介-开源基础软件社区

另外还可以通过VS_code进行编译。

基于OpenHarmomny的智能门锁简介-开源基础软件社区

作为一款华为集成的硬件编程插件,里面是有编译与烧录功能的。

如果要进行编译首先要在PROJECT TASKS中点击build,同时在编译过程中在源码里会产生config.json文件。在源码修改之后需要点击clean去清除config.json,然后才能继续点击Build进行编译。编译成功后点击Upload烧录到开发板中。

​​想了解更多关于开源的内容,请访问:​​

​​51CTO 开源基础软件社区​​

​​https://ost.51cto.com​​

责任编辑:jianghua 来源: 51CTO 开源基础软件社区 智能家居项目开发

(责任编辑:时尚)

    推荐文章
    • 花呗是江苏银行批的嘛 用户不同意花呗服务升级会怎样?

      花呗是江苏银行批的嘛 用户不同意花呗服务升级会怎样?支付宝品牌隔离后,有不少人把花呗升级了变成花呗|信用购,其中信用购由江苏银行提供信贷服务,就会问花呗是江苏银行批的嘛?这里就来讨论下这个话题,看看花呗和信用购之间有什么区别和关联,感兴趣的朋友一起了解 ...[详细]
    • 分库分表实战:幸福的烦恼—流量大爆发啦!

      分库分表实战:幸福的烦恼—流量大爆发啦!分库分表实战:幸福的烦恼—流量大爆发啦!作者:石杉的架构笔记 2022-07-01 10:37:18数据库 其他数据库 对于数据库中的订单表而言,如果按照一天2万个订单数据量计算,一年也就七八百万的订 ...[详细]
    • 数据分析的七种武器

      数据分析的七种武器数据分析的七种武器作者:林骥 2021-07-16 09:55:46大数据 对于数据分析而言,我认为也有 7 种非常厉害的武器,它们分别对应的是:Excel、Tableau、SQL、SPSS、SAS、 ...[详细]
    • 为什么存储密码字符数组比字符串更合适?

      为什么存储密码字符数组比字符串更合适?为什么存储密码字符数组比字符串更合适?作者:佚名 2018-05-02 08:40:36存储 存储软件 因为任何可以访问内存的人能以明码的方式把密码dump出来。另外你还应该始终以加密而不是普通的文本 ...[详细]
    • 北交所11月13日开市通关测试 上市公司将达81家

      北交所11月13日开市通关测试 上市公司将达81家自官宣设立北京证券交易所(以下简称“北交所”)后,各项筹备工作紧锣密鼓,相关工作亦衔枚疾进。11月11日,北交所在官网发布通知表示,将于11月13日开展开市通关测试。伴随北交所 ...[详细]
    • 主存储优化将克服一系列挑战

      主存储优化将克服一系列挑战主存储优化将克服一系列挑战作者:James Alan Miller 2018-03-29 08:25:54存储 存储软件 用于存储应用程序和活跃数据的主存储是数据中心的重要设备,并成为了日常业务流程。 ...[详细]
    • 电竞显示器只认刷新率?你可能走进了误区

      电竞显示器只认刷新率?你可能走进了误区电竞显示器只认刷新率?你可能走进了误区作者:赵华铭 2018-08-16 11:03:22商务办公 很多朋友在选购电竞显示器的时候只关注刷新率,认为高刷新率一定比低刷新率的要好,比如165Hz比144 ...[详细]
    • 京东618预热开启 哪些数码产品值得入手?

      京东618预热开启 哪些数码产品值得入手?随着京东618狂欢的临近,京东已经开启了一系列数码产品的抢购与优惠活动,优惠的方式也多种多样,白条免息、低价抢购、赠送服务等等,覆盖的品类也十分多样。在近日的京东618优惠活动中,有哪些产品值得关注和 ...[详细]
    • 汇率变动对股价的影响的有哪些 主要表现是什么?

      汇率变动对股价的影响的有哪些  主要表现是什么?外汇行情与股价有密切的联系。一般来说,如果一国的货币是实行升值的基本方针,股价便会上涨,一旦其货币贬值,股价即随之下跌。所以外汇的行情会带给股市以很大的影响。在当代国际贸易迅速发展的潮流中,汇率对一国 ...[详细]
    • 让我们一起告别 TCP!

      让我们一起告别 TCP!让我们一起告别 TCP!作者:小林coding 2022-03-08 17:52:58网络 通信技术 大家这时就奇怪了问:“ UDP 也是基于 IP 层的呀,那 UDP 的数据长度也可以通过这个公式计 ...[详细]
    热点阅读