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

用ESP8266快速实现WIFI红外遥控器(SoC模式)

1,硬件结构图
主要使用了esp8266 wifi模块和红外串口通讯模块。有了红外串口通讯模块,省去了单片机的串口通讯和红外编码程序,大大缩短开发时间。因为红外通讯模块不支持3.3VTTL电平,所以两个模块之间加了一个2路电平转换模块,把ESP8266的3.3V电平装换为红外通讯模块所需的5V电平。ESP8266有两个串口,串口0是双向的一般用在与MCU通讯,串口1是单向,显示LOG用。红外串口通讯模块资料请参考附件。
各模块连接图如下:

2, 红外线串口通讯模块 

目前很多家电带有红外遥控,如:电视、空调、风扇等等。有一个用手机控制的红外线遥控器的话现有的家电变成智能家电了,比如到家之前手机远程开空调等。
本文介绍通过机智云平台快速实现智能家电红外遥控器。
 
1,硬件结构图
主要使用了esp8266 wifi模块和红外串口通讯模块。有了红外串口通讯模块,省去了单片机的串口通讯和红外编码程序,大大缩短开发时间。因为红外通讯模块不支持3.3VTTL电平,所以两个模块之间加了一个2路电平转换模块,把ESP8266的3.3V电平装换为红外通讯模块所需的5V电平。ESP8266有两个串口,串口0是双向的一般用在与MCU通讯,串口1是单向,显示LOG用。红外串口通讯模块资料请参考附件。
各模块连接图如下:
2, 红外线串口通讯模块
功能:
1、具备NEC格式红外发射功能。
2、具备NEC格式 红外编码功能。
3、带红外发射头扩展接口。
4、具备串口通信功能,通信电平为TTL。
5、可控制99%的NEC红外格式设备,包括电视机、电风扇等电子电器设备。
6、支持NEC 编码芯片:(典型编码芯片如uPD6121, uPD6122, TC9012 以及众多  的兼容芯 片型号,如 PT2221, PT2222,SC6121, SC6122,   SC9012 等等)。
7、可作为红外无线数据通信、数据传输、红外控制等功能。
 
使用方法:
解码:解码时不需要发送任何指令,只需要拿起遥控对准模块的接收头按下,这时模块的串口就输出该红外编码。
编码(发射):编码时需要根据一定格式发送指令,通过电脑或者单片机串口发送5个字节的指令,就可以将对应编码的红外信号还原出去。

2,获取遥控器编码
把红外串口通讯模块连接USB转TTL模块上(电压5V),打开串口调试助手,按下家电的红外遥控键,获取各键的红外编码并记录下来。

3,ESP8266开发(SoC)
创建数据点
MCU设置及生成代码
4,Soc程序修改
红外遥控编码中可能包含0X00,这是字符串结束符,所以不能直接用uart0_sendStr函数了。
打开uart.c文件创建uart0_sendIFR函数,内容下图
uart.h 里加函数**
确认user_main.c函数中的串口初始化,由于红外串口通讯模块的默认波特率是9600,所以串口初始化部分不需要修改
gizwits_product.c 文件的修改
发射逻辑
5,编译及烧写
官网和其他帖子里介绍的很详细,这里不再重复了。
6,测试
红外线管对准家电,用手机机智云Demo程序可以控制家电了
对应资料; 用ESP8266快速实现WIFI红外遥控器(SoC模式)资源-CSDN文库

相关文章:

用ESP8266快速实现WIFI红外遥控器(SoC模式)

1,硬件结构图 主要使用了esp8266 wifi模块和红外串口通讯模块。有了红外串口通讯模块,省去了单片机的串口通讯和红外编码程序,大大缩短开发时间。因为红外通讯模块不支持3.3VTTL电平,所以两个模块之间加了一个2路电平转换模块&…...

微服务OAuth 2.1认证授权可行性方案(Spring Security 6)

文章目录 一、背景二、微服务架构介绍三、认证服务器1. 数据库创建2. 新建模块3. 导入依赖和配置4. 安全认证配置类 四、认证服务器测试1. AUTHORIZATION_CODE(授权码模式)1. 获取授权码2. 获取JWT 2. CLIENT_CREDENTIALS(客户端凭证模式) 五、Gateway1.…...

Maui blazor ios 按设备类型设置是否启用safeArea

需求&#xff0c;新做了个app&#xff0c; 使用的是maui blazor技术&#xff0c;里面用了渐变背景&#xff0c;在默认启用SafeArea情况下&#xff0c;底部背景很突兀 由于现版本maui在SafeArea有点bug&#xff0c;官方教程的<ContentPage SafeAreafalse不生效&#xff0c;于…...

C#系列-使用 Minio 做图片服务器实现图片上传 和下载(13)

1、Minio 服务器下载和安装 要在本地安装和运行 MinIO 服务器&#xff0c;你可以按照以下 步骤进行操作&#xff1a; 1. 访问 MinIO 的官方网站&#xff1a;https://min.io/&#xff0c;然后 点击页面上的”Download”按钮。 2. 在下载页面上&#xff0c;选择适合你操作系统的 …...

生活篇——华为手机去除负一屏

华为手机去除如下图的恶心负一屏 打开华为的应用市场app 进入&#xff1a;我的-设置-国家/地区&#xff08;改为俄罗斯&#xff09;-进入智慧助手检查更新并更新智慧助手。 然后重复开始的操作&#xff0c;将地区改回中国&#xff0c;这样就没有负一屏了。...

2024牛客寒假算法基础集训营2-c Tokitsukaze and Min-Max XOR

来源 题目 Tokitsukaze 有一个长度为 n 的序列 a1,a2,…,an和一个整数 k。 她想知道有多少种序列 b1,b2,…,bm满足&#xff1a; 其中 ⊕\oplus⊕ 为按位异或&#xff0c;具体参见 百度百科&#xff1a;异或 答案可能很大&#xff0c;请输出  mod1e97 后的结果。 输入描述…...

C语言:指针的基础详解

目录 1. 内存 2. 取地址& 3. 指针变量 4. 解引用 4.1 *解引用 4.2 []解引用 4.3 ->解引用 5. 指针变量的大小 5.1 结论 6. 指针运算 7. void* 指针 8. const修饰指针 8.1 const修饰变量 8.2 const修饰指针变量 8.3 结论 9. 野指针 9.1 为什么会出现野指…...

PHP+vue+mysql校园学生社团管理系统574cc

运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框架&#xff1a;Thinkphp 前端框架&#xff1a;vue.js 服务器&#xff1a;apache 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat/phpmyadmin 前台功能&#xff1a; 首页&#xff1a;展示社团信息和活动…...

VS Code中主程序C文件引用了另一个.h头文件,编译时报错找不到函数

目录 一、问题描述二、问题原因三、解决方法四、扩展五、通过CMake进行配置 一、问题描述 VS Code中主程序C文件引用了另一个.h头文件&#xff0c;编译时报错找不到函数 主程序 main.c #include <stdio.h> #include "sumaa.h"int main(int, char**){printf(&q…...

边缘计算:重塑数字世界的未来

引言 随着物联网&#xff08;IoT&#xff09;设备的激增和5G网络的普及&#xff0c;我们正站在一个计算模式的新纪元门槛上——边缘计算。这一技术范式将数据处理和分析推向网络的边缘&#xff0c;即设备或终端&#xff0c;为实时性要求较高的应用提供了前所未有的可能性。 目…...

2024 前端面试题 附录3

这里记录的是昨天和今天原篇的知识点补充 原篇地址&#xff1a; 2024 前端面试题&#xff08;GPT回答 示例代码 解释&#xff09;No.41 - No.60 2024 前端面试题&#xff08;GPT回答 示例代码 解释&#xff09;No.61 - No.100 2024 前端面试题&#xff08;GPT回答 示例代…...

[Vue warn]: Duplicate keys detected: ‘1‘. This may cause an update error.

[Vue warn]: Duplicate keys detected: ‘1‘. This may cause an update error.——> Vue报错&#xff0c;key关键字不唯一&#xff1a; 解决办法&#xff1a;修改一下重复的id值&#xff01;&#xff01;&#xff01;...

Docker-Learn(二)保存、导入、使用Docker镜像

1.保存镜像 根据上一节内容&#xff0c;将创建好镜像进行保存&#xff0c;需要退出当前的已经在运行的docer命令行中断里面&#xff0c;可以通过在终端里面输入指令exit或者按下键盘上的 ctrlD建退出&#xff1a; 回到自己的终端里面&#xff0c;输入指令&#xff1a; docker…...

第三百一十五回

文章目录 1. 概念介绍2. 基本用法3. 补充用法4. 内容总结 我们在上一章回中介绍了"再谈ListView中的分隔线"&#xff0c;本章回中将介绍showMenu的用法.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在第一百六十三回中介绍了showMenu相关的内容…...

区块链(一): 以太坊基础知识

目录 什么是区块链&#xff1f;什么是以太坊&#xff1f;什么是加密货币&#xff1f;以太坊与比特币有什么不同&#xff1f;以太坊能做什么&#xff1f;什么是智能合约&#xff1f;以太坊社区以太坊白皮书 什么是区块链&#xff1f; 区块链是一个交易数据库&#xff0c;在网络…...

高级FPGA开发之基础协议PCIe

基础协议之PCIe部分 一、TLP包的包头 在PCIe的系统中&#xff0c;tlp包的包头的结构有许多部分是相似的&#xff0c;通过掌握这些常规的包头&#xff0c;能帮助理解在PCIe总线上各个设备之间如何进行数据的收发。 通用的字段 通用字段作用Fmt决定了包头是3DW还是3DW&#xff…...

Vue核心基础1:数据代理

1 回顾Object.defineProperty方法 let str hello const person {name: 张三,age: 18 } Object.defineProperty(person, sex, {// value: 男,// enumerable: true, // 控制属性是否可以枚举&#xff0c;默认值是false// writable: true, // 控制属性是否可以被修改&#xff0…...

12 ABC串口接收原理与思路

1. 串口接收原理 基本原理&#xff1a;通过数据起始位判断要是否要开始接收的数据&#xff0c;通过采样的方式确定每一位数据是0还是1。 如何判断数据起始位到来&#xff1a;通过边沿检测电路检测起始信号的下降沿 如何采样&#xff1a;一位数据采多次&#xff0c;统计得到高…...

leetcode(二分查找)34.在排序数组中查找元素的第一个和最后一个位置(C++详细解释)DAY11

文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计…...

算法刷题框架

前言&#xff1a;最近积累了一些算法题量&#xff0c;正在刷东神的算法笔记&#xff0c;监督自己记录下读后启发&#xff0c;顺便帮助道友们阅读 数据结构 这一部分老生常谈&#xff0c;数据的存储方式只有顺序存储和链式存储。 最基本的数组和链表对应这两者&#xff0c;栈…...

如何永久保存微信聊天记录:WeChatMsg开源工具的完整解决方案

如何永久保存微信聊天记录&#xff1a;WeChatMsg开源工具的完整解决方案 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…...

Midscene.js实战指南:3步构建跨平台AI自动化测试,效率提升70%

Midscene.js实战指南&#xff1a;3步构建跨平台AI自动化测试&#xff0c;效率提升70% 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 在当今多平台应用生态中&am…...

C-Eval:中文大模型能力评估的“高考”与诊断工具

1. 项目概述&#xff1a;为什么我们需要一个“中文大模型高考”&#xff1f;最近两年&#xff0c;大模型的热度居高不下&#xff0c;各种评测榜单也层出不穷。但不知道你有没有发现一个现象&#xff1a;很多号称在某某英文评测集上“刷”到SOTA&#xff08;State-of-the-Art&am…...

为什么你的Perplexity薪资查询总返回403?3类Token权限陷阱+2种合法绕行路径(含Postman配置模板)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么你的Perplexity薪资查询总返回403&#xff1f;3类Token权限陷阱2种合法绕行路径&#xff08;含Postman配置模板&#xff09; 当你调用 Perplexity 提供的薪资数据 API&#xff08;如 /v1/salari…...

从‘看见’到‘看懂’:手把手拆解RGB-D摄像头(如Intel Realsense)的3D视觉原理与应用

从‘看见’到‘看懂’&#xff1a;手把手拆解RGB-D摄像头的3D视觉原理与应用 当你第一次看到RGB-D摄像头生成的彩色点云在屏幕上旋转时&#xff0c;那种将现实世界数字化的震撼感令人难忘。但真正让这种设备发挥价值的&#xff0c;是理解它如何将光信号转化为三维坐标的完整技术…...

从零开始在Taotoken模型广场选择并测试最适合的模型

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 从零开始在Taotoken模型广场选择并测试最适合的模型 当你开始使用大模型时&#xff0c;面对众多厂商和不同能力的模型&#xff0c;…...

百度网盘macOS版加速插件完全指南:三步破解限速限制

百度网盘macOS版加速插件完全指南&#xff1a;三步破解限速限制 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 你是否也曾面对百度网盘macOS版那令人绝…...

CW32 S12SD紫外线传感器实战:从I2C驱动到数据校准全解析

1. 项目概述&#xff1a;从“晒太阳”到“测阳光”的精准跨越最近在做一个户外环境监测的小玩意儿&#xff0c;需要精确感知紫外线强度。市面上紫外线传感器不少&#xff0c;但CW32生态里的S12SD模块以其小巧、数字接口和不错的性价比&#xff0c;成功吸引了我的注意。这玩意儿…...

你的STM32调试信息用对了吗?深入对比.axf文件与addr2line.exe的配合之道

STM32调试进阶&#xff1a;解密.axf文件与addr2line的黄金组合 调试嵌入式系统时&#xff0c;最令人沮丧的莫过于设备突然崩溃&#xff0c;而你却对问题源头一无所知。作为一名长期与STM32打交道的开发者&#xff0c;我经历过无数次这样的时刻&#xff0c;直到真正理解了调试信…...

惠普战66内存硬盘升级全攻略:从选条到安装,手把手教你避开新手常踩的坑

惠普战66内存硬盘升级全攻略&#xff1a;从选条到安装&#xff0c;手把手教你避开新手常踩的坑 当你发现电脑运行速度变慢&#xff0c;多开几个网页就开始卡顿&#xff0c;或是存储空间频频告急时&#xff0c;升级内存和硬盘可能是最具性价比的解决方案。作为惠普战66系列的用户…...