DIY物联网应用 4-遥控器控制风扇

简介:

有请本章的主角们:玩具小风扇、红外接收器和一个红外遥控器(空调、电视遥控都行)。本章我们的目标是实现用遥控器控制风扇。

红外协议

我们知道,人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm,比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线,红外是一种人的眼眼看不到的光线,利用红外波来传递信息,传递的规则就成为红外协议。红外线的波长较短,对障碍物的衍射能力差,所以更适合应用在需要短距离无线通信场合点对点的直接线数据传输。为了使各种设备能够通过一个红外接口进行通信,红外数据协议(InfraredDataAssociation,简称IRDA)发布了一个关于红外的统一的软硬件规范,也就是红外数据通讯标准。
红外通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。发送端采用脉时调制(PPM)方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送出去;接收端将接收到的光脉转换成电信号,再经过放大、滤波等处理后送给解调电路进行解调,还原为二进制数字信号后输出。
简而言之,红外通信的实质就是对二进制数字信号进行调制与解调,以便利用红外信道进行传输;红外通信接口就是针对红外信道的调制解调器

红外信号.png

红外信号录制

利用红外接收设备可以接收到红外波的信号,红外接收器接收到红外线光波,经过解调电路转换成二进制数据。把接收的到数据记录存储下来的过程叫做录制。利用 Ruff 套件中的红外接收器录制空调遥控器的信号,存储下来,然后使用红外发射器发生出去,你就可以实现 Ruff 来控制空调了,想想是不是很有趣?还有更有趣的,Ruff 连接网络,你就可以远程操控你们家空调。你还可以利用温度传感器写一个程序根据温度范围自动调节你们家空调。

控制风扇

说了原理,开始实践吧!
在上一章《我的第一个物联网应用3》 中,我们知道怎么使用继电器控制风扇了,这一章很简单,在上一章的基础上,我们结合红外设备,使用红外设备控制继电器来控制风扇。说了一堆的红外原理,其实我们这里利用的很简单,我们只要接收到红外信号即可,不需去解读信号的意义,收到信号时如果继电器关闭状态就打开,反之就关闭。

  • 添加红外接收器

  rap device add irr

我们把设备 ID 定为 "irr", 添加成功以后我们去 Ruff 官网软件仓库中查看下红外接收器的驱动提供了什么方法。

 $('#<device-id>').on('data', function(data) {
  console.log('received data', data);

});

只有一个方法:监听数据,我们所以我们写一个监听数据的方法:

 $('#irr').on('data', function(data) {
    console.log('received data', data);
  //控制继电器
  controlRelay();

});

再写一个控制控制继电器的方法:

var relayOpen = false;
function controlRelay(){
relayOpen = !relayOpen;
if (relayOpen) {
     $('#relay').turnOn(function () { 
           // 打开继电器成功的回调函数
            console.log('turn on');
      });

} else {
    $('#relay').turnOff(function () { 
              // 关闭继电器成功的回调函数
             console.log('turn off');
     });
}

}

完整代码:index.js

var relayOpen = false;
function controlRelay(){
    relayOpen = !relayOpen;
    if (relayOpen) {
         $('#relay').turnOn(function () { 
               // 打开继电器成功的回调函数
                console.log('turn on');
      });
} else {
    $('#relay').turnOff(function () { 
              // 关闭继电器成功的回调函数
             console.log('turn off');
     });
}

}
$.ready(function (error) {

if (error) {
    console.log(error);
    return;
}
$('#irr').on('data',function(data) {
     //控制继电器
       controlRelay();
});

});
$.end(function () {

$('#relay').turnOff(function () { 
             console.log('turn off');
     });

});

部署看看吧,也许你的风扇噪音会对红外信号造成干扰,一旦干扰你的红外接收器就会不断接收到信号(实际是风扇噪音信号),如果出现这种情况,建议你把风扇和红外接收器的距离离远一些。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
9天前
|
安全 物联网 数据安全/隐私保护
物联网卡在应用于交通运输与物流中常见问题及解决建议
在交通运输与物流领域使用物联网卡期间,常见的问题主要包括网络连接、信号稳定性、设备管理、数据安全性以及套餐流量管理等方面。以下是对这些问题的详细分析和操作建议
|
2天前
|
供应链 物联网 区块链
新技术浪潮中的未来探索:区块链、物联网与虚拟现实的融合与应用
【9月更文挑战第18天】在技术不断进步的今天,区块链、物联网和虚拟现实等新兴技术正逐渐改变我们的生活方式。本文将探讨这些技术如何相互融合,并分析它们在各自领域内的应用趋势。通过深入浅出的方式,我们旨在为读者提供一个全面的视角,理解这些技术背后的原理及其对未来社会可能产生的影响。
|
2天前
|
供应链 物联网 区块链
新技术趋势与应用:探讨区块链、物联网与虚拟现实的未来发展
本文深入探讨了区块链、物联网和虚拟现实这三大新兴技术在现代社会中的应用前景。通过分析这些技术的发展趋势,我们可以预见它们将如何改变我们的生活方式、商业模式以及社会结构。文章从多个角度出发,结合具体案例,展示了这些技术在实际应用中的潜力和挑战。
|
7天前
|
供应链 物联网 区块链
新技术趋势与应用:区块链、物联网和虚拟现实的未来展望
【9月更文挑战第12天】本文将探讨新兴技术如区块链、物联网和虚拟现实的发展趋势和应用场景。我们将从这些技术的基本原理出发,分析其在不同领域的应用潜力,并讨论它们如何改变我们的生活和工作方式。通过具体的代码示例,我们将展示这些技术的实际运作方式,帮助读者更好地理解和掌握它们。
|
8天前
|
供应链 物联网 区块链
新技术趋势与应用:区块链、物联网、虚拟现实的未来展望
【9月更文挑战第11天】本文将探讨新兴技术如区块链、物联网、虚拟现实的发展趋势和应用场景。我们将分析这些技术的优缺点,并讨论它们在未来可能带来的影响。最后,我们将通过一些代码示例来展示这些技术的应用。
27 6
|
12天前
|
传感器 监控 物联网
物联网卡在不同应用设备中的基本操作
物联网卡(IoT SIM卡)在物联网(IoT)设备中扮演着至关重要的角色,它们为设备提供网络连接能力,使得设备能够远程交换数据。物联网卡的应用设备广泛,涵盖了从智能家居、智能城市、工业自动化到远程监控等多个领域。以下是物联网卡在不同应用设备中的基本操作流程概述:
|
14天前
|
监控 安全 物联网
物联网卡应用中一些常见限制
物联网卡(IoT SIM卡)在实际应用中,除了APN配置的多样性外,还受到多种限制和约束。这些限制通常与网络运营商的政策、服务条款、技术实现以及安全需求紧密相关。以下是一些常见的物联网卡限制:
|
14天前
|
供应链 物联网 区块链
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
【9月更文挑战第5天】随着科技的飞速发展,新兴技术如区块链、物联网、虚拟现实等正在改变我们的生活。本文将探讨这些技术的发展趋势和应用场景,以及它们如何影响我们的生活和工作。我们将通过实例和代码示例来深入了解这些技术的发展和应用。
33 5
|
15天前
|
传感器 Cloud Native 物联网
Micronaut在物联网中的应用探索:轻盈架构赋能万物互联新时代
【9月更文挑战第6天】Micronaut是一个现代、轻量级的Java框架,以其高效、易用及对云原生环境的支持,在物联网开发中展现出独特优势。它通过AOT编译技术优化应用,减少内存消耗,适合资源受限的设备。Micronaut支持反应式编程和HTTP/2,提升并发处理能力和网络传输效率。本文通过一个温度传感器数据收集服务的例子,展示了如何利用Micronaut简化物联网应用开发,使其成为该领域的理想选择。
31 3
|
15天前
|
存储 物联网 关系型数据库
PolarDB在物联网(IoT)数据存储中的应用探索
【9月更文挑战第6天】随着物联网技术的发展,海量设备数据对实时存储和处理提出了更高要求。传统数据库在扩展性、性能及实时性方面面临挑战。阿里云推出的PolarDB具备高性能、高可靠及高扩展性特点,能有效应对这些挑战。它采用分布式存储架构,支持多副本写入优化、并行查询等技术,确保数据实时写入与查询;多副本存储架构和数据持久化存储机制保证了数据安全;支持动态调整数据库规模,适应设备和数据增长。通过API或SDK接入IoT设备,实现数据实时写入、分布式存储与高效查询,展现出在IoT数据存储领域的巨大潜力。
29 1

相关产品

  • 物联网平台