当前位置: 首页 > news >正文

涂鸦电工产品开发包如何使用

1 产品开发包介绍

电工产品开发包合并多种电工类产品通用功能,形成较全功能品类SDK,可支撑大部分电工产品开发。让电工行业开发者进一步降低开发成本,提升产品的开发效率并可以做出行业差异化的产品。
开发包自带电工产品基本应用功能,提供全部核心功能Demo示例,可插拔组件随意组合。
在这里插入图片描述

应用场景举例一 :咸水/淡水两用水族插排

在这里插入图片描述

应用场景举例二:时钟插排

在这里插入图片描述

2 产品开发包开发方法

可以参考涂鸦Wi-Fi模组SDK二次开发的教程
[Wi-Fi 模组 SDK 二次开发教程]
开发包同时配备各核心功能demo示例可参考,如:电量统计

硬件功能说明

硬件信息(CBU模组)

主要是硬件各个部分的IO口引脚和有效电平
功能I/O引脚有效电平
按键pwm2低电平有效
继电器pwm1高电平有效
继电器指示灯pwm0低电平有效
Wi-Fi指示灯pwm3低电平有效
脉冲类计量芯片I/O引脚有效电平
计量芯片CF脚pwm4IO输入
计量芯片CF1脚pwm5IO输入
计量切换引脚P14高有效
硬件定时器TUYA_TIMER0
串口类计量芯片硬件资源
串口号TY_UART0
计量数据接收RXP10
计量数据发送TXP11

软件流程介绍

应用层运行从 device_main 开始,请在 src 目录中找到 device_main.c 文件,查看此函数的运行顺序;

文件说明

include

app_user_config.h 用于配置相关配置项,此配置文件包含了常用的头文件,只需要修改对应的固件信息,即可编译生成专属的demo文件

device_app.h 连接device_main.c的接口声明

device_main.h 连接tuya sdk的接口声明

tdl_ele_energy_demo 电量统计tdl层demo接口声明

src

device_main.c 用于提供一个可编译的示例,可通过对其函数的具体实现来完成对应功能的开发

device_app.c 用户应用功能文件,此处只实现了电量统计TDL的功能

tdl_ele_energy_demo.c 电量统计TDL层demo文件

编译说明

1、cd 到包含build_app.sh的目录下
2、使用编译指令:./build_app.sh components/tdl_ele_energy/examples/XXX XXX 1.0.0 例如:

./build_app.sh components/tdl_ele_energy/examples/tdl_ele_energy_demo tdl_ele_energy_demo 1.0.0

3、编译完成,生成测试产物。测试产物路径:.components/tdl_ele_energy/examples/xxx/output/。xxx指工程名。测试产物以版本号新建文件夹。使用指令cd .components/tdl_ele_energy/examples/tdl_ele_energy_demo/output/。进入测试产物路径,在该路径下会有1.0.0名称的文件夹,文件夹中有对应的测试产物。

  • demo测试产物文件夹中重要的几个文件如下:

    文件名文件类型备注
    tdl_ele_energy_demo_QIQ_1.0.0.bin.bin文件生产固件,用于模块flash工作模式为QIO的模组
    tdl_ele_energy_demo_UA_1.0.0.bin.bin文件用户区固件,云模组烧录工具烧录的就是该文件
    tdl_ele_energy_demo_UG_1.0.0.bin.bin文件升级固件,用于OTA升级

注意点

1、tdl_ele_energy_read_enery_value接口每调用一次就会清空累计电量,每次调用的间隔不要太短,否则可能会一直是0

如何获取产品开发包

请直接站内私信联系

相关文章:

  • 初识react笔记
  • Java中的串口编程是怎样的呢?
  • SI好文翻译:铜箔表面纹理对损耗的影响:一个有效的模型(二)
  • 数据结构学习笔记 4-2 哈希表与布隆过滤器 与 LeetCode真题(Java)
  • JAVA基础之动态代理
  • 轻量级神经网络算法系列文章-MobileNet v3
  • 聚苯乙烯负载酸性离子液体(P[Vim-PS][HSO4])|活性炭(AC)负载酸性离子液体[Hmim-BS][HSO4]齐岳
  • 视频流PS打包方式详解
  • BIM从业者的焦虑和困惑,你遇到了吗?
  • 携职教育:2022年初级会计考试证书领取流程及所需材料
  • iOS App怎么上架到苹果TestFlight?
  • 自动控制原理6.2---常用校正装置及其特性
  • Android——常用定时器
  • 堆排序-Head Sort
  • 【C++】wav文件解析(兼容性强)
  • CentOS 7 修改主机名
  • echarts花样作死的坑
  • js算法-归并排序(merge_sort)
  • JS学习笔记——闭包
  • Linux后台研发超实用命令总结
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • RxJS: 简单入门
  • 阿里云前端周刊 - 第 26 期
  • 基于Android乐音识别(2)
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 基于遗传算法的优化问题求解
  • 前言-如何学习区块链
  • 巧用 TypeScript (一)
  • 深度学习入门:10门免费线上课程推荐
  • 数组的操作
  • 我从编程教室毕业
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 用简单代码看卷积组块发展
  • 在Mac OS X上安装 Ruby运行环境
  • - 转 Ext2.0 form使用实例
  • NLPIR智能语义技术让大数据挖掘更简单
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (c语言)strcpy函数用法
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (转)重识new
  • .NET CLR基本术语
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net 发送邮件
  • .Net 高效开发之不可错过的实用工具
  • .Net 应用中使用dot trace进行性能诊断
  • .netcore如何运行环境安装到Linux服务器
  • .project文件
  • ::
  • @Validated和@Valid校验参数区别
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题