5.wifi开发【智能家居:上】,开发准备:智能开关灯,智能采集温湿,智能调彩灯
一。wifi智能家居项目开发
【开发准备1】:继电器控制开发
1.智能开关
器件准备:wifi(esp8266,使用CP2102)继电器
结果:
2.继电器工作原理
(1)继电器是一种自动电气开关
(1) 输入输出电路隔离
(2)信号转换(从断开到接通)
(3)增加输出能力
(2)继电器工作原理
利用电磁铁控制工作电路通断的开关
(3)继电器模块介绍
高电平触发指的是信号触发端(IN)与电源负极之间有一个正向电压,.通常是用电源的正极与触发端连接的一种触发方式,当触发端有正极电压或达到触发的电压时,继电器则吸合。低电平触发指的是信号触发端与电源负极之间的电压为Ov时,或者说触发端的电压比电源正极的电压更低,低到可以触发的电压时,使继电器吸合,通常是将电源的负极与触发端连接的一种触发方式使继电器吸合。
产品参数:
电压版本:5v静态电流:4mAs工作电压:65mA蚀发电压:2-5V触发电流:2mA
(4)继电器模块使用
3.开发要求:
1.ComBox模拟TCP客户端连接ESP8266
(1)发送“relayon”打开继电器
(2)发送“relayoff”关闭继电器
4.硬件连接
1.采用GPIO5直接驱动继电器
2.继电器电源VCC连接到VIN 继电器GND连接到GND
5.开发流程
1.在SDK目录下新建relay文件
2.拷贝tcpserver下所有文件到relay下
3.在relay/user目录下新建relay.c
4.在relay/include目录下新建relay.h
5.在tcpserver下完成relayon/relayoff解析
6.控制命令解析
【开发准备2】:环境采集模块
1.智能环境采集
器件使用
wifi模块+温湿度
结果:温湿度采集模块
2.空气温湿度传感器原理
数字式空气温湿度传感器
16Bit温度测量 16Bit湿度测量
3.驱动设计
1.启动采集
2.配置IO为输出模式
3.拉低18ms后拉高
4.配置IO为输入模式
5.延时40us等待DHT11相应
6.DHT11拉低
7.等待拉低80us后拉高
8.等待拉高80us后拉低
4.
5.需求分析
1.ComBox模拟TCP客户端连接ESP8266
2.定时5秒采集一次温湿度数据
3.客户端发送readdata,服务器当前温湿度数据
6.功能开发
(1)新建dht11工程目录
1.在SDK目录下新建dht11目录
2.拷贝tcpserver目录下所有文件到dht11目录下
(2)新建dht11源码文件
1.在user目录下新建tdht11.c
2.在include目录下新建dht11.h
(3)Sourceinsight配置
1.在之前的工程中,移除relay文件夹
2.添加dht11文件夹
7.代码实现
1.在dht11.c下
(1)创建Dht11_init(),用于任务创建
(2)创建void ATaskDht11( void *pvParameters ),用于任务实现
(3)创建DHT11_TEST(void) ,用于温湿度数据采集
【正式实现1】:wifi智能灯开发
1.智能灯泡
wifi+WS2812RGB
结果:智能灯
2.WS2812RGB介绍
WS2812RGB原理:
控制电路与RGB芯片集成在一个5050封装的元器件中, 构成一个完整的外控像素点。 每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示, 扫描频率不低于400Hz/s。
串行级联接口, 能通过一根信号线完成数据的接收与解码。 当刷新速率30帧/秒时, 低速模式级联数不小于512点, 高速模式不小于1024点。
数据发送速度可达800
WS2812RGB硬件连接:
WS2812驱动时序图
输入码型
输入码型(高位先发,按照GRB的顺序发送数据)
数据传输方法
硬件连接
1.采用GPIO5直接驱动WS2812 VIN
2.VCC连接到3.3V GND连接到GND
3.驱动设计
1.发送0码
2.发送1码
3.ns级延时
4.发送复位码
5.写入RGB数据
4.代码实现
1.进入临界段
2.发送复位码
3.循环写入7组RGB数据
4.退出临界段
【正式实现2】:wifi智能灯开发2
1.功能需求
1.ComBox模拟TCP客户端连接ESP8266
2.客户端发送setcolour,服务器接收解析,改变一次灯泡颜色
2.功能开发
新建ws2812工程目录
1.在SDK目录下新建ws2812目录
2.拷贝tcpserver目录下所有文件到ws2812目录下
新建ws2812源码文件
1.在user目录下新建ws2812.c
2.在include目录下新建ws2812.h
Sourceinsight配置
1.在之前的工程中,移除dht11文件夹
2.添加ws2812文件夹
代码实现
1.在ws2812.c下
(1)创建delay100Ns(),用于精准延时
(2)创建SEND_WS_0(),用于写入0码
(3)创建SEND_WS_1(),用于写入1码
(4)创建Ws2812REST (),用于帧复位
(5)创建Ws2812Write(colours colour),用于颜色写入
相关文章:

5.wifi开发【智能家居:上】,开发准备:智能开关灯,智能采集温湿,智能调彩灯
一。wifi智能家居项目开发 【开发准备1】:继电器控制开发 1.智能开关 器件准备:wifi(esp8266,使用CP2102)继电器 结果: 2.继电器工作原理 (1)继电器是一种自动电气开关 ÿ…...

26523-2022 精制硫酸钴 随笔练习
声明 本文是学习GB-T 26523-2022 精制硫酸钴. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了精制硫酸钴的要求、试验方法、检验规则、标志、标签、包装、运输和贮存。 本文件适用于精制硫酸钴。 注:该产品主要用于…...

企业该如何选择数字化转型工具?_光点科技
随着科技的不断进步和数字化的浪潮席卷全球,企业数字化转型已经成为了保持竞争力和持续增长的关键因素之一。无论企业规模大小,数字化转型都可以提高效率、降低成本、改善客户体验,从而实现更好的业务结果。然而,要成功进行数字化…...

算法与数据结构-Trie树
文章目录 什么是“Trie 树”?如何实现一棵 Trie 树?Trie 树真的很耗内存吗?Trie 树与散列表、红黑树的比较 什么是“Trie 树”? Trie 树,也叫“字典树”。顾名思义,它是一个树形结构。它是一种专门处理字符…...
语音助手开发小记(2023.9.25)
通道问题 在使用函数swr_alloc_set_opts给SwrContext传递输入输出的音频参数时,需要设置通道,这里通道为2,但是通道布局不能传递2.比如AV_CH_LAYOUT_STEREO 实际值为3 如果要计算通道布局的通道数使用函数av_get_channel_layout_nb_channels…...

FastestDet---模型训练
代码:https://github.com/dog-qiuqiu/FastestDet 一、构造数据集 数据集格式YOLO相同,每张图片对应一个txt标签文件。标签格式:“category cx cy wh”,category为类别id,cx, cy为归一化标签框中心点的坐标,w, h为归一化标签框的宽度和高度, .txt标签文件内容示例如下: 0…...

基于SpringBoot的医院管理系统
目录 前言 一、技术栈 二、系统功能介绍 病床信息管理 药房信息管理 个人中心管理 药房信息 病床类别 科室信息管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息互联网信息的飞速发展,医院也在创建着属于自己的管理系统。本文介…...
java图片转pdf ,pdf 导出
pom引入jar <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.0-RC2</version></dependency> 转pdf方法 /*** 使用pdfbox将jpg转成pdf** throws IOException IOException*/pu…...

掌握Go的运行时:从编译到执行
目录 一、Go运行编译简介Go语言的目标和设计哲学运行时环境编译过程小结 二、执行环境操作系统与硬件层系统调用(Syscalls)虚拟内存 Go运行时(Runtime)Goroutine调度器内存管理和垃圾收集网络I/O代码示例:Go运行时调度…...

打造香港最安全便捷的银行,众安银行发布首份技术白皮书
作者:林海宾&李龙 作为香港金融科技的代表,香港虚拟银行通过科技驱动,为客户提供了安全、便捷、普惠的金融服务。在八间持牌的虚拟银行中,众安银行目前在用户数量、存款、资产和收入规模上均处于领先水平。最快120秒线上开户…...

Spring实现简单的Bean容器
1.BeanDefinition,用于定义 Bean 实例化信息,现在的实现是以一个 Object 存放对象 public class BeanDefinition {/*** bean对象*/private Object bean;/*** 存放 (定义)Bean 对象*/public BeanDefinition(Object bean) {this.bea…...
Python15题day13
③continue的好处 break是跳出循环体,continue是跳过continue语句后面的代码块,循环并不停止 题目要求: 使用input函数接受用户的输入,如果用户输入的数值小于等于10,则判断是奇数还是偶数如果数值大于10,则输出“输入…...

聊聊并发编程——多线程之AQS
目录 队列同步器(AQS) 独占锁示例 AQS之同步队列结构 解析AQS实现 队列同步器(AQS) 队列同步器AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组 件的基础框架&…...

DE0开发板交通灯十字路口红绿灯VHDL
名称:基于DE0开发板的交通灯十字路口红绿灯 软件:Quartus 语言:VHDL 要求: 设计一个十字路口交通信号灯的控制电路。分为两种情况,正常状态和报警状态。 1.正常状态:要求红、绿灯按一定的规律亮和灭&a…...

华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制
华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制 1. 准备工作2. 环境搭建3. 心得总结 1. 准备工作 随着云计算时代的进一步深入,越来越多的中小企业企业与开发者需要一款简单易用、高能高效的云计算基础设施产品来支撑自身业务运营和创新开发。基…...
前端教程-webpack
官网 webpack webpack基础 视频教程 尚硅谷Webpack5入门到原理(面试开发一条龙)...
white-space几种属性的用法(处理空格)
white-space:normal 文首的空格忽略,文本内部的换行符自动转成了空格。 white-space:nowrap 不换行,即使超出容器宽度 white-space:pre 与原文本一致,空格和换行符保留 white-space:pre-…...
Linux的历史
Linux的历史 前言: 关于Linux,你可能只是听说过它是一款操作系统,也许你还知道它是开源的,但在日常生活中,你更熟悉的是Windows。 那么我们为什么要了解、学习Linux,看完这一篇,你也许可以从…...
软考高级系统架构设计师系列论文真题八:论企业集成平台的技术与应用
软考高级系统架构设计师系列论文真题八:论企业集成平台的技术与应用 一、论企业集成平台的技术与应用二、找准核心论点三、理论素材准备四、精品范文赏析1.摘要2.正文3.总结软考高级系统架构设计师系列论文之:百篇软考高级架构设计师论文范文软考高级系统架构设计师系列之:论…...
[H5动画制作系列] 路径引导动画 Demo
代码参考1: <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>路径引导动画 Demo1</tit…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...

Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...

macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...

Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...
linux设备重启后时间与网络时间不同步怎么解决?
linux设备重启后时间与网络时间不同步怎么解决? 设备只要一重启,时间又错了/偏了,明明刚刚对时还是对的! 这在物联网、嵌入式开发环境特别常见,尤其是开发板、树莓派、rk3588 这类设备。 解决方法: 加硬件…...

WinUI3开发_使用mica效果
简介 Mica(云母)是Windows10/11上的一种现代化效果,是Windows10/11上所使用的Fluent Design(设计语言)里的一个效果,Windows10/11上所使用的Fluent Design皆旨在于打造一个人类、通用和真正感觉与 Windows 一样的设计。 WinUI3就是Windows10/11上的一个…...