在 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. C/C++语言的学习方向

    这个世界上有太多的坑,如果我们不具备查阅资料的能力和对现实世界的思考能力,入坑是大概率的事情. C/C++语言能做什么?C/C++程序员在做什么?企业需要什么样的C/C++程序员?对初学者来说,要搞清 ...

  2. C#数据结构与算法系列(十):中缀表达式转后缀表达式

    1.具体步骤 1)初始化两个栈:运算符栈s1和储存中间结果的栈s2:2)从左至右扫描中缀表达式:3)遇到操作数时,将其压s2:4)遇到运算符时,比较其与s1栈顶运算符的优先级:     (1)如果s1 ...

  3. 线程基础9-quene讲解

    在学习Java 多线程并发开发过程中,了解到DelayQueue类的主要作用:是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走. ...

  4. String类基础知识

    1.String类的构造方法 (1)String(String original)  //把字符串数据封装成字符串对象 (2)String(char[] c)   //把字符数组的数据封装成字符串对象 ...

  5. 暑假集训Day1 整数划分

    题目大意: 如何把一个正整数N(N长度<20)划分为M(M>=1)个部分,使这M个部分的乘积最大.N.M从键盘输入,输出最大值及一种划分方式. 输入格式: 第一行一个正整数T(T<= ...

  6. python实用笔记——IO编程

    打开文件 f = open('/Users/michael/test.txt', 'r') 再读取 >>> f.read() 'Hello, world!' 最后关闭 >> ...

  7. MyEclipse 选中属性或方法后 相同的不变色

    myeclipse-->windows-->java-->Editor-->content Assist-->Mark Occurrencmyeclipse-->w ...

  8. Jquery的一些方法

    $.trim(str);说明:去掉字符串首尾空格.

  9. 线性表的顺序存储和链式存储c语言实现

    一.线性表的顺序存储 typedef int ElemType;typedef struct List { ElemType *data;//动态分配 ,需要申请空间 int length; }Lis ...

  10. 安装完kali linux之后要做的10件事——113p.cn

    1.添加国内更新源(可能不是最好的) vim /etc/apt/source.list 科技大学# deb http://mirrors.ustc.edu.cn/kali sana main non- ...