Arduino Yun 轻松DIY智能家居

   在大多数使用Arduino的玩家眼中,Arduino就是一款核心是AVR单片机的简单易用的开发板。封装的API接口屏蔽了底层寄存器配置,学习使用起来简单得不要不要的。再加上丰富的第三方类库,即使没有电子开发经验的玩家也可以迅速上手,利用Arduino实现自己的发明和创意。 

       实际上大多数玩家眼中的Arduino只是Arduino Uno开发板,Arduino家族中还有非常多的适合不同功能的开发板和扩展板,而这里我将向大家介绍Arduino家族中另一款重量级产品  ——  Arduino Yun。 

Arduino Yun 轻松DIY智能家居

Arduino Yun

Arduino Yun开发板共搭载2枚芯片:一个是Atmel ATmega32u4微控制器,那个稍大点的黑色芯片;另一个是Qualcomm Atheros AR9331微处理器,藏在银色的铁壳子里面(可能材质不是铁的,不过这不重要)。

Arduino Yun可以采用Micro USB接口供电,当然也可以使用Vin和GND管脚供电,供电电压为直流5V,超过5V的供电电压可能会导致Arduino Yun损坏。

Arduino Yun开发板沿用了Arduino一贯的接口风格,标准的接口让我们几乎不用花什么力气就能像使用Arduino Uno一样使用它。还有 Arduino Yun Mini功能相同,然体积更小巧灵便。

Arduino Yun 轻松DIY智能家居

在Arduino IDE工具中找到Blink示例程序,选择好板型和端口,烧写程序到开发板控制L13进行闪烁吧。 

Arduino Yun 轻松DIY智能家居

Arduino Yun开发板右侧的红色LED在程序烧写后会开始闪烁,是不是找到了Arduino Uno开发板的感觉?再来控制一个马达、蜂鸣器、传感器什么的玩玩吧,我在这里对基础功能就不做过多介绍了。

对Arduino开发板基础功能不了解又想要了解的开发爱好者可以登录Arduino官方网站www.arduino.org或者国内的Arduino论坛进行了解。

Arduino Yun无线程序上传

 

       

      在这里我将首先来讲解一下Arduino Yun的无线程序上传功能的使用方法,类似于Android系统的OTA(Over-The-Air)技术,当然我们这里更改的仅仅是Atmega32u4的程序。

在使用无线程序上传功能前,我们需要使用电脑的无线网卡搜索附近的Wifi热点,找到网络名为“Arduino-********”或者“Linino-**************”这样的Wifi热点并登陆进去,默认无密码或者密码为“arduino”或“doghunter”。这样我们的电脑就和Arduino Yun开发板处在同一网段了。

假如您之前更改过Arduino Yun的网络设置,或者一直搜索不到WIFI热点,那么您可以在Arduino Yun开发板上找到一个附近有白色丝印WLAN RST的复位按钮,持续按下30秒以上,当您正确按下复位按钮后会有蓝色LED开始闪烁,表明网络设置正在恢复中,请保证恢复过程中不要断电,大约2分钟后将Arduino Yun断电重新上电,然后网络就恢复默认设置了。

现在,在Arduino IDE的工具—>端口选择菜单网络端口下方就出现了Arduino Yun的程序无线上传端口了,不用客气,选上它体验下无线程序上传功能吧!

Arduino Yun 轻松DIY智能家居

不再依赖USB线来上传程序,是不是很酷呢?当然这些只是Arduino Yun功能的一丢丢了。

 

       罗里吧嗦这么多,下面我要带着大家利用Arduino的Bridge技术来快速DIY一个智能家居啦。

Arduino Yun智能家居系统

 

       

智能家居系统效果

STEP 1 — 材料准备

 Arduino Yun 轻松DIY智能家居

STEP 2  — 线束改装

首先,使用剥线钳将风扇、LED灯、电源适配器的末端接口剪下;

然后,使用剥线钳小心拨除导线皮漏出2cm~5cm导线;

最后,使用烙铁和锡丝将各导线末端分别焊接至不同杜邦线一端;

STEP3  — 接线

  • 将Arduino继电器扩展板插入Arduino Yun开发板上

  • 使用一根杜邦线连接扩展板上的电源5V和扩展板REL3附近的C接口,在杜邦线接入C口后请使用螺丝刀进行紧固,该连接将为风扇提供5V电源

  • 理清风扇线束,黑线为电源地,红线为电源正,将电源地直接插在扩展板的GND管脚,电源正接入扩展板REL3附近的NO接口,这样我们就可以使用Arduino Yun D8管脚的电平来控制是否为风扇提供电源啦,LOW时NO无电压输出,HIGH时NO电压为5V

  • 理清电源适配器线束,黑线为电源地,红线为电源正,将电源地直接插在扩展板的GND管脚,电源正接入扩展板REL4附近的C接口,该连接将为LED灯提供12V电源

  • 理清LED灯线束,黑线为电源地,红线为电源正,将电源地直接插在扩展的GND管脚,电源正接入扩展板REL4附近的NO接口,这样我们就可以使用Arduino Yun D12管脚的电平来控制是否为LED灯提供电源啦

    Arduino Yun 轻松DIY智能家居

  • 收尾工作,使用绝缘胶带将裸露的线束全部包裹起来吧 

STEP 4  —  程序准

竟然还需要写代码,这样的智能家居DIY起来能快吗?不用怕,使用Arduino Yun的Bridge技术这会变得非常简单。

首先打开Arduino IDE工具,依次点击File->Examples->Bridge->Bridge打开Bridge工程如下

Arduino Yun 轻松DIY智能家居

然后修改setup()函数增加红框里面的代码,代码用于设置REL3和REL4的控制管脚为输出并默认设置为低电平 

Arduino Yun 轻松DIY智能家居

最后,使用USB转接线将Arduino连接至电脑,将修改后的程序烧写入Arduino Yun,插上电源适配器电源,您的智能家居设备就可以开始工作喽。

 

STEP 5 — 无线控制

DIY完了智能家居,总要有一个趁手的控制终端,这个功能自然就放到了您的手机上面。

首先,使用手机开启WIFI功能,并接入Arduino Yun的热点。(SSID为Arduino—****或者为Linino-******,密码为arduino或者doghunter)

然后,登录IE浏览器或者其他浏览器,在浏览器框中输入一下地址来观察设备反应

http://192.168.240.1/arduino/digtial/8/1?username=root&password=doghunter

http://192.168.240.1/arduino/digtial/8/0?username=root&password=doghunter

http://192.168.240.1/arduino/digtial/12/1?username=root&password=doghunter

http://192.168.240.1/arduino/digtial/12/0?username=root&password=doghunter

有没有发现不同的链接将会分别打开风扇、关闭风扇、打开LED灯、关闭LED灯?

如果Arduino Yun的root登录密码不是doghunter的话,您需要更改root密码为doghunter或者更改上述链接中的password为您的Arduino Yun的root密码。

 

每次控制需要输入这么长的链接地址太繁琐啦,那么来个手机APP吧,将APP的按钮响应操作设计为执行对应地址的Http Get操作就可以了。当然您也可以直接使用我在百度云上面分享的Android App,分享地址为http://pan.baidu.com/s/1bozvr7h  

 

Arduino Yun 轻松DIY智能家居

 

本文刊登于《无线电》杂志9月刊

作者周雁冰系Arduino高级工程师

版权所有,转载请注明出处

关于Arduino

Arduino Srl来自意大利,是全球领先的开源电路板提供商,旨在帮助众多专业及非专业开发者设计和制作不同种类的电子项目原型,通过Arduino可扩展的开放硬件及开源软件平台,为全世界数以百万计的开发者提供帮助,简单、快速的实现开发项目。