Documentation Index

Fetch the complete documentation index at: https://support.tulip.co/llms.txt

Use this file to discover all available pages before exploring further.

SDK 开发

Prev Next

了解如何开始开发和迭代 Tulip Edge 驱动程序

简介

  1. 学习内容
    1. 如何开发第一个边缘驱动程序项目
      1. 构建项目
      2. 更新清单和索引文件
  2. 您需要具备的条件(先决条件)
    1. 完成SDK 创建中的所有步骤

开始

使用create-edge-driver工具创建新的 Edge 驱动程序后,就可以开始实施自己的驱动程序代码了!

更新 manifest.json

首先,我们需要定义驱动程序实现的事件和功能。设备事件可用作 Tulip Apps 中逻辑的触发器。例如,您可以设置一个应用程序触发器,如

"当我的传感器触发测量事件时,将温度数据存储到'车间温度'变量中"。

驱动程序还可以实现设备功能,以响应应用程序中的触发器。例如

"当我点击这个按钮时,调用设备上的'切换灯光'函数"。

在本例中,我们的驱动程序没有任何函数,但会在传感器进行测量时触发一个名为 "data "的事件。更新 src/manifest.json 文件中的 functions 部分,要么留空,要么完全删除:

json... "功能":[],...Then update the events section to define the shape of the "data" event.该事件将是一个包含两个浮动属性 "温度 "和 "湿度 "的对象:json... "事件":[ { "name":"data", "schema":{ "type":"object", "properties":{ "温度":{ "type":"float" }, "humidity":{ "type":"float" } } } } ],...

更新 index.ts

现在,我们将编写驱动程序代码,使用 Edge Driver SDK 查找并连接到串行端口,读取传入的串行数据,解析 JSON 消息,并使用 fireEvent() 触发 "data "事件。用以下新代码替换 src/index.ts 文件中的示例代码:

``jsedgeDriverSdk.SerialPort.listAvailablePorts().then((ports) => { const esp32port = ports.find((port) => port.product_id === 33128); const serial = new edgeDriverSdk.SerialPort(esp32port.path, { baudRate: 115200, });

serial.onData((data) => { try { const decoder = new TextDecoder(); const stringData = decoder.decode(new Uint8Array(data)); const espData = JSON.parse(stringData.split("ESP: ")[1]); edgeDriverSdk.fireEvent("data", espData); } catch (error) { console.error(error); }; }; }; }; }; }. });

serial.open();});```这是一个非常简单的示例,它在驱动程序启动时使用 USB 设备的产品 ID 自动尝试查找设备。Edge Driver SDK 还支持注册驱动程序,以便在系统检测到新设备时启动,这有助于制作更强大的生产驱动程序。

构建驱动程序

更新驱动程序代码和 manifest.json 后,再次构建驱动程序:npm run build

这将生成经过编译和捆绑的 JavaScript 文件,并在 dist 目录中生成经过验证的清单副本。SDK{height="" width="""}