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

【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 关闭
    在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C#】去掉字符串中的第一或最后一位
  • unity 使用Sqlite报错
  • LLama3本地部署安装
  • DevEco Studio 预览器报错踩坑
  • 二进制协议集合
  • 基于springmvc实现文件上传
  • 常见虚拟现实硬件设备及特点
  • C++不同数据类型连接成一个字符串
  • 老程序员回到小地方搞团队接私活
  • Vue | 简单说说 Vuex 实现响应式的原理
  • leetcode203:移除链表元素
  • 【Linux目录结构简析】
  • Datawhale X 李宏毅苹果书 AI夏令营task1-3笔记
  • linux:进程间的通信
  • python怎么使用模块中的类
  • 时间复杂度分析经典问题——最大子序列和
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • Android 架构优化~MVP 架构改造
  • CSS实用技巧干货
  • dva中组件的懒加载
  • es6要点
  • Git的一些常用操作
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Javascript设计模式学习之Observer(观察者)模式
  • Leetcode 27 Remove Element
  • Python - 闭包Closure
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • ReactNativeweexDeviceOne对比
  • SegmentFault 2015 Top Rank
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • windows-nginx-https-本地配置
  • 创建一种深思熟虑的文化
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 记录一下第一次使用npm
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何合理的规划jvm性能调优
  • 深度学习中的信息论知识详解
  • Spring Batch JSON 支持
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 交换综合实验一
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • # 计算机视觉入门
  • #70结构体案例1(导师,学生,成绩)
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (四)linux文件内容查看
  • (一)appium-desktop定位元素原理
  • (转)nsfocus-绿盟科技笔试题目
  • (转)ObjectiveC 深浅拷贝学习
  • (转)人的集合论——移山之道
  • *Django中的Ajax 纯js的书写样式1