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

本文主要是介绍【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 关闭
    在这里插入图片描述

这篇关于【IoT】将各类遥控器(红外,频射,蓝牙,wifi,Zigbee)等设备接入米家,实现家庭物联网设备控制(以极米Z7X投影仪为例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104397

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

菲律宾诈骗,请各位华人朋友警惕各类诈骗。

骗子招聘类型:程序开发、客服、财务、销售总管、打字员等 如果有人用高薪、好的工作环境来你出国工作。要小心注意!因为这些骗子是成群结伴的! 只要你进入一个菲律宾的群,不管什么类型的群都有这些骗子团伙。基本上是他们控制的! 天天在群里有工作的信息,工作信息都是非常诱惑人的。例如招“打字员”、“客服”、“程序员”……各种信息都有。只要你提交简历了,他会根据你的简历判断你这个人如何。所谓的心理战嘛!

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、