12月26日,华为消费者BG软件部开源中心与51CTO Harmony OS技术社区携手,共同主办了主题为“Harmony OS 应用开发落地实践”的 Harmony Go 技术沙龙。

作为HarmonyOS 2.0 手机开发者 Beta 版发布后的首场技术沙龙,本次活动邀请了旗点科技创始人连志安、美的HarmonyOS FA开发负责人梁振华、Harmony OS课程开发者孙洋、宝宝巴士资深架构师杨清山、安徽微游互娱CTO张志斌几位不同领域的业内专家,围绕Harmony OS应用开发,为开发者答疑解惑。

基于HarmonyOS,打造智能安防系统

HarmonyOS是面向万物互联而诞生的系统,它不仅可以运行在手机上,也可以运行在较小型设备上,比如智能手环、安防报警器等。基于HarmonyOS多端适用的特性,旗点科技创始人连志安老师带来一个与狄泰软件学院创始人唐佐林老师共同开发的安防场景应用项目,并做了详细的技术解读。

这个基于HarmonyOS的安防项目具有完整性、统一性、可扩展性和开源的特点,后续还可以在此基础上开发增加一些其他场景,扩展出一些新的功能。

旗点科技创始人连志安老师

整个安防项目系统的架构设计包括无线传感器、无线模块、HarmonyOS设备、HarmonyOS应用、局域网和云服务。无线传感器负责收集数据,然后通过无线模块将数据传递到HarmonyOS设备;HarmonyOS设备可以通过局域网或者云服务与HarmonyOS应用进行通信。这样便形成一条从传感器到HarmonyOS应用的通信链路。

在此链路下,系统状态主要分工作状态和警报状态两种。工作状态下整个系统会进入一个高等级的戒备,当主人不在家时,门窗传感器被触发,系统便会发出报警,并通过手机应用做提醒,这是布防状态。但是如果主人在家时,系统便会进入一种低等级的撤防状态,即使传感器被触发,系统也不会给发出报警。

整个安防系统中HarmonyOS 应用和HarmonyOS设备的交互主要分为四大流程:

● 首先是设备发现流程:让HarmonyOS应用去发现HarmonyOS设备;

● 其次是设备上报流程:HarmonyOS设备能够把数据上传到HarmonyOS应用上;

● 第三是设备控制流程:HarmonyOS应用能够控制系统中的设备;

● 最后是应答流程:应用和设备间发送的数据和指令可以相互应答,保证通信完整。

为了满足系统的应用场景,系统中用TLV协议作为通信协议。它的数据格式主要分为三大部分,第一部分是协议标题,大概有12个字节,往下是数据长度,占了4个字节,接下来是数据内容。数据内容采用了JSON的数据格式。

设备发现流程主要是分为两种情况,在HarmonyOS应用没有设备信息时,它会在局域网对外发送一个广播,然后HarmonyOS设备收到广播后,会把设备ID和一些相关信息返回给应用,最后应用去发动一个连接的请求,设备这边响应请求。如果HarmonyOS应用有设备信息时,它就可以直接发送请求,设备做相应的应答即可。

设备上报流程也很简单,设备上报一个JSON字段的数据解析给到应用,应用做相应的应答即可。通过应用还可以控制系统中的设备,例如控制灯的打开和关闭。

在整个安防系统中,设备开发有三个比较重要的点。一个是无线技术,保证HarmonyOS设备可以和无线传感器进行通信;第二个是传感器,例如烟感、红外等;第三是网络通信能力,让设备和应用进行通信。

设备开发流程分为设备启动并初始化,初始化后创建串口线程和网络线程。串口线程的作用是和无线模块进行通信,判断传感器的类型,然后把传感器信息上报给应用。网络线程主要是接收应用发来的数据,读取网络数据,然后解析数据格式,执行相应的指令。

应用开发流程主要分为UI界面和后台服务两个路线。UI界面包括日志存储、系统的状态和设置功能。后台服务包括网络通信和后台通知功能

方便快捷,一碰开启智慧生活

HarmonyOS是面向未来的分布式系统,同一套系统能力即可适配多种终端形式。例如手机、智慧屏、车机、手表等。在未来的智慧生活中,用户与物联网设备间的交互也会更加的简洁高效。本次沙龙上,美的HarmonyOS FA开发负责人梁振华分享了基于Harmony OS开发物联网产品的经验。

目前Harmony应用分为FA和PA,使用装有HarmonyOS模组的美的设备时,通过 HarmonyOS的NFC贴入口,即可下载HarmonyOS FA,然后打开进行设备的控制和配网。

美的HarmonyOS FA开发负责人梁振华老师

配网模式有NAN模式配网和AP模式配网。为了让用户快速配网,美的和华为合作,开发了NAN秒配网控制的新模式,手机和设备一碰,即可实现配网,并且通过配网通道,正在配网的过程中就已经能够对设备进行控制。而AP模式配网需要通过WiFi进行点对点的控制,配上网之后才能进行控制。

分布式助力,实现多设备联动

分布式软总线是HarmonyOS的一大特性,基于这一特点,Harmony OS课程开发者孙洋为开发者分享了多设备联动的开发案例。

Harmony OS课程开发者孙洋老师

在这个案例中,分布式软总线主要体现有三方面,第一方面是硬件虚拟化,第二方面是分布式调度,第三方面是音乐播放器demo。硬件虚拟化是概念性的东西,实现起来需要一定的技术手段。而利用分布式调度这个技术,便可以把各个设备连接在一起,形成一个虚拟的超级终端。

分布式软总线不仅把物理上隔离的各个设备连接在一起,而且还保证了传输速度,打破PCB板上的硬件能力约束。本案例中的两部手机可看作设备A和设备B,开发者在应用层进行开发,调用底层分布式硬件的虚拟化接口,便可实现设备A控制设备B的能力。

跨屏互动,增加亲子交流

HarmonyOS的分布式特性,不仅会让智能家居操作简单,还可让教育场景中融入亲子互动。宝宝巴士资深架构师杨清山从亲子互动的角度切入,为开发者分享了基于HarmonyOS分布式能力的跨屏互动案例。

本案例中利用HarmonyOS分布式特性,将多个设备连接起来,这里采用的组网方式是二维码进行组网,首先在大屏上生成二维码,然后手机扫描连接。技术上只需引入一个包,然后初始化数据模型,即可创建类似的服务端和客户端操作。

宝宝巴士资深架构师杨清山老师

10分钟开发一个分歧终端机

在家居、教育后,HarmonyOS的分布式特性还可运用在娱乐上,这次微游互娱CTO张志斌分享的分布式分歧终端机游戏案例便是基于HarmonyOS的分布式特性上开发。分布式分歧终端机主要包含游戏的输入、游戏的数据和游戏的状态功能模块。游戏的状态包括加入和退出、获取玩家的输入、显示游戏的数据和状态。

微游互娱CTO张志斌老师

HarmonyOS中提供了一个RemoteObject的接口和对象,通过这个对象对传输的请求码和输入参数封装,来保证两个模块间的通信。以此来解决数据传输过程存在的问题。在HarmonyOS中,当你创建调用connect Ability时,想要连接的设备就会先建立起调取的动作, 然后再去创建这个连接,达到自动调取和连接的一个步骤。

这是分布式技术一个比较有趣的设定,其实HarmonyOS已经把连接做到系统层面了,我们开发调取时,只需考虑应用层面的问题。应用层面需要考虑的是系统当前环境下面有多少设备,需要进行怎样的交互。

所以基于分布式软总线,我们可以去添加连接多个设备,只要它能够连进去,这便不需要我们再额外进行任何开发的工作量。

沙龙现场特别设置了有奖问答和调研等多个互动活动,一方面收集开发者的意见建议,另一方面也引导大家学习现场各位老师分享的精华内容。此外,开发者们还可以随时登陆51CTO HarmonyOS技术社区学习老师们更多精彩的课程。

本次沙龙是Harmony Go全国技术沙龙巡展第二站,也是2020年社区线下活动的收官之作,2021年,Harmony Go将走进上海、南京、广州等多座城市,继续与开发者面对面交流HarmonyOS开发经验,输送有深度、有干货的HarmonyOS技术新知。

社区近期免费公开课-火热报名中:

1月7日 20:00-22:00 使用python进行鸿蒙设备开发

1月9日 20:00-22:00 在HarmonyOS系统上开发个更好玩的“抖音”

1月14日 20:00-22:00 HarmonyOS组件的分布式适配和应用畅想

1月16日 20:00-22:00 HarmonyOS实现无云端家人协同记账

鸿蒙HarmonyOS应用开发落地实践,Harmony Go 技术沙龙落地北京的更多相关文章

  1. 最全华为鸿蒙 HarmonyOS 开发资料汇总

    开发 本示例基于 OpenHarmony 下的 JavaScript UI 框架,进行项目目录解读,JS FA.常用和自定义组件.用户交互.JS 动画的实现,通过本示例可以基本了解和学习到 JavaS ...

  2. Dubbo Mesh 在闲鱼生产环境中的落地实践

    本文作者至简曾在 2018 QCon 上海站以<Service Mesh 的本质.价值和应用探索>为题做了一次分享,其中谈到了 Dubbo Mesh 的整体发展思路是“借力开源.反哺开源” ...

  3. [转载]DevOps在传统企业的落地实践及案例分享

    内容来源:2017年6月10日,优维科技高级解决方案架构师黄星玲在“DevOps&SRE 超越传统运维之道”进行<DevOps在传统企业的落地实践及案例分享>演讲分享.IT 大咖说 ...

  4. DEVOPS落地实践分享

    DEVOPS落地实践分享 转载本文需注明出处:微信公众号EAWorld,违者必究. 引言: DevOps的理念已经说了很多年,其带来的价值逐渐被接受,很多企业也逐渐引入了DevOps.目前普元DevO ...

  5. SpringCloud落地实践

    这几年微服务架构越来越火.伴随着微服务概念的提示,越来越多的组织为了方便开发,结合实际提供很多微服务机构, 之前工作中一直使用dubbo作为微服务框架, dubbo只是专注于服务之间的通讯,所以更灵活 ...

  6. python coding style guide 的高速落地实践

    python coding style guide 的高速落地实践 机器和人各有所长,如coding style检查这样的可自己主动化的工作理应交给机器去完毕,故发此文帮助你在几分钟内实现coding ...

  7. python coding style guide 的快速落地实践——业内python 编码风格就pep8和谷歌可以认作标准

    python coding style guide 的快速落地实践 机器和人各有所长,如coding style检查这种可自动化的工作理应交给机器去完成,故发此文帮助你在几分钟内实现coding st ...

  8. 手把手带你体验鸿蒙 harmonyOS

    wNlRGd.png 前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 GIthub 博客 学习导图 image.png 一.为什么要尝鲜 harmonyos? wNlfx ...

  9. 鸿蒙的js开发模式19:鸿蒙手机下载python服务器端文件的实现

    目录:1.承接上篇鸿蒙客户端上传文件2.域名通过内网穿透工具3.python服务器端代码4.鸿蒙手机的界面和业务逻辑5.<鸿蒙的js开发模式>系列文章合集 1.承接上篇鸿蒙客户端上传文件, ...

随机推荐

  1. Python函数的关键字参数

    除了位置参数的函数参数使用方式,还有一种在函数调用时指定形参等于指定实参的参数使用模式,该模式称为关键字参数.关键字参数使用可以不按形参的顺序传递实参,系统按形参的名字确认实参传递给哪个参数. 具体内 ...

  2. Python文件操作函数os.open、io.open、内置函数open之间的关系

    Python提供了多种文件操作方式,这里简单介绍os.open.io.open.内置函数open之间的关系: 一.内置函数open和io.open实际上是同一个函数,后者是前者的别名: 二.os.op ...

  3. apache、nginx、Tomcat、IIS引擎解析漏洞

                                            引擎解析漏洞 常见的web容器有IIS.Apache.Nginx.Tomcat等,以下是详细讲解 IIS IIS简介 是 ...

  4. THE BUG 队第一次团队项目作业

    队名: THE BUG 队 2.队员学号: 杨梓琦 3118005115(队长) 温海源,3118005109 陈杰才,3118005089 李华,3118005097 钟明康,3118005123 ...

  5. CF1320 Div1 D.Reachable Strings 题解

    题目大意 给定一个长为\(n\)的01串\(S\),每次你可以对一个串的三个连续位置做:\(011 \rightarrow 110\),\(110 \rightarrow 011\)的操作. 有\(q ...

  6. Feign使用注意事项

    使用Feign时,为了不写重复代码,需要写feign公共接口方便调用,这时候需要注意以下问题,以发邮件为例 定义公共接口 /** * @author liuyalong * @date 2020/10 ...

  7. 【面试专栏】JAVA CAS(Conmpare And Swap)原理

    1. CAS简介   在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令.它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新 ...

  8. 【PY从0到1】第三节 列表

    # 3 列表 # 1> 下面这就是一个列表 aabbccdd = ['ee','ff','gg'] # 列表可以储存数据,包含其中元素可以有很多,是可修改.有次序的. # 下面展示一下两套索引. ...

  9. ES6新增数据类型Symbol

    Symbol的含义? ES6(2015) 引入了第七种原始数据类型Symbol,Symbol英文文意思为 符号.象征.标记.记号,在 js 中更确切的翻译应该为独一无二的 Symbol的使用? Sym ...

  10. 移动端 Swiper

    一.什么是swiper 开源.免费.强大的触摸滑动插件 Swiper常用于移动端网站的内容触摸滑动 Swiper能实现触屏焦点图.触屏Tab切换.触屏多图切换等常用效果 #二.如何使用 1.首先加载插 ...