驱动编码完成后,需进行调试。调试阶段包括:编译打包、上传驱动、搭建环境、创建物模型、创建设备、部署驱动、查看调试信息、调试数据交互和本地替换更新驱动。
驱动依赖注意事项
驱动根据协议和业务场景的不同,会涉及第三方库依赖。物联网边缘计算针对不同开发语言开发的驱动,制定了不同的第三方库依赖规则:
C版本SDK开发的驱动:
需要保证编译环境和运行环境相同,否则可能会导致驱动程序不可运行。
驱动包中必须包含驱动程序和动态第三方库。
Node.js版本SDK:
需要在边缘一体机运行环境上开发驱动,并在驱动目录中使用如下命令安装依赖。
npm install 第三方库名
Python版本SDK:
需要在边缘一体机运行环境上开发驱动,并在驱动目录中使用如下命令安装依赖。
pip3 install -t . 第三方库名
驱动打包注意事项
基于物联网边缘计算提供的SDK,开发驱动并完成调试后,需将产物打包为ZIP包,并确保驱动Binary或index源文件在ZIP包第一级目录。
每个版本SDK开发的驱动在打包时,有不同的打包规则:
C版本SDK开发的驱动
将驱动包中的动态第三方库,放置到驱动程序当前路径中的
lib
文件夹下。具体操作步骤如下:驱动程序必须命名为
main
。在
main
当前路径下创建lib
文件夹。将
main
依赖的动态第三方库全部拷贝到lib
文件夹下。使用
zip
命令对当前路径下的main
和lib
文件夹,进行压缩处理生成ZIP包。zip -r your_driver_name.zip main lib
Python版本SDK开发的驱动
驱动包中须包含
index.py
文件,并且在该文件中定义handler函数。驱动是一个在函数计算应用引擎中持续运行的函数,所以在驱动包中须包含index.py
文件,并且在该文件中定义handler函数。驱动运行时,会加载
index.py
文件。而该文件中,函数计算应用定义的handler函数不会被调用,因此驱动代码须放在handler函数外,保证加载index.py
文件时能被直接执行。更多信息,请参见Python版本SDK。基于Node.js SDK开发的驱动
驱动包文件中须包含
index.js
,并且在该文件中定义handler函数。驱动运行时,会加载
index.js
文件。而该文件中,函数计算应用定义的handler函数不会被调用,因此驱动代码须放在handler函数外,保证加载index.js
文件时能被直接执行。更多信息,请参见Nodejs版本SDK。
前提条件
已安装并激活边缘一体机,详细操作,请参见激活边缘一体机。
步骤一:编译打包
下载示例代码。
git clone https://github.com/aliyun/linkedge-thing-access-sdk-c.git
进入linkedge-thing-access-sdk-c目录,完成示例编译。
cd linkedge-thing-access-sdk-c make prepare && make && make install
查看示例编译产物。
cd build/bin/demo/demo_led/ && ls -l
系统显示类似如下图表示已完成编译并打包。
步骤二:上传并发布驱动
步骤三:分配驱动和终端设备到主机
登录边缘计算控制台。
在左侧导航栏选择节点管理 > 终端设备管理 。
在终端设备管理页面,单击您的目标主机名称 。
鼠标悬浮到通用设备上,然后单击图标。
在分配驱动面板中,单击自研驱动页签,选中已创建自定义驱动前的复选框,然后单击分配。
选择已分配的自定义驱动led_driver,单击添加设备,在led_driver驱动下为主机分配终端设备。
分配设备到边缘主机后,单击设备名称对应操作栏中的设备配置,配置设备信息。
编写不超过1 KB的JSON格式配置内容。校验格式通过后,单击确定。
步骤四:部署边缘主机
在左侧导航栏选择节点管理 > 主机管理。
在主机管理页面,找到您的主机,单击对应操作列中的主机部署。
主机部署成功后,可以查看设备连接状态和运行状态。
步骤五:调试数据交互
如果设备上线成功,则可以使用阿里云物联网平台在线调试功能调试驱动和设备,该功能页面还可以实时查看设备上报的数据信息,也可以触发对设备服务的调用请求。详细的操作,请参见在线调试。
登录物联网平台控制台。
左侧导航栏单击监控运维 > 在线调试,在在线调试页面,选择待调试的产品和设备。
按照如下图说明进行调试,并查看设备实时运行日志。
- 本页导读 (1)