这里聊聊扫地机的 IOT 开发

由于嵌入式设备的使用场景有着很大的差异,比如设备除了需要访问专门的 IOT 云服务,有的方案商还会提供一些特殊的内置服务进而需要设备能访问其它的网络服务(比如让设备贴心地播放天气预报,那么就需要能访问天气预报服务以获取天气数据。除了这个小功能,你的想象力还惦记着什么呢?欢迎留言!)。

另外,如果生产商对嵌入式设备的成本很敏感,那么在硬件投入上还是省着点吧,毕竟功能的多少还是以硬件为基础的。除了必要的云服务(与APP互联互通的 IOT 云服务)之外,其它功能也不作硬性要求了,那么联网的硬件是不是可以作出一些牺牲,比如专门面向特定的 IOT 云服务,甚至于只接入某个云服务商。

基于目前的使用需求,wifi 模块,可以分为普通 wifi 模组和嵌入式 wifi 模组。

普通 wifi 模组的特点是不内置 wifi 协议和驱动,一般通过 USB 或者 SDIO 等接口和设备主控芯片连接。设备的主控芯片需要支持 wifi 协议栈和驱动,性能要求比较高,通常选择通用性 CPU,因而业务开发更灵活,方便于拓展丰富的应用领域。这种配置,你的想象力可大可小,千万别辜负了。

嵌入式 wifi 模组的特点就是内置了 WiFi 协议和驱动,一般通过专用协议串口等接口和设备主控芯片连接。设备的主控芯片,性能要求不高,通常选择 MCU,便于降成本,但是业务场景相对受限。这种配置下,你的设备能访问什么服务,完全看 wifi 模块提供商的配置。

并不是所有 IOT 云服务商都支持上面的两种 wifi 模组,只有部分 IOT 云服务商会同时支持。理论上所有的 IOT 云服务商都支持普通的 wifi 模组连接,而提供了嵌入式 wifi 模块的服务商,已知的有涂鸦和华为 HI-LINK 等。

说说云平台的后台配置


开发扫地机设备端的联网任务,除了硬件上的投入之外,还需要做一些和云平台后台有关的事情。

目前国内主流的 IOT 云服务商有涂鸦智能云、阿里生活物联网、亚马逊 AWS、华为 HI-LINK 等。这其中接入门槛最低的要数涂鸦智能云吧,因为它不仅提供了廉价的云服务,还有现成的公共APP,所以终端机器运营商如果考虑成本的因素还可以免去开发自己APP,就算初次开发APP也能使用云服务商提供的 SDK(开发套件)快速推出成品APP。

要声明的是每个云服务商的具体开发流程和有关术语会有差异,可以翻照具体的云平台提供的开发文档指引。

这里介绍一下通用的流程:

1. 选择 IOT 云服务平台

可以针对自己的需求选择最合适的云服务供应商,如果你自己是有扫地机设备开发团队的,但是APP开发的投入想省掉,那就选涂鸦吧,上文已介绍原因。如果你没有扫地机设备开发团队,扫地机的开发任务是交给方案商去做的话,建议选择阿里生活物联网,这个平台的互联网基因大家都是知道的,开发调试会非常方便(作为曾经在某个方案商呆过,这是真心话。题外话:有没有人喜欢玩真心话大冒险?)。除了开发的因素,还要考虑成本价格,一般收费的原则是按照单个接入设备一次性收费。

是的,还有很多平台可以选择,各位老板自己喜欢吧。

2. 注册开发者账号

登录 IOT 云服务平台的网站,用公司的名义注册个主体账号。如果你需要授权该账号的权限给开发人员或者方案商,可以查看一下该平台是否支持产品开发的权限授权。

3. 创建产品

各平台都提供了创建产品的模板,选择一个类型和扫地机业务类似或者匹配的模板。这一步会自动生成一个 product_id,后边有提到。

4. 配置功能

IOT 云平台配置功能都是通过 物模型 清单来实现。为了直观说明,下面展示涂鸦平台的一个扫地机物模型例子给大家看看:

DP ID功能点名称标识符数据传输类型数据类型功能点属性
1电源开关power可下发可上报(rw)bool
2清扫开关switch_go可下发可上报(rw)bool
3清扫模式mode可下发可上报(rw)enum枚举值: standby, random, smart, wall_follow, mop, spiral, left_spiral, right_spiral, right_bow, left_bow, partial_bow, chargego
5工作状态status只上报(ro)enum枚举值: standby, smart_clean, wall_clean, spot_clean, mop_clean, goto_charge, charging, charge_done, paused, cleaning, sleep
13寻找机器seek可下发可上报(rw)bool
101清扫clean_switch可下发可上报(rw)bool
102暂停pause_switch可下发可上报(rw)bool
103回充charge_switch可下发可上报(rw)bool
104清扫模式:clean_mode可下发可上报(rw)enum枚举值: smart, pose, zone, backcharge, curpointing, selectroom, null
105当前状态:robot_state可下发可上报(rw)enum枚举值: idle, pointing, areaing, totaling, sweep, mop, fault, pause, chargring, tocharge, fullcharge, remotectl, dormant, curpointing, selectroom, chargingwash, dusting, selfclean
106剩余电量battery可下发可上报(rw)value“数值范围: 0-100, 间距: 1, 倍数: 0, 单位: %”
107清扫时间cur_clean_time可下发可上报(rw)value“数值范围: 0-2147483647, 间距: 1, 倍数: 0, 单位: 秒”
108清扫面积cur_clean_area可下发可上报(rw)value"数值范围: 0-2147483647, 间距: 1, 倍数: 0, 单位: "
109吸力fan_mode可下发可上报(rw)enum枚举值: quiet, auto, strong, max
110水量设置water_mode可下发可上报(rw)enum枚举值: low, mid, high

可以看到首先需要建立一个 DP 点(对应着一个功能),然后命名功能点对应的名称,并且有对应的功能标识符,定义可读可写的数据传输类型(对于云端而言),定义当前功能的数据类型,以及具体的枚举值或者数值范围等。

5. 购买联网许可

扫地机在联网时,需要凭证云平台提供的 liscense 才可以顺利使用该平台的信息交互服务。用账号登录平台就可以申购对应设备数量的 liscense,然后在生产的时候把 liscense 烧录进机器。用户把扫地机带回家里后,在使用APP成功控制机器之前,需要按照使用说明书的指引触发扫地机进入配网模式,然后按照APP的配网流程把机器绑定到云平台。机器能否成功绑定,首先是扫地机需要通过蓝牙或者wifi的AP热点模式直连手机从APP获取到家庭的路由器 wifi 名和密码,然后通过家庭网络把机器内部存下来的 liscense 发给云平台校验并获取授权通过。

在开发阶段,一般平台会提供一定数量的免费 liscense 用于调试设备,需要在平台上面申请。这个 liscense 在有的平台也会称呼为三元组,一般包含有代表产品的 product_id,代表设备唯一识别码的 UUID 或者 MAC,和代表设备授权的键值 author_key。product_id 在前面的创建产品时就已生成,后边的两项信息只会在购买 liscense 成功后才可以看到。

6. 调试功能

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值