简介
yoctolib-es 是一个 npm 包,提供了一个 JavaScript API,让开发者可以使用 Yoctopuce 公司的传感器和控制器设备。
Yoctopuce 公司(https://www.yoctopuce.com/)提供了大量的传感器和控制器设备,包括温度传感器、湿度传感器、气压传感器、电源、电机控制器等。这些设备可以通过 USB、RS232、RS485、TCP/IP 等方式连接到计算机、嵌入式设备等。
yoctolib-es 包提供的 API 功能非常强大,可以用来控制和读取这些设备,而且使用起来非常方便。本文将介绍如何使用 yoctolib-es 包,包括安装、使用、API 接口的详细介绍和示例代码。
安装
首先,需要安装 Node.js 和 npm。安装方法请参考 Node.js 和 npm 的官方网站。安装好后,可以在终端或命令行中使用 npm 命令。
在终端或命令行中,输入以下命令:
npm install yoctolib-es
这样,就可以安装 yoctolib-es 包了。安装后,可以在项目代码中引入该包。
使用
在代码中引入 yoctolib-es 包:
const { YAPI, YModule, YLightSensor } = require('yoctolib-es');
要使用 yoctolib-es 包,需要先实例化一个 YAPI 对象,然后连接到设备。连接成功后,就可以使用相应的模块和传感器了。
连接到设备的方法有多种,本文介绍其中一种,使用 HTTP API 连接。使用 HTTP API 连接需要知道设备的 IP 地址和端口号。
示例代码:
-- -------------------- ---- ------- ----- -------- ------ - -- --- ---- -- ----- ------------ -- ----- ----- ------------------------------------------------- -- -- ----------- -- --- ------ - ---------------------- ----- -------- - -- ------------------------- --- -------------- - ------ - ------ - -------------------- - -- --- ----------- -- --- ----------- - -------------------------------- ----- ------------- - -- -------------------------------------------- --- -------------------------- - ------ - ----------- - ------------------------------ - -- ------ ------------------------- - - -------------------------------- - -------
上面的代码通过 HTTP API 连接到设备,查找 LightSensor 模块,然后使用 YLightSensor 对象读取光线强度。
API 接口
下面介绍一下 yoctolib-es 包提供的主要 API 接口。
YAPI 对象
YAPI 对象是顶层对象,提供了初始化、连接、查找模块等方法。
YAPI.Init()
初始化 YAPI 对象。该函数必须在使用其他 API 之前调用一次。
YAPI.RegisterHub(url)
连接到设备。url 是设备的 URL 地址,可以是 HTTP、TCP 或 USB。
YAPI.PreregisterHub(url)
预连接到设备。和 RegisterHub 不同的是,该函数不会建立连接,只是预注册该设备。实际连接到该设备需要调用 UpdateDeviceList。
YAPI.UpdateDeviceList()
更新设备列表。该函数会连接到预注册的设备列表中的设备并建立连接。该函数必须在查找模块之前调用一次。
YAPI.GetAllDevices()
返回所有已连接设备的 YModule 对象数组。可以用 YModule.get_serialNumber() 方法获取设备的序列号。
YAPI.GetAllFunctions()
返回所有已连接设备的 YFunction 对象数组。
YModule 对象
YModule 对象代表一个硬件模块,提供了获取模块信息的方法。
YModule.get_serialNumber()
获取模块的序列号,返回字符串。
YModule.get_productName()
获取模块的产品名称,返回字符串。
YModule.get_productId()
获取模块的产品 ID,返回整数。
YFunction 对象
YFunction 对象代表一个功能模块,提供了控制和读取传感器的方法。
YFunction.get_serialNumber()
获取功能模块的序列号,返回字符串。
YFunction.isOnline()
检查设备是否在线,返回布尔值。
YFunction.describe()
获取功能模块的描述信息,返回字符串。
YFunction.get_currentValue()
获取传感器当前值,返回数值。
YFunction.get_unit()
获取传感器的单位,返回字符串。
YLightSensor 对象
YLightSensor 对象代表一个光线传感器,提供了读取光线强度的方法。
YLightSensor.FirstLightSensor()
返回第一个光线传感器的 YLightSensor 对象。
YLightSensor.nextLightSensor()
返回下一个光线传感器的 YLightSensor 对象。
YLightSensor.get_currentValue()
获取光线传感器的当前光线强度值,返回浮点数。
总结
本文介绍了如何使用 yoctolib-es 包连接 Yoctopuce 公司的传感器和控制器设备,并提供了详细的 API 接口介绍和示例代码。开发者可以根据自己的需求和项目要求,使用相应的功能和接口,实现对传感器和控制器的控制和读取。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671a330d09270238223d8