大家好,我是本期栏目编辑小友,现在为大家讲解如何使用Android和Arduino控制IR空调问题。
第一步:需求
先决条件:
-空调(什么都别说!)
-交流红外控制遥控器(因为我们需要解码红外代码,所以必须处于良好的工作状态)
硬件:
-Arduino MEGA 2560
-Arduino兼容以太网掩码
-小面包板。
-跳线
-(1)红外接收二极管
-(1)红外发光二极管
软件:
-Arduino SDK
-Android SDK
-红外遥控Arduino图书馆-(图书馆官网)
-网络图书馆号-(图书馆官方网站)
第二步:安排好一切
我们准备好了!
首先,我们需要解压缩我们刚刚创建的红外遥控器和网络杜伊诺库。下载到Arduino SDK库文件夹。
徐:是的.arduino-1.0.4库
现在,我们必须告诉Arduino SDK我们是什么样的Arduino。使用。因此,我们转向:
工具板Arduino Mega 2560或Mega ADK,选择Arduino Mega。
然后选择检测到Arduino的端口:工具串行端口您的端口。
第三步:准备红外接收器
现在,我们必须将红外接收器连接到Arduino。的引脚连接如下:
1从Arduino到引脚19。
引脚2接地。
引脚3从5V变为引脚。
现在,我们将这个草图复制到Arduino SDK。(此草图从您的遥控器解码了IR)* *请小心复制和粘贴,这可能会给您带来编译错误。
编译并上传到Arduino。
第四步:从遥控器破解红外代码。
现在,我们必须进入菜单工具来打开串行监视器窗口。打开,将交流遥控器指向连接到Arduino的红外接收器,然后逐一按下每个按钮。您将获得上面显示的图像。
注意:红外库可以解码大多数品牌的遥控器,但您的遥控器不被支持的可能性很小。去图书馆网站查看支持是否增加了。就我而言,我的遥控器最终是由NEC制造的。
我的代码是:
解码的NEC: 80ff48b7 (32位)-交流开
解码NEC:80FFC837(32位)-温度上升
解码NEC: 80ff58a7 (32位)-TEM
P DOWN解码的NEC:80FFD827(32位)-计时器
将它们放在安全的地方!我们将需要它们!
步骤5:设置Web服务器
我们已经解码了控件的代码。现在,我们必须创建另一个草图,这次要实现一个Web服务器,该服务器将帮助我们通过Internet与arduino进行通信。为此,我修改了Webduino库中的Web_Demo示例。
要使其正常运行,您必须确保以下几点:
-您必须在Arduino中安装以太网屏蔽。
-您必须在草图中定义您的Arduino的MAC地址和IP。
-您必须定义Web服务器将在其中运行的端口。
-IR Led应该安装在Arduino上,其GRD的阳极(最短的支脚) (接地)和9号针的阴极(大腿,正极)。
-将草图上的IR代码替换为您的(我们刚刚找到的代码!)
保存并上传您的草图。
步骤6:瞧!随时随地控制AC!
这时,您实际上可以从连接到网络的任何PC上控制空调。您所要做的就是将地址栏http://YourIP/acon放到您的AC上。确保IR指向您的AC。
现在,这是可选的,由于安全问题,所有风险均由您自担。为了能够从可以访问Internet的任何地方控制AC,必须在路由器中创建端口转发规则。该规则应包含您分配给Arduino的IP和端口。我建议使用不是80端口的端口。创建该端口转发规则后,您应该可以在可以访问Internet的任何地方控制AC。 (您必须知道您的家庭IP地址)
并不是真正需要android应用程序,因为您实际上可以从手机的浏览器控制AC,但是拥有一个android系统更有趣(而且看起来很酷!)。的应用程序。我是Android的初学者,因此很可能有一种更好的方法可以完成我在应用程序中所做的大多数事情,但是,它可以正常工作!
第1步:要求
先决条件:
-空调(您不要说!)
-交流红外控制遥控器(它必须处于良好的工作状态,因为我们需要对红外代码进行解码)
硬件:
-Arduino MEGA 2560
-Arduino兼容以太网屏蔽
-小面包板
-跳线
-(1)红外接收二极管
-(1)红外LED
软件:
-Arduino SDK
-Android SDK
-红外远程Arduino库-(图书馆官方网站)
-WebDuino库-(图书馆官方网站)
第2步:设置一切
我们已经准备好!
首先,我们需要解压缩我们刚刚创建的IR Remote和Webduino库。下载到Arduino SDK库文件夹。
X: 。.. arduino-1.0.4 libraries
现在,我们必须告诉Arduino SDK我们是哪种类型的Arduino。使用。因此,我们转到:
工具》板》 Arduino Mega 2560或Mega ADK并选择Arduino Mega。
然后选择检测到您的Arduino的端口:工具》串行端口》“ YourPort”
第3步:准备IR接收器
现在,我们必须将IR接收器连接到Arduino。引脚的连接方式如下:
引脚1从Arduino转到引脚19。
Pin 2从地面连接到引脚。
Pin 3从5V变为引脚。
现在,我们将此草图复制到Arduino SDK。 (此草图从您的遥控器中解码了IR)**小心复制粘贴,可能会给您带来编译错误。
编译并上传到Arduino。
步骤4:从遥控器中破解IR代码
现在,我们必须进入菜单》工具以打开“串行监视器”窗口。打开后,将AC遥控器指向连接到Arduino的IR接收器,然后逐个按下每个按钮。您将获得如上图所示的图像。
注意:IR库可以解码大多数品牌的遥控器,但是有很小的机会可能不支持您的遥控器。去图书馆网站检查是否增加了支持。在我的情况下,我的遥控器最终由NEC制造。
我的代码是:
解码后的NEC:80FF48B7(32位)-AC ON
解码后的NEC:80FFC837( 32位)-TEMP UP
解码的NEC:80FF58A7(32位)-TEMP DOWN
解码的NEC:80FFD827(32位)-计时器
将它们放在安全的地方!我们将需要它们!
步骤5:设置Web服务器
我们已经解码了控件的代码。现在,我们必须创建另一个草图,这次要实现一个Web服务器,该服务器将帮助我们通过Internet与arduino进行通信。为此,我修改了Webduino库中的Web_Demo示例。
要使其正常运行,您必须确保以下几点:
-您必须在Arduino中安装以太网屏蔽。
-您必须在草图中定义您的Arduino的MAC地址和IP。
-您必须定义Web服务器将在其中运行的端口。
-IR Led应该安装在Arduino上,其GRD的阳极(最短的支脚) (接地)和9号针的阴极(大腿,正极)。
-将草图上的IR代码替换为您的(我们刚刚找到的代码!)
保存并上传您的草图。
步骤6:瞧!随时随地控制AC!
这时,您实际上可以从连接到网络的任何PC上控制空调。您所要做的就是将地址栏http://YourIP/acon放到您的AC上。确保IR指向您的AC。
现在,这是可选的,由于安全问题,所有风险均由您自担。为了能够从可以访问Internet的任何地方控制AC,必须在路由器中创建端口转发规则。该规则应包含您分配给Arduino的IP和端口。我建议使用不是80端口的端口。创建该端口转发规则后,您应该可以在可以访问Internet的任何地方控制AC。 (您必须知道您的家庭IP地址)
并不是真正需要android应用程序,因为您实际上可以从手机的浏览器控制AC,但是拥有一个android系统更有趣(而且看起来很酷!)。的应用程序。我是Android的初学者,因此很可能有一种更好的方法可以完成我在应用程序中所做的大多数事情,但是,它可以正常工作!
.dfma { position: relative; width: 1000px; margin: 0 auto; } .dfma a::after { position: absolute; left: 0; bottom: 0; width: 30px; line-height: 1.4; text-align: center; background-color: rgba(0, 0, 0, .5); color: #fff; font-size: 12px; content: "广告"; } .dfma img { display: block; }