玩嗨 OpenHarmony:自己动手做智能扫地机

玩嗨 OpenHarmony:自己动手做智能扫地机

有人说OpenHarmony玩不起来,今天小编向大家介绍下如何用OpenHarmony做台智能扫地机。

第一印象

话不多说,直接上货!


第一眼是不是被这双深邃的大眼睛给震慑住了?这是两个超声波传感器。给OpenHarmony智能扫地机装上这对大眼睛后,通过超声波传感器,传回正前方障碍与智能扫地机的距离信息,配合电机控制,避开障碍物。有了超声波视力的它,不会一头撞上墙壁。

不仅仅是这对超声波传感器,前面的好像两只脚的是红外传感器。通过红外对管(发射管和接收管)收发反射回收情况,来判定前方是平行地面,还是悬空状态,再配合两轮运动控制,避免小车跌落。所以,有了红外视力的它,也不会直接摔下台阶。

当然,有了这两种传感器,只要你脑洞足够,它还玩出很多花样。

正面看还挺萌的,从上面看,再放到手机边上,发现其实还是挺小巧的Demo。

基本工作原理

前面仅提到了智能扫地机的基本长相。这是一个采用润和的智能小车套件为硬件模型的Demo,通过修改代码具备了:

  1. 扫地机器人简易的避障功能及防跌落功能
  2. 能通过碰一碰的方式自动Wi-Fi配网
  3. 连接数字管家应用场景:智能扫地机不仅能接收数字管家应用下发的指令启动或停止扫地
  4. 加入到数字管家的日程管理中。通过日程可以设定智能扫地机启动的时间段,使其在特定的时间段内,智能扫地机自动启动或者停止。

所以这个Demo不仅仅是端侧的运作,还牵扯了端云协同,和多终端设备协同。大致的工作原理如下:

整体方案原理图可以大致分成:智能扫地机、数字管家应用、云平台三部分。智能扫地机通过MQTT协议(编者注:MQTT是Message Queuing Telemetry Transport,消息队列遥测传输协议的英文缩写,是基于TCP/IP协议栈构建的异步通信消息协议,是一种轻量级的发布、订阅信息传输协议。)连接华为IoT物联网平台,从而实现命令的接收和属性上报。

关于智能设备接入华为云IoT平台的详细细节可以参考如下《连接IoT云平台指南》链接:

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/iot_huawei/README.md

智能设备同数字管家应用之间的设备模型定义可以参考如下《数字管家智能扫地机设备profile定义说明》链接:

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/profile/%E6%99%BA%E8%83%BD%E6%89%AB%E5%9C%B0%E6%9C%BAprofile%E5%AE%9A%E4%B9%89.md

快速上手

第一步:获取硬件

:你可以从如下的链接购买到Pegasus智能小车开发套件硬件包:

https://developer.huawei.com/consumer/cn/market/prod-detail?productId=a30cd0c716234e07adefab369742928b

硬件清单如下:

当然,你还需要一台支持OpenHarmony的手机(比如预装Harmony OS的华为手机),才能去体验NFC碰一碰和数字管家和日程管理。

第二步:软件编程

关于Linux编译服务器基础环境以及OpenHarmony 编译Hi3861 平台特有的开发环境的准备,这里不再赘述,请参见如下链接获取详细帮助:

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/docs/smart_cleaner

设备侧的代码下载请通过如下具体仓库地址:

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/

写在最后

我们最近正带着大家玩嗨OpenHarmony。如果你有好玩的东东,欢迎投稿,让我们一起嗨起来!有点子,有想法,有Demo,立刻联系我们:

合作邮箱:zzliang@atomsource.org