【IoT】将各类遥控器(红外,频射,蓝牙,wifi,Zigbee)等设备接入米家,实现家庭物联网设备控制(以极米Z7X投影仪为例)

【IoT】将各类遥控器(红外,频射,蓝牙,wifi,加密)等设备接入米家,实现家庭物联网设备控制(以极米Z7X投影仪为例)

文章目录

    • 1、三种主流遥控方式(红外,频射,其他)
      • 遥控器的类型
      • 红外遥控接入
      • 通用射频遥控接入
    • 2、其他1:红外转USB->安卓系统(以极米z7x投影仪为例)
      • 红外遥控器原理
      • 红外转USB说明
      • 极米Z7X改造
      • 红外转USB执行win bat脚本(电脑扩展功能,BAT常用功能)
    • 3、其他2:蓝牙开关->改造电路(以电话机为例)
      • 通用方案,改造电路
      • 以老电话机为例

1、三种主流遥控方式(红外,频射,其他)

参考资料:1, 2, 3

遥控器的类型

  • 第三方遥控主要可以分为三类,分别为
    红外遥控(如大部分的空调遥控、电视投影遥控)、
    通用射频遥控(如部分电动晾衣架遥控)和
    其他类(包括2.4G射频遥控、蓝牙遥控等)
  • 此三类设备红外遥控接入米家最简单,其他类最复杂

红外遥控接入

  • 绝大部分电视、投影、空调等使用的是红外遥控。
  • 对于此类遥控,只需要带红外功能的小爱音响(如小爱音箱pro、小爱音箱play加强版)或者小米万能遥控器(已停产,可以小黄买二手的)学习一下遥控按键就可以

通用射频遥控接入

  • 如何判断是通用射频还是加密射频
    (1)询问店铺客服
    (2)拆开遥控,通过遥控的主板判断
    在这里插入图片描述
  • 通用射频遥控接入米家
    买对应频率的遥控器进行学习

2、其他1:红外转USB->安卓系统(以极米z7x投影仪为例)

红外遥控器原理

红外线遥控器是一种利用红外线(IR)信号来远程控制电子设备的工具,广泛应用于电视、空调、音响等家用电器。红外线是一种电磁波,波长在可见光范围之外,大约在750纳米到1毫米之间。以下是红外线遥控器的基本工作原理:

  1. 发射端(遥控器)

    • 用户输入:用户按下遥控器上的按钮。
    • 编码:遥控器内部的微控制器(MCU)根据按钮的不同,生成特定的编码信号。
    • 调制:编码信号被调制到红外线载波上,通常使用38kHz的频率,这是红外线遥控器常用的载波频率。
    • 发射:调制后的信号通过遥控器前端的红外线LED发射出去。
  2. 接收端(电子设备)

    • 接收:电子设备上的红外线接收器(通常是一个光电二极管或光电晶体管)接收到红外线信号。
    • 解调:接收器将红外线信号转换为电信号,并进行解调,提取出编码信息。
    • 解码:微控制器对接收到的编码信号进行解码,识别出用户的操作意图。
    • 执行命令:根据解码后的结果,电子设备执行相应的动作,如切换频道、调整音量等。
  3. 特殊功能

    • 学习功能:一些遥控器具有学习功能,可以复制其他遥控器的信号,从而控制多种设备。
    • 重复发送:为了防止信号丢失,遥控器通常会在用户按下按钮后重复发送信号几次。
    • 安全编码:为了提高安全性,一些遥控器使用滚动码或其他加密技术来防止信号被非法复制。

红外线遥控器的优点包括成本低、使用简单、无需视线直接对准设备等。缺点则是信号传输距离有限,且容易被物体阻挡,以及在有多个遥控器同时使用的环境中可能会发生干扰。随着技术的发展,一些新型的遥控器开始使用蓝牙、Wi-Fi等无线技术,以提供更远的控制距离和更好的抗干扰能力。

红外转USB说明

工作原理:

  • 红外遥控器(或小爱音箱等)发送红外码给接收头----->
  • 接收头收到红外码后查找此码对应的功能如音量加(配置软件的作用就是配置映射关系)—>
  • 通过USB通道发送标准多媒体命令实现控制(WINDOWS /安卓/ LINUX这些系统都遵循USB的协议所以运行这些系统的设备理论上都支持)。

应用场景:
1、遥控操作电脑键盘 鼠标
2、电脑多媒体控制音量 快进 下一首 播放/暂停 关机等(系统自带的播放器及一些知名的播放器都支持多媒体按键)
3、智能电视控制,如家里智能电视遥控器坏了可以用这个代替
4、部分客户用来控制投影,或者用小爱音箱红外版发码控制
5、按遥控器按键执行BAT脚本打开电脑软件/网址/文档
6、嵌入式系统、 开发板等没有键盘的但支持USB HOST的设备可以用此遥控器当作键盘输入
7、会议演讲PPT控制
注:设备按微软WINDOWS标准实现,大部分手机设备也是参考此标准,如果在电脑上正常但您的设备不支持或部分功能不支持可能是您的设备没有完全实现这些标准。

操作方式

  • 打开配置软件,插入USB(免驱动,插入电脑不会有任何反应,但配置软件能检测到USB设备)
  • 遥控器随便按一个按键,此时软件会显示红外码。 如果收不到请检测遥控器是否本身工作正常,如果正常还收不到可能不是NEC编码的或换个其他红外遥控器测试。
  • 再选择此按键对应的功能操作,比如按回车键就选软件上键盘选项卡上的回车,音量+就选多媒体页里的音量+,再点设置键值即完成。(设置完后不需要再打开软件,把此USB拿到其他电脑或智能设备上也直接可以用)
    在这里插入图片描述

极米Z7X改造

背景:

  • 极米投影仪无法直接接入米家,且遥控器为蓝牙控制,因此也无法直接通过红外控制。

结论:

  • 通过米家智能插座3和红外输入转usb模块可以对投影仪实现大多数的操作,包括但不限于开机、关机、上下左右、确定(播放/暂停)、静音、音量加减、主页、菜单、返回等。

解决方案:

  • 开机:米家智能插座3进行功率监测,功率很低时如低于5w时关闭供电,同时设置投影仪上电开机。这样每次打开米家智能插座时即可打开投影仪
  • 关机1:关机有比较暴力的方案,即直接关闭智能插座,但是投影仪直接断电就无法进行散热,很容易损坏。
  • 关机2:因此考虑更合适的方式,可以通过红外输入转usb来实现关机,30多元购入。
  • 其他功能控制:全都依赖红外转usb,买入后可以将模块插到电脑上(win),按照卖家的教程下载软件配置。
  • 同时需要一个红外遥控器;我因为有小爱音箱pro,直接从米家创建了一个极米的遥控器来模拟即可。模块会接收红外信号,配置软件可以识别对应的信号,并支持我们配置对应的操作。
  • 比如我按下遥控器的关机键,就在配置软件中选择关机操作。那么等模块学习完成后,我按下遥控器上的关机键,模块会接收到红外信号并转化成usb的关机操作执行到投影仪上,同理,其他操作也是如此。

更多:

  • 电视遥控码
    在这里插入图片描述
  • HID 用途、Linux 按键代码和 Android 按键代码
    在这里插入图片描述

红外转USB执行win bat脚本(电脑扩展功能,BAT常用功能)

参考资料:红外遥控使用说明 , 发送键盘指令,HID 用途、Linux 按键代码和 Android 按键代码,

启动一个EXE程序
start "" "C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"微信多开:
TASKKILL /F /IM wechat.exe
start "" "C:\Program Files (x86)\Tencent\WeChat\WeChat.exe"
start "" "C:\Program Files (x86)\Tencent\WeChat\WeChat.exe"打开网址:
start "" "http://baidu.com"打开文件:
start C:\test.xlsx10秒后关机
shutdown -s -t 10重启:
shutdown /r /t 0启动其他BAT:
start /D "D:\Program Files\redis\test1" start.bat
start /D "D:\Program Files\redis\test2" query.bat在windows下.bat每5分钟运行一次python文件
@echo off
set INTERVAL = 300
timeout %INTERVAL%
:Again
echo Called000000000000000
python C:/test.py
timeout %INTERVAL%
goto Againbat实现不了的功能怎么办?
使用其他脚本语言比如powershell  、VBS、python等,或者用编程语言开发个简单的控制台程序EXE就行了,然后BAT里再调用。更多BAT脚本用法请自行上网搜索 BAT调用POWERSHELL 实现更多复杂的功能:
powershell  -WindowStyle Hidden -executionpolicy remotesigned -file KEY.PS1"
KEY.PS1 是POWERSHELL脚本,内容示例:
$shell = New-Object -com "Wscript.Shell"#键码可参考 
$shell.sendkeys("{CAPSLOCK}") #按大小写键可以给BAT文件创建一个快捷方式(右键--发送到--桌面快捷方式)
然后右击该快捷方式,选择菜单选项中的"属性"打开,在"快捷方式"选项卡中为其设置一个快捷方式,点击确定保存即可。这样就可以不用打开电脑软件,只要把红外码配置成对应的键盘快捷键即可不打开软件执行BAT

3、其他2:蓝牙开关->改造电路(以电话机为例)

通用方案,改造电路

其他遥控接入米家

  • 对于不是以上两类的遥控,如蓝牙、2.4G、868等遥控不能通过上面的成品方案直接接入。
  • 下面介绍一个具有通用性的方案,所有的遥控或者按键类的开关都可以通过此方案接入米家。
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

以老电话机为例

老电话机

  • 参考资料:1, 2 , 3

tb方案:

  • 确认清楚自己的门禁机属于什么型号,其实直接拆下来把电路板。
  • 部分情况需要拍单元门主机的外观照片。
  • 收到魔改后的电话机后,按照教程安装。(一般是加装了通断器和wifi模块)

原理分析:

  • 开启门禁的必须动作是
    1.楼下有人按门铃
    2.抬起门禁话筒
    3.按下开锁键
    4.挂回电话
  • 可以使用米家无线mesh继电器,连接到门禁话机电路来控制2,3,4步骤的自动化。
    这里需要3路以上的继电器来实现。

手动操作:

  • 材料:4路米家mesh继电器,你的门禁话机,TYPE-C口电源,焊锡,电烙铁,电压表,十字螺丝刀
  • 1)动作“有人按门铃”,如有人在楼下按502,房内门铃响起,这步是人为进行的前置条件,不需要处理。
  • 2)动作“抬起门禁话筒”,拆开话机,看到话筒压着一个压簧开关,平时挂机处于压下状态,接听为弹起状态。
    (以下abcdef指话机电路板点。NC[常闭],COM[公共],NO[常开]指继电器接线点)
    通过电压笔测话机电路板焊点得知:
    挂机时: a-e接通,b-f接通
    接听时:a-e断开,a-c接通; b-f断开,b-d接通。
    焊接连线方案:
    继电器1:a点接到COM口,c点接NO口,e点接NC口
    继电器2:b点街道COM口,d点接NO口,f点接NC口
  • 3)动作"开下开锁",
    通过电压表测开锁按键,话机电路板点,GH同一通路,IJ同一通路。平时,G和I是断开的,按下开锁键,GI接合
    焊接连线方案:
    继电器3:I点连COM口,G连NO口
  • 4)动作"挂回电话",可以直接控制步骤2连线。
    挂机时:a-c断开,a-e接通; b-d断开,b-f接通。
    在这里插入图片描述

控制方案:

  • 将mesh继电器连上typec电源,加入米家,这里的4个按键分别对应4个继电器开关,我们只用到3个,控制如下
    1.有人按门铃–人为动作
    2."抬起门禁话筒"继电器1和2打开–>延迟1秒–>"按下开锁"继电器3打开(门打开)–>延迟1秒–>"挂回电话"继电器1 2 3 关闭
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/52715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

看新闻知补贴不用专门薅羊毛!让工作变舒服的5个黄金法则——早读(逆天打工人爬取热门微信文章解读)

你们都不看新闻吗? 引言Python 代码第一篇 洞见 让工作变舒服的5个黄金法则第二篇 故事之散户结尾 (发了3000亿以旧换新补贴,大家没有感觉到力度吗? 时间到今年年底,9月-12月是消费区,中间夹杂个双十一,现在…

一文搞懂 js 原型和原型链

文章目录 一、前言二、原型2.1 概念2.2 获取原型的方法2.2.1 __proto__获取方式2.2.2 通过构造函数prototype 属性获取2.2.2 ES6 class 通过Object.getPrototypeOf()获取类原型 2.3 通过原型实现继承2.4 原型的作用 三、 原型链四、ES6实现继承五、综述 一、前言 原型和原型链…

深入学习SQL优化的第五天(最后一天)

子查询 1321 餐 馆 营 业 额 变 化 增 长 1321. 餐馆营业额变化增长 表: Customer------------------------ | Column Name | Type | ------------------------ | customer_id | int | | name | varchar | | visited_on | date | | amount …

Linux网口指令

一 查看配置 ifconfig 二 修改IP sudo ifconfig ens33 192.168.150.100 netmask 255.255.255.0

kafka的12个重要概念

kafka的12个重要概念 1、服务器broker1.1、Broker 的主要功能1.2、Kafka Broker 的架构1.3、配置和管理1.4、高可用性和负载均衡1.5、总结 2、主题topic2.1、主要特点 3、事件Event4、生产者producer4.1、主要功能4.2、Producer 的配置选项4.3、Producer 的工作流程4.4、总结 5…

如何在不增加太多时间和精力的情况下,提高OZON电商店铺的运营效果

以下是一些在不增加过多时间精力的情况下提高 OZON 电商店铺运营效果的要点: 一、优化产品信息 • 关键词优化:利用 15-30 分钟时间,每周进行一次关键词研究,找到与产品相关且搜索量大的关键词,将其巧妙地融入到产品标…

3、LVGL控件-开关、复选框、进度条

本篇文章目录导航 ♠♠ LVGL控件-开关、复选框、进度条 ♣♣♣♣ 一、LVGL开关部件 ♦♦♦♦♦♦♦♦ 1.1 开关部件组成部分 ♦♦♦♦♦♦♦♦ 1.2 开关部件基本API ♦♦♦♦♦♦♦♦ 1.3 实验小演示 ♣♣♣♣ 二、LVGL复选框部件 ♦♦♦♦♦♦♦♦ 2.1 复选框部件组成部分 ♦…

立体库技术协议:完整版

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 完整版文件和更多学习资料,请球友到知识星球【智能仓储物流技术研习社】自行下载。 这份文件是一份关于自动化立体库技术协议的详细文档,包括了总体设计方案、…

C语言中的运算符

一,算数运算符 基本算术运算符: 加法():用于两个数相加。例如 int a 3 5;,结果 a 的值为 8。 减法(-):两个数相减。如 int b 7 - 4;,b 的值为 3。 乘法(*…

【动图效果概览】自动化建链后,Exata调用STK更新卫星位置

如下图所示,动画遵循 时间前进方向,划分截取为5段 (因为每张照片限制大小5MB,不够应该够看清个大概意思了):

黑神话悟空用什么编程语言

《黑神话:悟空》作为一款备受瞩目的国产单机动作游戏,其背后的开发涉及了多种编程语言和技术。根据公开信息和游戏开发行业的普遍做法,可以推测该游戏主要使用了以下几种编程语言: C: 核心编程语言:作为《黑…

【计算机网络】计算机网络的分层结构

为什么要分层?为什么要制定协议? 计算机网络功能复杂→采用分层结构,将诸多功能合理地划分在不同层次→对等层之间制定协议,以实现功能。

LabVIEW性能优化方法

在LabVIEW开发中,性能优化至关重要。合理的内存管理、并行处理、多线程优化、以及界面和代码的精简能够大幅提高程序效率,降低系统资源占用。下面将探讨LabVIEW性能优化的各个方面,提供实用技巧和建议,帮助开发者提升项目的执行速…

Node.js原生开发脚手架工具(下)

前言 在现代软件开发中,脚手架工具成为提高开发效率和一致性的关键利器。使用Node.js原生开发自己的脚手架工具不仅能帮助自动化常见任务,还能根据具体需求进行高度定制。Node.js的异步非阻塞特性和丰富的模块系统使其成为构建这种工具的理想选择。本篇文…

12.torchvision中的数据集使用

torchvision中的数据集使用 需要学习知识: 如何把数据集(多张图片)和 transforms 结合在一起。 标准数据集如何下载、查看、使用。 进入pytorch官网,可以看到pytorch文档里分了不同的块,如下图,标出了常…

《机器学习》—— K-means 聚类算法

文章目录 一、什么是K-means 聚类算法?二、聚类效果评价方式——轮廓系数三、示例:代码实现四、聚类算法的优缺点 一、什么是K-means 聚类算法? K-Means 是 Python 中非常流行的一个聚类算法,它属于无监督学习算法的一种。在 sci…

PDF招生简章如何转二维码?

​随着科技的不断发展,招生报名方式也在不断创新。如今,许多学校和企业都采用PDF招生简章来宣传招生。然而,传统的纸质招生简章存在携带不便、易损坏等问题。为了解决这些问题,将PDF招生简章转换为二维码成为了一种趋势。那你知道…

微信小程序开发--详情【开发一次 多端覆盖】

目录 1、准备工作 了解 uni-app : 准备开发工具: 下载 : 安装完成后,打开这个开发者工具: 对微信小程序进行配置: 使用开发工具HBuilderX:: 先安装终端插件 2、初始化一个demo 创建项目&#xff1…

2024广东省职业技能大赛云计算赛项实战——安装ELK日志分析服务

安装ELK日志分析服务 前言 ELK是一个用于处理和分析日志数据的开源技术栈,由三个主要组件组成,E即Elasticsearch,L即Logstash,K即Kibana。 Elasticsearch是一个分布式搜索和分析引擎,用于存储、搜索和分析大量数据&…

OpenCV绘图函数(4)绘制轮廓线的函数drawContours()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 函数会在图像中绘制轮廓线&#xff0c;如果 thickness ≥ 0&#xff0c;则绘制轮廓线&#xff1b;如果 thickness < 0&#xff0c;则填充由轮…