s3c2440红外控制美的空调(Linux)

2024-01-11 20:10

本文主要是介绍s3c2440红外控制美的空调(Linux),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以空间里头前做的一个实验,现在搬家,把他也挪过来了~

-------------2013.6.18更新------------
用逻辑分析仪捕捉了几个功能的编码,记录下来:
摆风:B2 6B E0 强劲:B5 F5 A2 //地址码为B5,再发一次为关闭强劲
高风:B2 3F 00 中风:B2 5F 00 低风:B2 9F 00 自动:B2 BF 00
另:老家的空调是格力的,拿格力的遥控器来试了下,编码比较复杂,很长一串,还不清楚有啥规律,先找找网上有没有现成的。而且格力的编码还有校验码,但愿它只是简单的“和校验”或者“异或校验”什么的吧,不过好的是没有加密,因为发送两次同样的操作,捕获的数据是一样的,可以copy之后发送,只是没那么灵活了。
------------------------------------
(才发现...把源码忘了,补上)
-----------------------------
其实程序去年就做完了,但一直没有给它做最后的收尾工作,比如打包、注释以及通信协议神马的。
现在也是简略的收收尾,打了包、还算比较详细的注释,不过通信协议嘛,基本没有,就是把红外需要发送的命令发送给开发板,开发板只起到调制红外的作用,不对命令进行解析; 也做了个简易的android客户端,由于太过简易,就不发上来了。自己另外做客户端也非常方便,只需要将3个字节的红外命令通过TCP协议发送给开发板就OK
-------------------------------------

整个程序都挺简陋,主要是夏天太热急着要用,用上就不想改了。。。。欢迎广大网友优化,优化了记得发我一份啊。。。。
driver代码:本驱动是linux下的,linux内核版本为2.6.32.2,用到了Timer0和Timer1,按道理一个timer应该也够了的,没多去折腾它了

把它编译为内核驱动模块就能使用, 同步、互斥神马的没测试,也没这方面的逻辑,就别乱折腾了。
application代码:同样linux下的,没什么内容,主要是socket的监听、收发,所以你运行它之前需要确保你的linux内核已经移植好了网卡驱动和安装了上面的那个驱动(我记得是有异步问题没处理的,用之前最好看看代码大笑)
源码:
http://download.csdn.net/detail/u013699922/7006459
--------------------------------------
顺便附上美的空调红外的一些常用编码:
关空调:B2 7B E0 摆风:B2 6B E0 17度:B2 1F 0818度:B2 1F 1819度:B2 1F 3820度:B2 1F 2821度:B2 1F 6822度:B2 1F 78
23度:B2 1F 58 24度:B2 1F 4825度:B2 1F C826度:B2 1F D827度:B2 1F 9828度:B2 1F 8829度:B2 1F A830度:B2 1F B8
没有“开空调”命令,因为选择多少度的时候就自然打开了,从编码上看得出来,都是B2开头,温度也都是B2 1F开头的...
-------------------------------
最后来张android客户端的图

这篇关于s3c2440红外控制美的空调(Linux)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修