多功能智能感应台灯设计(嵌入式)

一、产品创建

  • 进入涂鸦智能IoT平台,点击创建产品,选择照明->氛围照明->台灯。

    创建功能点
  • 设定完功能点后,下一步点击设备面板,选择app的面板样式。推荐选择开发调试面板,比较直观,且可以开到dp数据包的接收和发送,方便开发阶段调试使用。

至此,产品的创建基本完成,可以正式开始嵌入式软件部分的开发。

二、软件方案介绍

嵌入式代码基于BK7231n平台,使用涂鸦通用Wi-Fi SDK进行SOC开发,具体代码可下载查看demo例程。

  • 本demo完整例程:点击获取

1.应用层入口

打开demo例程,其中的apps文件夹内就是demo的应用代码。应用代码结构如下:

打开tuya_device.c文件,找到device_init函数:

在BK7231平台的SDK环境中,该函数为重要的应用代码入口,设备上电后平台适配层运行完一系列初始化代码后就会调用该函数来进行应用层的初始化操作。

该函数做了三件事:

  • 调用接口进行SDK初始化,配置了工作模式、配网模式,同时注册了各种回调函数并存入了PID(代码中宏定义为PRODECT_KEY)。
  • 调用接口注册设备网络状态回调函数。
  • 调用应用层初始化函数

2.应用结构

本demo应用代码主要分三层来实现:

  • 最底层为一些外设、传感器的驱动代码,例如光照传感器、OLED屏幕、微波雷达、触摸按键、灯板等,封装出常用接口;
  • 第二层为控制逻辑部分的代码,调用驱动层的各类接口,实现各个组件的控制逻辑,封装出数据处理轮询接口;
  • 第一层为主要应用层,创建应用任务调用第二层的接口,同时处理DP点数据的上报和接受解析。

第一层就是在app_lamp.c文件中实现的,大致内容如下:

  • 调用第二层封装出的设备初始化接口,创建应用任务;
  • 用于上报所有DP数据:
  • 任务函数,任务内循环调用的、、都是第二层的接口,实现在lamp_control.c文件中,分别负责传感器数据的采集,触摸按键扫描轮询及数据处理和功能逻辑实现轮询:

来源:三明治开发社区

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月27日
下一篇 2021年4月27日

相关推荐