制作一个有趣的涂鸦物联网小项目(涂鸦模组SDK开发 CBU BK7231N WiFi+蓝牙模组 HSV彩色控制)

2023-05-16

实现的功能:

l  APP控制月球灯

l  本地月球灯控制

l  APP控制“大白”颜色,实现各种颜色变身

l  门状态传感器状态APP显示

l  网络状态指示灯,连接服务器长亮,断开后闪烁

l  配网按键

l  云端定时功能

l  云端报警提示功能

l  云端历史数据查看

l  远程升级介绍

视频演示:【开源】制作一个有趣的涂鸦物联网小项目(涂鸦模组SDK开发 CBU BK7231N WiFi+蓝牙模组 HSV彩色控制)_哔哩哔哩_bilibili

一、界面展示

       

       

二、 涂鸦开发概述

零代码开发

提供可视化功能配置界面,无需任何编程经验,只需要在线配置好产品的功能,及可自动生成固件

MCU SDK开发

在MCU上进行代码开发,通过串口和涂鸦模组进行通信,从而实现与平台通信

模组SDK开发

开发者利用涂鸦提供的SDK对模组进行二次开发,灵活性强,节省成本

先注册一个账号:

Tuya Smart Developer Centerhttps://t.tuya.com/AY1D3R8gZc

三、硬件选型

Wi-Fi&BLE SoC NANO主控板(BK7231N)

l  Wi-Fi &BLE 双模芯片

l   1:MICROUSB(CN1) :即是 5V DC 输入口,也扩展了 2 个串口功能。

l   2:拨码开关(S1): 拨码切到 ON 方向导通,通断 USB 转串口芯片的双串口和芯片串口之间的链路。

l   3: 指示灯(D3):3.3V 电源指示灯。

l   4:按键(S2):通过 P9 检测,初始化高电平,按下为低电平。

l   5:指示灯(D2):通过 P16 控制,低电平点亮。

l   6:按键(RST):复位按键,按下后芯片复位。

原理图:

两个串口:

其中

l  A可以作为程序下载使用的

l  B通常是用来打印日志的

参考:

Wi-Fi&BLE SoC NANO主控板(BK7231N)-文档中心-涂鸦开发者

对标的模组为:

l  内置低功耗 32 位 CPU,可以兼作应用处理器

l  主频达 120MHz

l  工作电压:3.0V~3.6V

l  内置2Mbyte 闪存和 256 KB RAM

l  外设:5×PWM,2×UART,1×SPI

l  Wi-Fi 连通性

n  802.11 b/g/n

n  通道1-14@2.4GHz

n  支持WEP,WPA/WPA2,WPA/WPA2 PSK (AES) 安全模式

n  802.11b模式下最大+16dBm的输出功率

n  支持STA/AP/STA+AP工作模式

n  支持SmartConfig和AP两种配网方式(包括Android和IOS设备)

n  板载PCB天线,天线峰值增益2.2dBi

n  工作温度:-40℃ to 105℃

l  蓝牙连通性

n  蓝牙模式支持6 dBm 发射功率

n  完整的蓝牙共存接口

n  板载PCB天线,天线峰值增益2.2dBi

CBU 模组规格书-文档中心-涂鸦开发者

四、 创建一个产品(模组SDK开发)

创建产品步骤:

  1. 选择品类
  2. 选择开发方式为“自定义方案”
  3. 配置功能点(DP点)
  4. 制作界面,推荐使用Studio面板制作
  5. 硬件开发选型,点击“TuyaOS”,选择支持模组SDK开发的模组
  6. 下载模组的SDK和领取授权码

五、编程环境搭建

Ubuntu虚拟机环境搭建

SoC 二次开发环境搭建(Windows)-文档中心-涂鸦开发者

安装编译工具


sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install net-tools build-essential wget git python libc6-i386  

共享文件夹

共享Linux文件夹,可以实现在Windows中编程,在Linux中编译

Samba安装


sudo apt-get install samba cifs-utils samba-common  

在用户目录(/home/dong/)下创建共享文件夹,并且给文件夹可读可写可执行权限


mkdir share
chmod 777 -R share  

修改samba配置


sudo gedit /etc/samba/smb.conf  

在文件最后面添加配置信息

复制代码


[share] 
   path = /home/dong/share 
   available = yes 
   browseable = yes 
   public = no
   writable = yes  

复制代码

设置共享文件夹登录账号


sudo smbpasswd -a dong  

重启服务


sudo service smbd restart  

Windows操作

查询Linux IP ,使用如下进行访问

\\192.168.199.129\share

六、SDK使用及程序编写

下载刚刚创建产品的模组SDK

复制到Linux共享目录下,通过命令解压


tar -zxvf b1daf5huhq0w.tar.gz  

l  apps文件夹:用于存放示例工程和后续创建的工程放置处

l  platforms文件夹:用于存放模组的原厂库和工具,在编译时会由build_app.sh进行下载

l  sdk文件夹:涂鸦模组SDK的头文件和库文件

l  build_app.sh:编译脚本

官方例程:

git clone https://github.com/Tuya-Community/bk7231n_light1_io_xx.git

文档:快速入门-文档中心-涂鸦开发者

在有build_app.sh文件下编译:

指令格式:


sh build_app.sh ./apps/工程名目录名/ 工程名(工程名目录名) 版本号  

示例:


sh build_app.sh ./apps/bk7231n_light1_io_dxd/ bk7231n_light1_io_dxd 1.5  

编译成功:

编译成功后在工程目录下会创建“output”文件夹,并且里面有对应的版本

输出

l  QIO是生产固件,生产时下载

l  UA是用户固件,本地调试用原厂工具烧录时使用

l  UG是升级固件

程序介绍:

模组二次开发-文档中心-涂鸦开发者

七、 固件烧录&授权

上传固件

必须要上传一个固件,然后进行授权烧录一次,如果直接用原厂工具烧录,不上传固件,硬件会始终无法配对

上架前:

上架后:

固件标识名是非常重要的,编译时的“工程名目录名”,这个授权之后就是绑定关系了,后续如果更改,需要云端也下架更改,比较麻烦。原厂工具烧录时也必须同名编译。

获取授权码

每个硬件都要有个独立的授权码,才能正常连接到云平台,就像硬件身份证一样

方式一(模组):

如果是第一次使用平台,可以获取两个免费的授权码

方式二(开发板):

开发板可以通过ID和PASSWD获取一个授权码,这个开发板上一般会有贴纸

烧录方式1,云模组烧录平台,新板子必须经过一次

这里是烧录也是授权,烧录的固件是上传到云平台的固件

将编译输出的固件上传到产品下,获取激活码(生产凭证)

 申请一个PMS账号

https://pms.tuya.com/login

需要将我们的生成凭证在此确认

下载云模组烧录软件进行烧录

https://github.com/TuyaInc/TUYA_PTS_SDK/raw/master/Tools/TYDA_Setup_Online.exe

点击运行即可开始下载,点击后需要手动复位模组

原厂工具烧录

在使用原厂工具烧录前,为了确保APP可以正常控制设备,必须进过一次“云模组”烧录,后续就不需要每次更改后上传云平台,直接下载会更加方便些,烧录的固件是用户固件(UA)

下载原厂工具

https://images.tuyacn.com/smart/shiliu_zone/SOC_Develop/tools/bk_writer_gui_V1.6.3.rar

这是个免安装的软件

  1. 选择烧录的模组的芯片,创建产品时可以查看到
  2. 选择烧录的UA文件
  3. 起始地址
  4. 地址长度
  5. 选择烧录串口,烧录波特率可以大一些
  6. 点击烧录,后要进行手动复位

烧录可能会遇到的问题

使用云模组烧录授权平台时,烧录到一半可能会出现这个问题,使用Wi-Fi&BLE SoC NANO主控板时,若出现“获取RF标志位失败”的情况,可在授权阶段,将串口2的RXD引脚(P01引脚)和GND短接。

更多异常解决:

烧录授权-文档中心-涂鸦开发者

八、设计思路

设计思路

【开源】制作一个有趣的涂鸦物联网小项目(涂鸦模组SDK开发 CBU BK7231N WiFi+蓝牙模组 HSV彩色控制)_哔哩哔哩_bilibili

九、个人导航

【B站 | 东小东bili】 东小东bili的个人空间_哔哩哔哩_Bilibili

【博客园 | 东小东 】东小东 - 博客园

【CSDN | 东小东博客】东小东博客_CSDN博客-STM32,物联网项目,物联网杂项领域博主

【微信 | 东小东】dongxiaodongwx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

制作一个有趣的涂鸦物联网小项目(涂鸦模组SDK开发 CBU BK7231N WiFi+蓝牙模组 HSV彩色控制) 的相关文章

  • 预防山体滑坡,泥石流监测智能预警系统

    一 行业背景 我国是一个山区面积较大的国家 xff0c 山地 丘陵约占国土总面积的2 3 xff0c 在众多的山区中 xff0c 都具备泥石流形成的基本条件 xff0c 这也让我国成为受泥石流灾害影响最大的国家 在我国境内 xff0c 泥石
  • 如何扩大无线网络信号强度?

    欢迎来到东用小知识课堂 xff0c 每天学习一分钟 xff0c 让你紧跟时代 xff0c 扩充自己 xff0c 成为大佬不是梦 xff01 无线网络通信设备存在一个问题 xff0c 那就是他的信号发射都是直线型 xff0c 因此一旦家中或者
  • OpenWrt 添加cpu温度显示监控

    opkg update opkg install lm sensors lm sensors detect 然后修改一下 usr lib lua luci view admin status index htm 增加一个温度的显示 lt C
  • RS485接线方式小科普

    欢迎来到东用知识小课堂 xff01 RS 485采用平衡发送和差分接收方式实现通信 xff1a 发送端将串行口的ttl电平信号转换成差分信号a xff0c b两路输出 xff0c 经过线缆传输之后在接收端将差分信号还原成ttl电平信号 RS
  • 传输数据稳如老狗,还支持多种接口,这款DTU让智能化更简单

    如果你的项目正在向着智慧化转变或发展 xff0c 那么你一定会深刻意识到数据传输的稳定性对于整个系统的稳定运行的重要性 毕竟 xff0c 项目的智能化发展需要时刻保持数据的可靠性和稳定传输 xff0c 如果一旦传输因设备或者网络等因素导致中
  • 什么是光耦隔离?光耦隔离的主要作用

    欢迎来到东用知识小课堂 xff01 光耦合器的结构相当于把发光二极管和光敏三极管封装在一起 光耦隔离电路使被隔离的两部分电路之间没有电的直接连接 xff0c 主要是防止因有电的连接而引起的干扰 xff0c 特别是低压的控制电路与外部高压电路
  • ORB305与CISCO路由器构建L2TP over IPSec VPN操作手册

    1 网络拓扑 在思科路由器与ORB305之间建立一个安全隧道 xff0c 对客户路由器端设备子网 xff0c 与思科路由器端服务器子网之间的数据流进行安全保护 xff0c 组网拓扑图如图所示 2 思科路由器端配置指导 此处以多数客户使用专线
  • linux下使用UDP发送接收数据

    接收 static int sock fd struct sockaddr in recv addr 读取参数 struct sockaddr in send addr 发送参数 sock fd 61 socket AF INET SOCK
  • 0长度数组的使用,重点掌握的知识

    0长度的数组在ISO C和C 43 43 的规格说明书中是不允许的 xff0c 但是GCC的C99支持的这种用法 GCC对0长度数组的文档参考 xff1a Arrays of Length Zero 如下代码片段 xff0c 哪个更简洁更灵
  • Freertos中检测内存的剩余函数

    static uint16 t prvTaskCheckFreeStackSpace const uint8 t pucStackByte
  • 重定位

    一 必须知道的几个概念 1 链接地址和运行地址 运行地址 xff0c 顾名思义就是程序运行的时候的地址 xff0c 也就是你用工具将代码下载到RAM的那个地址 xff0c 也叫加载地址 链接地址 xff0c 由链接脚本指定的地址 为什么需要
  • CC2541低功耗的实现方法

    转自 xff1a http blog csdn net mzy202 article details 42091537 CC2541 CC2540 实现超低功耗是非常重要的 xff1a 我们来总结一下实现方法 xff1a 1 xff0c 有
  • Macbook pro/air 2013 late -2014 使用转接卡更换NVME SSD休眠不醒问题的解决办法

    2021年1月更新 xff0c 发现升级 big sur 11 1之后 xff0c 固件版本变成了429 0 0 0 睡眠问题又回来了 xff0c 每次都睡死 xff0c 不醒 于是我按老办法 xff0c 把mbp114的nvme驱动刷到m
  • stm32使用stlink v2.0下载的sw接线方式

    stm32的sw下载需要用到4根线 GND VCC SWCLK SWDIO xff0c 对应好即可 xff0c 相比较3根线的方式 xff0c 优先推荐4根线下载方式
  • stm32芯片的焊接

    stm32的焊接 xff0c 使用到东西 xff1a 松香 xff0c 维修佬 xff0c 烙铁 1 首先将stm32的一个角的脚上涂上维修佬 xff0c 要特别特别少 xff0c 太多了 xff0c 容易粘连到其他脚上面 xff0c 不好
  • Modbus-RTU通讯协议中CRC校验码的计算步骤

    在CRC计算时只用8个数据位 xff0c 起始位及停止位 xff0c 如有奇偶校验位也包括奇偶校验位 xff0c 都不参与CRC计算 CRC计算方法是 xff1a 1 预置1个16位的寄存器为十六进制FFFF xff08 全1 xff09
  • 一个很好的makefile例子(经典)

    转自http www cnblogs com sld666666 archive 2010 04 08 1707789 html 相信在unix下编程的没有不知道makefile的 xff0c 刚开始学习unix平台 下的东西 xff0c
  • 无线传输距离计算公式

    转自一篇文档 无线传输距离计算 Pr dBm 61 Pt dBm Ct dB 43 Gt dB FL dB 43 Gr dB Cr dB Pr xff1a 接受端灵敏度 Pt 发送端功率 Cr 接收端接头和电缆损耗 Ct 发送端接头和电缆损
  • hex文件解析

    Keil开发环境编程时对源程序进行编译链接后都 可以 成一个可执行文件即 hex文件 xff0c 但是有不完全是一个可执行文件 然后 可以 通过烧录工具烧写到对应的单片机的 flash中 xff0c 当然也还有其他方法可以进行烧录 大家在编
  • Ubuntu下如何挂载以及卸载U盘?

    l 在挂载U盘前 xff0c 首先运行命令cat proc partitions xff0c 看看现在系统中有哪些分区 插上u盘以后 xff0c 再次运行上述命令 xff0c 看看多出来什么分区 xff08 通常是sda1 xff0c 由于

随机推荐