玩嗨 OpenHarmony:自己动手做智能扫地机
有人说OpenHarmony玩不起来,今天小编向大家介绍下如何用OpenHarmony做台智能扫地机。
第一印象
话不多说,直接上货!
第一眼是不是被这双深邃的大眼睛给震慑住了?这是两个超声波传感器。给OpenHarmony智能扫地机装上这对大眼睛后,通过超声波传感器,传回正前方障碍与智能扫地机的距离信息,配合电机控制,避开障碍物。有了超声波视力的它,不会一头撞上墙壁。
不仅仅是这对超声波传感器,前面的好像两只脚的是红外传感器。通过红外对管(发射管和接收管)收发反射回收情况,来判定前方是平行地面,还是悬空状态,再配合两轮运动控制,避免小车跌落。所以,有了红外视力的它,也不会直接摔下台阶。
当然,有了这两种传感器,只要你脑洞足够,它还玩出很多花样。
正面看还挺萌的,从上面看,再放到手机边上,发现其实还是挺小巧的Demo。
基本工作原理
前面仅提到了智能扫地机的基本长相。这是一个采用润和的智能小车套件为硬件模型的Demo,通过修改代码具备了:
- 扫地机器人简易的避障功能及防跌落功能
- 能通过碰一碰的方式自动Wi-Fi配网
- 连接数字管家应用场景:智能扫地机不仅能接收数字管家应用下发的指令启动或停止扫地
- 加入到数字管家的日程管理中。通过日程可以设定智能扫地机启动的时间段,使其在特定的时间段内,智能扫地机自动启动或者停止。
所以这个Demo不仅仅是端侧的运作,还牵扯了端云协同,和多终端设备协同。大致的工作原理如下:
整体方案原理图可以大致分成:智能扫地机、数字管家应用、云平台三部分。智能扫地机通过MQTT协议(编者注:MQTT是Message Queuing Telemetry Transport,消息队列遥测传输协议的英文缩写,是基于TCP/IP协议栈构建的异步通信消息协议,是一种轻量级的发布、订阅信息传输协议。)连接华为IoT物联网平台,从而实现命令的接收和属性上报。
关于智能设备接入华为云IoT平台的详细细节可以参考如下《连接IoT云平台指南》链接:
智能设备同数字管家应用之间的设备模型定义可以参考如下《数字管家智能扫地机设备profile定义说明》链接:
快速上手
第一步:获取硬件
:你可以从如下的链接购买到Pegasus智能小车开发套件硬件包:
硬件清单如下:
当然,你还需要一台支持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