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

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)继电器是一种自动电气开关 &#xff…...

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语言的目标和设计哲学运行时环境编译过程小结 二、执行环境操作系统与硬件层系统调用&#xff08;Syscalls&#xff09;虚拟内存 Go运行时&#xff08;Runtime&#xff09;Goroutine调度器内存管理和垃圾收集网络I/O代码示例&#xff1a;Go运行时调度…...

打造香港最安全便捷的银行,众安银行发布首份技术白皮书

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

Spring实现简单的Bean容器

1.BeanDefinition&#xff0c;用于定义 Bean 实例化信息&#xff0c;现在的实现是以一个 Object 存放对象 public class BeanDefinition {/*** bean对象*/private Object bean;/*** 存放 &#xff08;定义&#xff09;Bean 对象*/public BeanDefinition(Object bean) {this.bea…...

Python15题day13

③continue的好处 break是跳出循环体&#xff0c;continue是跳过continue语句后面的代码块&#xff0c;循环并不停止 题目要求: 使用input函数接受用户的输入&#xff0c;如果用户输入的数值小于等于10&#xff0c;则判断是奇数还是偶数如果数值大于10&#xff0c;则输出“输入…...

聊聊并发编程——多线程之AQS

目录 队列同步器&#xff08;AQS&#xff09; 独占锁示例 AQS之同步队列结构 解析AQS实现 队列同步器&#xff08;AQS&#xff09; 队列同步器AbstractQueuedSynchronizer&#xff08;以下简称同步器&#xff09;&#xff0c;是用来构建锁或者其他同步组 件的基础框架&…...

DE0开发板交通灯十字路口红绿灯VHDL

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

华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制

华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制 1. 准备工作2. 环境搭建3. 心得总结 1. 准备工作 随着云计算时代的进一步深入&#xff0c;越来越多的中小企业企业与开发者需要一款简单易用、高能高效的云计算基础设施产品来支撑自身业务运营和创新开发。基…...

前端教程-webpack

官网 webpack webpack基础 视频教程 尚硅谷Webpack5入门到原理&#xff08;面试开发一条龙&#xff09;...

white-space几种属性的用法(处理空格)

white-space&#xff1a;normal 文首的空格忽略&#xff0c;文本内部的换行符自动转成了空格。 white-space&#xff1a;nowrap 不换行&#xff0c;即使超出容器宽度 white-space&#xff1a;pre 与原文本一致&#xff0c;空格和换行符保留 white-space&#xff1a;pre-…...

Linux的历史

Linux的历史 前言&#xff1a; 关于Linux&#xff0c;你可能只是听说过它是一款操作系统&#xff0c;也许你还知道它是开源的&#xff0c;但在日常生活中&#xff0c;你更熟悉的是Windows。 那么我们为什么要了解、学习Linux&#xff0c;看完这一篇&#xff0c;你也许可以从…...

软考高级系统架构设计师系列论文真题八:论企业集成平台的技术与应用

软考高级系统架构设计师系列论文真题八:论企业集成平台的技术与应用 一、论企业集成平台的技术与应用二、找准核心论点三、理论素材准备四、精品范文赏析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…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

快速排序算法改进:随机快排-荷兰国旗划分详解

随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...

前端调试HTTP状态码

1xx&#xff08;信息类状态码&#xff09; 这类状态码表示临时响应&#xff0c;需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分&#xff0c;客户端应继续发送剩余部分。 2xx&#xff08;成功类状态码&#xff09; 表示请求已成功被服务器接收、理解并处…...