目标驱动的教程
本教程以目标为驱动,去除多余的细节,让机智云的小伙伴们,可以快速的搞定微信接入。好啦,我们开始吧! 为什么接入微信?微信有大量的用户 用户不愿意,为某个垂直领域的服务,单独装一个应用 微信有全平台的版本,开发一次,相当于开发多个应用
等等…… 正是这些好处,我们才会借助微信的力量。所以,我们将借助微信的两大体系: 用户体系(OpenId) 微信APP(AirKiss 和 内置浏览器)。
最终,我们希望用户,能像体验微信原生功能一样,使用我们的智能设备。 你有微信公众号?首先,我们需要申请微信公众号。 注意,不能申请订阅号(不支持微信认证)。我们将申请一个服务号,并且完成认证操作,然后才能开启“设备功能”模块,最后添加一个产品。 最终,你会得到两件装备: 当然,你也可以使用测试号,进行前期开发阶段的调试。 你得有台设备吧?微信接入前,需保证,设备能正常地与机智云进行通讯,设备的具体开发流程如下。 注意,在WIFI模块中,写入AirKiss时,需要配置公众号的原始ID。也就说,除了将机智云的product_key写入MCU以外,还需要将公众号原始ID写入WIFI固件中。关于固件的烧录,厂商或者小伙伴们如有困难,可以寻求机智云 · 客服MM的帮助。 设备二维码微信客户端APP可以通过扫描二维码添加设备。设备二维码相关信息请点击这里。设置内容如下: 设备授权设备不但要在WIFI固件中写入公众号原始ID(注意,不是APPID),还要将所有设备的Mac地址,登记到微信服务器上。一开始,微信只给你100个配额,也就是说,你只能授权100个设备。 授权的方法,就是向微信的接口,发送一次请求,具体请看微信文档-设备授权。 很多小伙伴反应,授权经常失败,我们这里给出一组基于WIFI通讯的示例,大家可以参考: 注意:12位xxxxxxxxxxxx,代表设备的Mac地址,id是指设备ID,也就是机智云的did。但因为设备必须在上线后,机智云才会分配一个did,所以,我们并无法预知did是什么。通常的做法是:将id和mac,都设置为设备的Mac值。 auth_key可以不填,设置为空字符串,但不能没有这个字段。 op_type为0时,表示添加一台设备,后面需要跟着product_id字段(产品ID,在公众号的“设备功能”中,添加产品后,会有这个id)。op_type为1时,表示更新一台设备,此时不需要product_id字段。 批量授权时,记得更新顶部的:device_num。 这样,我们硬件(设备)层面的准备工作,就完成啦。 阶段性成果好了,到这步,你可以稍微的奖励一下自己,享受一下阶段性的成果啦! 打开你的微信(确保是wifi链接状态),扫一扫你的产品二维码。 下面有两个按钮,绿色的按钮,是启动微信的AirKiss,将WIFI的账号密码,发送给设备的WIFI模块。 部分设备需要启动匹配模式,才能配置上网。一般先启动设备的匹配模式,再使用微信的配置功能。配置完成后,会自动跳转到设备搜索界面。 在搜索界面,如果前面准备工作到位了,你一定能发现设备(不管是否绑定过)。点击发现的设备,然后绑定。微信会自动跳转到公众号页面。然后,你可以在微信的设置页面中,发现多了一个项目:设备。 当然,上面的操作,只是实现绑定操作。下面的教程将介绍如何监控设备的数据点。 简化操作的SDK为了简化开发者的操作,我们将一些必要的API封装成了两个SDK: java-SDK 以及 js-SDK。它们分别用于后台和前端页面,各自封装了机智云的OpenAPI 以及 WebSocket。 这两个SDK,将大大的简化了API的操作,帮我们接管了token和用户管理,我们只需要调用相关方法,即可实现设备的绑定和解绑。 SDK,可以在本文的附件中下载。 业务服务器的搭建设备没问题了,我们现在需要的是,操控设备本身的功能。 由于设备已经与机智云正常的通讯,因此,对设备的操作,其实就是如何与机智云交互。 机智云设备绑定现在,用户已经在微信中绑定了设备,他希望看到,设备在线状态。怎么办? 我们使用微信的OpenId,作为唯一标识,生成匿名用户。什么时候注册匿名用户呢?微信绑定设备时候,将推送一条设备绑定事件消息到我们的业务服务器。我们在这个时候,将同时完成注册匿名用户,以及绑定用户/设备的操作。
|