智能面板小程序如何实现跨端开发,并无缝引入ChatGPT?

news2025/1/19 11:33:29

如何让开发者更便捷高效地开发面板小程序?

全球化 IoT 开发平台服务商涂鸦智能(NYSE:TUYA,HKEX:2391)原先提供的是一套基于 React Native (简称 RN) 的面板 SDK,但是随着面板规模的不断增长,以及 RN 的使用限制等原因,面板的开发和维护变得愈发困难。

于是我们自研了面板小程序开发方案,旨在让面板的开发更加便捷,运行更加稳定高效。

那什么是面板小程序呢?

面板小程序是一套全新的设备面板开发方式,它基于涂鸦的智能小程序技术体系,集成了面板的相关能力和环境。

它通过以下两种方式来加强提升面板开发效率和体验:

  1. 通过IDE集成了面板特有的开发调试环境

  2. 提供了 Ray 这个开发框架

接下来,我们详细介绍下这两大特性。

一、IDE面板环境

1、面板体验
面板体验功能支持一键创建本地虚拟面板小程序,包含一些基础调试功能,其接口调用是通过本地模拟实现。可用于快速了解和体验面板的开发流程。

在这里插入图片描述
在这里插入图片描述
2、设备插件
为了能够在 IDE 中运行面板小程序,涂鸦引入了虚拟设备体系来模拟面板运行环境,同时能够更方便地调试 DP 下发上报。在开发时,只需要在项目配置中添加需要调试的产品,就可以通过扫码将该产品下的虚拟设备绑定到 IDE 中。

简单操作后,开发者即可在 IDE 中实现代码调试,以尽量减少开发期间对真机的依赖。

除了可以轻松实现设备 DP 调试外,该插件还提供了:

  • 多语言字段查看、检查、搜索、上传;
  • 设备日志查询;
  • 智能设备模型的数据注入

在这里插入图片描述
具体操作指南可复制下方链接查看—虚拟设备插件:https://developer.tuya.com/cn/miniapp/panels/devtools/ide/virtual-device

二、Ray-IoT领域的跨端框架

小程序的基础语法是类似前端的 HTML、CSS、JavaScript,同当前其他厂商的小程序语法基本保持一致,可有效确保跨端的开发体验。

为了让涂鸦现有的开发者,能更好地迁移到面板小程序,涂鸦研发了 Ray,并将其作为研发面板小程序的默认框架。不仅能大大降低小程序面板开发门槛,还能让开发者复用 React 的编程习惯和生态。

其工作原理,简单来说,就是将 React 的代码通过编译和运行,转化成小程序语法,使其最终能在小程序容器内运行起来。

1、React
Ray 的本质是靠 react-reconciler 实现的一个小程序端的渲染器。因此,你可以靠完整的 React 语法,以及大部分的 React 生态来编写你的面板小程序代码。

2、智能设备模型(SDM)
智能设备模型是一个服务于面板开发的开发库,它统一封装了对设备的控制接口,并且可利用 DP Schema 获取 ts提示,让调用更加便捷。

在这里插入图片描述
另外,虽然面板小程序提供了很丰富的 API,但是有些 API 比较原子化,有一定的使用门槛。我们将定时、场景等高级能力进一步封装成能力(ablities)提供给开发者,降低开发成本。

SDM 的架构如下图所示:
在这里插入图片描述
具体的使用方式可以复制链接查看—智能设备模型的使用:https://developer.tuya.com/cn/miniapp/panels/extended/sdm/usage

3、跨微信小程序

开发者在开发面板小程序后,可以将面板小程序编译打包为微信小程序代码,当然也可以直接使用 Ray 跨端框架,全新开发一个专属于你自己的微信小程序。

由于微信小程序和涂鸦 App 的运行容器有一定差异,因此我们提供了额外的面板–小程序微信 SDK(@ray-js/wechat) ,来解决在微信环境运行所需要的 API 接口、组件及页面模块。

在这里插入图片描述
具体操作指南复制下方链接查看—如何用 Ray 来开发微信小程序:

https://developer.tuya.com/cn/miniapp/panels/wechat

彩蛋大放送:智能设备和我说话了!

最近的 ChatGPT 异常火爆,我们也在积极探索 AI 在 IoT 领域的应用。于是,在面板开发中,我们开了个脑洞,想象下,如果我们的智能设备拥有了大脑会是怎么样的呢?

这里介绍下接入流程:

1.我们通过获取设备相关信息,例如联网方式,设备状态等,组织好 prompts,让其扮演一个智能设备;

2.调用 OpenAI 的接口,发送指令;

3.并记录每次沟通的上下文,做到连续对话;

这样我们就得到了一个能和我们对话的智能设备了!

戳视频,抢先体验融入ChatGPT的涂鸦面板小程序👇:

面板小程序ChatGPT演示视频

相信在不远的未来,AI 将为 IoT 领域带来更多新能力,人机交互频次也将不断增加、万物互联链路更完整。届时,有望真正实现主动式智能,实质性推动智能家居领域的发展。

开发问题咨询

如在开发过程中有任何问题,可复制下方链接,进入【涂鸦智能小程序】开发者论坛提问哦,将有开发小哥哥随时为你解答~

https://www.tuyaos.com/posting.php?mode=post&f=10

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/434924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

职场危机波及到你了吗?社科院与杜兰大学金融管理硕士项目为你重塑核心竞争力

现在职场,危机四伏,每个人都面临着潜在的危机。职场小白,时时忧心自己的工作是否出错,是否能安全度过试用期;面对新人辈出,职场的前辈也担心被拍在沙滩上。面对竞争激烈的职场,你有感到危机吗&a…

[Java]过滤器(Filter)

一、什么是过滤器 过滤器是Servlet的高级特性之一,是实现Filter接口的Java类! 过滤器的执行流程: 从上面的图我们可以发现,当浏览器发送请求给服务器的时候,先执行过滤器,然后才访问Web的资源。服务器响应…

nginx简单使用与配置

nginx简单使用与配置 Nginx 是一个高性能的HTTP和反向代理web服务器、一个邮件代理服务器,一个通用的 TCP/UDP 代理服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。 前端可以通过nginx实现以下功能&#xff1a…

【项目实战课】基于Pytorch的YOLOv3工业缺陷检测实战

欢迎大家来到我们的项目实战课,本期内容是《基于Pytorch的YOLOv3工业缺陷检测实战》。所谓项目课,就是以简单的原理回顾详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战讲解。 本次主题 目标检测是最基础的计算机视觉…

利用Resource Hacker简单去除WinRar广告-boldiy

利用Resource Hacker简单去除WinRar广告-boldiy boldiy关注IP属地: 江苏 2022.04.26 18:43:27字数 114阅读 315 下载 Resource Hacker 用软件打开WinRAR.exe 点击展开String Table image.png 打开80:2052 删除1277所在整行,并点击运行&#xff0…

百度地图开发者账号申请

本篇文章要完成的效果 一、百度地图开发者账号申请 官网 : 百度地图开放平台 | 百度地图API SDK | 地图开发 (baidu.com) 没有的话注册一下 一般来说使用过百度云 就有百度账号 点击【控制台】——【我是个人爱好者/学生】 完善个人信息 —— 实名认证 再次返回首…

【逆天应用】如何用Python实现检测和识别车牌号?(详细教程)

文章目录 前言一、创建Python环境二、如何在您的计算机上安装Tesseract OCR?1.导入库2.获取输入2.获取输入3.在输入端检测车牌4.筛选轮廓5.遍历前30个轮廓5.识别检测到的车牌 三,显示输出总结 前言 车牌检测与识别技术用途广泛,可以用于道路系统、无票停…

ChatGPT 速通手册——连续提问和重新生成的作用

连续提问和重新生成的作用 和 ChatGPT 聊天,也是有套路的。我们把给 ChatGPT 输入的问题文本,叫 Prompt,提示词。实际上,传统搜索引擎也有比较相类似的功能。 在 Prompt Learning 提示学习之后,又总结出一种更好的聊…

【虚幻引擎UE】UE4/UE5 新人科普向

一、前言 Unreal Engine是当前最为流行的游戏引擎之一,具有丰富的游戏开发功能和强大的游戏引擎渲染能力。 二、基础 UE5官方文档:UE5官方文档非常详细,介绍了UE5的各个功能和应用,适合入门学习和深入探究。链接:htt…

Pytorch基础 - 0. Tensor数据类型与存储结构

目录 1. Tensor数据类型 2. Tensor存储结构 在讲PyTorch这个系列之前,先讲一下pytorch中最常见的tensor张量,包括数据类型,创建类型,类型转换,以及存储方式和数据结构。 1. Tensor数据类型 (1) 一共包括9种数据类型…

深度学习基础入门篇[六]:模型调优,学习率设置(Warm Up、loss自适应衰减等),batch size调优技巧,基于方差放缩初始化方法。

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…

HIve安装配置(超详细)

文章目录 Hive安装配置一、Hive安装地址二、Hive安装部署1. 把 apache-hive-3.1.2-bin.tar.gz上传到Linux的/export/software目录下2. 解压apache-hive-3.1.2-bin.tar.gz到/export/servers/目录下面3. 修改apache-hive-3.1.2-bin.tar.gz的名称为hive4. 修改/etc/profile&#x…

如何用四元数表示姿态差

在机器人控制中,经常需要控制末端工具的姿态,如果用欧拉角表示姿态,会出现万向锁的问题,而使用四元数就不会有这个问题,此外四元数求出的姿态差为一个标量,更容易在RL算法中使用。 首先,假设末端…

初始化一个Vue3+TS项目

目录 一.创建基本的项目结构: 二. 项目搭建规范: 集成editorconfig配置: 使用prettier工具: 使用ESLint检测 : 项目目录结构划分: CSS样式的重置: 全家桶 – 路由配置: 全家桶 – 状态管理: 网络请求封装axios: 区分 development和production 环境: Element-Plus集成…

第1章、C++基础

第1章、C基础 1.1 命名空间 1.1.1 命名空间的含义 在使用C进行大规模程序设计时,开发过程往往是团队合作,各个程序员命名和各种C库,对标识符的命名可能发生冲突,从而引进命名空间(一种特殊的域)的概念&a…

MIPI D-PHYv2.5笔记(19) -- Fault Detection

声明:作者是做嵌入式软件开发的,并非专业的硬件设计人员,笔记内容根据自己的经验和对协议的理解输出,肯定存在有些理解和翻译不到位的地方,有疑问请参考原始规范看 检测链路的故障有三种不同的机制。总线冲突&#xff…

10.1 二重积分的概念与性质

学习目标: 学习二重积分,我会采取以下几个步骤: 了解基本概念:首先我会学习二重积分的定义及其意义,了解二重积分的性质和特点,以及二重积分的计算方法。 理解二重积分的几何意义:我会通过画图…

Window10 源码编译UE4-27

Window10 源码编译UE4-27 文章目录 Window10 源码编译UE4-27一、查看官方软件软件环境配置([https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/DevelopmentSetup/VisualStudioSetup/](https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/…

编写高质量代码:改善Java程序的151个建议(数组和集合)

集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法有关系吗?有关系,在compareTo的返回为0时,它表示的是 进行比较的两个元素时相等…

SRv6项目实践(三):P4Runtime基础以及交换机控制

在正式介绍P4runtime基础之前,先说一说P4的编译和实现的过程 bmv2.json:p4文件经过编译器编译以后会生成bmv2.json文件,此文件以JSON格式定义BMv2 simple_switch目标的配置。当simple_switch接收到新的数据包时,它使用此配置以与…