在 5G 热潮的推动下,与其紧密结合的物联网(IoT)正日益成为个人和企业工作生活中的重要组成部分,它为企业和个人带来了操作流程的改进和更好的生活体验,随着人工智能(AI)技术的日趋成熟,IoT 与 AI 的结合愈发紧密,IoT 也被赋予了越来越多的能力和价值。

另一方面,小程序提供的蓝牙 BLE、Wi-Fi、iBeacon、NFC 等接口能力、“即开即用”和低门槛等优势,能帮助 IoT 开发者提高设备配网率、使用频次和实现设备分享功能,这让小程序参与到 IoT 流程中成为可能,在此基础之上,通过与云开发这一新的开发模式的整合,能让物联网开发更加的简单、易用。

由此,全球化“AI+IoT”平台涂鸦智能结合云开发,推出 Tuya-Weapp-CloudBase SDK,其包含涂鸦云平台的鉴权、接口分发,可以帮助开发者省去服务端的开发,也省去了“云-云”对接的步骤。通过 Tuya-Weapp-CloudBase SDK + 云开发,您可以灵活简便的开发出自有品牌的小程序,轻松实现对 Powered by Tuya 设备的控制与管理。

云开发是什么

云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等serverless化能力,可用于云端一体化开发多种端应用(小程序,公众号,Web 应用,Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。

产品文档:https://cloud.tencent.com/product/tcb

技术文档:https://cloudbase.net

让物联网开发更简单

基于 Tuya-weapp-cloudbase SDK,开发者可以通过简单的几行代码,就完成针对 IoT 设备的操作、设备的管理、数据的推送等十余种场景,让开发者开发小程序,变得更加简单。

使用攻略

一、获取 Tuya-Weapp-CloudBase SDK 授权

  1. 登录 涂鸦 IoT 工作台
  2. 点击 APP 工作台,选择 小程序 SDK
  3. 点击 创建小程序

4.输入小程序名称(和你的小程序同名)、小程序 AppID(可在微信小程序后台查看)、小程序描述、小程序 Icon,点击 确定。

创建成功之后,可以获取到专属于你应用的 Schema,AccessID,AppSecret。其中 Schema 用来标识一个你的应用(在这里就是表示你的小程序),而 AccessID 和 AppSecret 用来生成 token 信息。

二、启动示例项目

接下来,我们通过示例项目来体验 Tuya-Weapp-CloudBase SDK

1.代码准备

克隆项目代码

git clone https://github.com/TuyaInc/tuya-miniapp-demo.git

安装相关依赖

npm install

开启自动打包

npm run dev:weapp

2.小程序接入

启动微信开发工具,点击 导入项目,导入你的项目,如下图所示:

  1. 选择项目目录,填写你的 AppID,点击 导入,如下图所示:

小程序导入之后,会自动进入小程序的设备列表页,如果看到 “网络错误” 的信息提示,表明项目导入成功,但是未能上传云函数(上传云函数可以理解成就是将云函数部署在腾讯云的 Serverless 服务器上),可以参考下一步来上传云函数。

三、 上传云函数

初始化项目结束后,接下来需要上传云函数,从而实现对涂鸦云的访问。

  1. 点击上方的云开发按钮,开通云开发环境
  2. 在小程序开发者工具中选中云函数目录的 ty-service(该目录是我们的涂鸦云函数目录,主要是登录、token 生成、统一接口调用等功能的封装) 上传上去。如下图所示:

  3. 项目中调用云函数的工具方法在 src/Utils/Request.ts 中,通过云函数调用涂鸦的 Open API 的方式可以参照下面的示例:
const params = {
name: 'ty-service', // 云函数名称
data: {
action: 'hello', // 涂鸦云接口名
params: {} // 接口参数
}
}
// 调用 Request
return Request(params)

四、 腾讯云云开发配置

云开发配置主要是为了配置你之前获得的的 Schema,AccessID,AppSecret,用于在云函数云端生成 token 并提供给小程序使用。这些信息存储在云开发的数据库中,可以保证云函数能够方便调用的同时还能最大限度的保证信息安全。可以根据下面的示例来操作

  1. 点击 云开发,进入 数据库,添加名称为 “iot-collection” 的集合,点击 确定。如下图所示:
  2. 选择 “iot-collection” 集合,,选择项目目录 db/data.json 文件,点击 导入 按钮,即可导入相关字段。如下图所示:
  3. 导入完成之后填写涂鸦 IoT 工作台上的 SchemaAccessIDAppSecret 的内容。如下图所示:
  4. 配置完成之后,刷新一下小程序,可以看到一个 “欢迎使用涂鸦云小程序云函数”,说明云函数配置成功。如下图所示:

五、设备配网

目前小程序支持 AP 模式(慢闪热点)配网,后期还将支持蓝牙配网。通过配网,可以将一个设备配到你的账号下,你就有权限控制这个设备。

配网操作的流程如下:

  1. 点击微信小程序开发工具的 预览,在弹出的二维码使用微信去扫码。
  2. 在手机的小程序中点击 添加设备 按钮,进入配网页面,如下图所示:
  3. 将设备重置到 AP 配网模式,可以参照下面的视频来操作

视频地址:https://images.tuyacn.com/rms-static/3c093900-a414-11ea-96f0-cda03b175b6c-1591021740176.mp4?tyName=13014c80-a407-11ea-9d30-317d0567c96b-1591016087880.mp4

4.设备重置 AP 配网模式后,开始在小程序上配网,可以参照下面的视频来操作

视频地址:https://images.tuyacn.com/rms-static/f38382f0-a407-11ea-96f0-cda03b175b6c-1591016464543.MP4?tyName=6833349112827573083.MP4

5.配网成功后,进入设备控制页,就能控制配网的设备,如下图所示:

总结

基于涂鸦开发平台和小程序 SDK,可以快速实现一款智能小程序,如果你手头有涂鸦的三明治开发套件,也可以用它搭建一个产品原型来实现最后一个步骤。心动了没有?赶紧来试试吧!

what's more

此外,云开发的支持能力还有taro、Chameleon 开发框架等,想了解云开发更多 SDK 能力,点击此处查看:https://cloudbase.net/sdk.html?from=10004

参考文献

如果你希望获取更多关于 Tuya-Weapp-CloudBase SDK 的说明和调用信息,可以访问文档查看

当小程序遇见物联网IoT,几行代码搞定智能插座控制的更多相关文章

  1. 手把手教你制作微信小程序,开源、免费、快速搞定

    最近做了个"罗孚传车"的小程序 一时兴起,做了一个小程序,将个人收集的同汽车相关的行业资讯和学习资料,分享到小程序中,既作为历史资料保存,又提供给更多的人学习和了解,还能装一下:) ...

  2. 30行代码搞定WCF并发性能测试

    [以下只是个人观点,欢迎交流] 30行代码搞定WCF并发性能 轻量级测试. 1. 调用并发测试接口 static void Main()         {               List< ...

  3. 10行代码搞定移动web端自定义tap事件

    发发牢骚 移动web端里摸爬滚打这么久踩了不少坑,有一定移动web端经验的同学一定被click困扰过.我也不列外.一路走来被虐的不行,fastclick.touchend.iscroll什么的都用过, ...

  4. 7行代码搞定WEB服务

    作为一个 Java 程序猿,写代码久了,各种技术也就都尝试了一个遍. 先从 SSH1(Spring.Struts1.Hibernate)摸爬滚打转变到 SSH2(Spring.Struts2.Hibe ...

  5. 如何用Python统计《论语》中每个字的出现次数?10行代码搞定--用计算机学国学

    编者按: 上学时听过山师王志民先生一场讲座,说每个人不论干什么,都应该学习国学(原谅我学了计算机专业)!王先生讲得很是吸引我这个工科男,可能比我的后来的那些同学听课还要认真些,当然一方面是兴趣.一方面 ...

  6. python入门机器学习,3行代码搞定线性回归

    本文着重是重新梳理一下线性回归的概念,至于几行代码实现,那个不重要,概念明确了,代码自然水到渠成. “机器学习”对于普通大众来说可能会比较陌生,但是“人工智能”这个词简直是太火了,即便是风云变化的股市 ...

  7. BaseHttpListActivity,几行代码搞定Android Http列表请求、加载和缓存

    Android开发中,向服务器请求一个列表并显示是非常常见的需求,但实现起来比较麻烦,代码繁杂. 随着应用的更新迭代,这种需求越来越多,我渐渐发现了实现这种需求的代码的共同点. 于是我将Activit ...

  8. python爬煎蛋妹子图--20多行代码搞定煎蛋妹子图库

    如果说一个人够无聊的话... 就会做一些十分美(wei)丽(suo)的事情啦哈哈哈... 好的,话不多说,进入正题. 正如标题所示,我们今天的目标很简单: 代码要少,妹子要好. 步骤如下: 1. 首先 ...

  9. [Unity Editor]10行代码搞定Hierarchy排序

    在日常的工作和研究中,当给我们的场景摆放过多的物件的时候,Hierarchy面板就会变得杂乱不堪.比如这样:    过多的层次结构充斥在里面,根层的物件毫无序列可言,整个层次面板显示非常的杂乱不堪,如 ...

随机推荐

  1. Jmeter工具环境搭建

    Jmeter工具什么 1 多线程框架-支持多并发操作 2 用于对服务器模拟负载 3 支持web,数据库,FTP服务器系统的性能测试 4 开源,可二次定制开发 下载Java JDK 下载地址: http ...

  2. 3.WebPack配置文件

    一.为什么需要WebPack配置文件 引用自官方: 在 webpack 4 中,可以无须任何配置使用,然而大多数项目会需要很复杂的设置,这就是为什么 webpack 仍然要支持 配置文件.这比在终端( ...

  3. 手摸手带你理解Vue响应式原理

    前言 响应式原理作为 Vue 的核心,使用数据劫持实现数据驱动视图.在面试中是经常考查的知识点,也是面试加分项. 本文将会循序渐进的解析响应式原理的工作流程,主要以下面结构进行: 分析主要成员,了解它 ...

  4. 2020/6/10 JavaScript高级程序设计 BOM

    BOM(浏览器对象模型):提供用于访问浏览器的对象. 8.1 window对象 window是BOM的核心对象,表示浏览器的一个实例. JavaScript访问浏览器窗口的接口 ECMAScript规 ...

  5. express高效入门教程(4)

    4.静态文件 4.1.普通处理静态文件的方法 在./views/index.html文件中去引入另一个css文件index.css,index.css文件放在public/css目录下,目录结构是这样 ...

  6. hive中order by ,sort by ,distribute by, cluster by 的区别(**很详细**)

    hive 查询语法 select [all | distinct] select_ condition, select_ condition from table_name a [join table ...

  7. 一个很酷炫也挺实用的JS库leader-line

    简单粗暴,直入主题,看看效果再说. 是不是这效果挺棒?这样的效果在做系统时,可以有很多的应用,可以让枯燥的页面生动起来. 具体效果,大家可以上这个搜索网站Mag[i]上面看,切身体会一下. 这是一个开 ...

  8. 运用设计模式告别项目中大量臃肿的if else

    前言 以前写过的一个老项目中,有这样一个业务场景,比喻:一个外卖系统需要接入多家餐馆,在外卖系统中返回每个餐馆的菜单列表 ,每个餐馆的菜单价格都需要不同的算法计算. 代码中使用了大量的if else嵌 ...

  9. (私人收藏)商务工作学习万能简约大气PPT模板

    商务工作学习万能简约大气PPT模板 https://pan.baidu.com/s/1aPnPZ285N5VSSErro1cPngehoa

  10. html5中contenteditable 光标_如何设置光标位置

    在js中,光标是一个对象,当你选中某个元素的时候才会出现光标对象.比如:我们点击一个输入框,实际会产生一个选中对象-selection,这个对象我们可以通过indow.getSelection()来获 ...