用Arduino对Apple手表进行远程红外控制
描写叙述
用于控制随意红外设备的Apple手表及iPhone应用。
IOS应用发送HTTP请求至一个或多个带有以太网插板的Arduino。Arduino正在解析http请求并发送红外信号。Arduino代码基于IRremote库(https://github.com/shirriff/Arduino-IRremote)。我使用三重红外发射线来给多个设备发送红外信号。
详述
遇到的问题:

我须要用5个不同的遥控器来控制我的媒体设备!
解决方式:

我构建了一个Apple 手表/iPhone 应用 及 Arduino设备来控制我全部的红外设备!
项目:
项目分成两部分:
1. 带有以太网插板及红外led的Arduino设备
2. 带有Apple手表扩展功能的iPhone应用
Arduino:
我使用的是带有以太网插板及红外led的Arduino UNO板。已经编译好程序进行http命令接收并将其解析成红外信号。

http命令样例:
http://<arduino ip>/send?p=1&c=2FD48B7&l=32&
命令会发送电源信号给我的东芝电视。
命令有3部分:
- p:协议(1是NEC IR 协议)
- c:16进制代码
- l:长度
我正使用IRremote Arduino库来发送红外信号(https://github.com/shirriff/Arduino-IRremote)
iPhone 应用:
我开发了一个iPhone应用作为远程的用户接口。能够在应用的设置中进行对设备的添加及编辑。

我给每个设备起了一个名字,通过Arduino的IP来控制设备及设备介绍。
设备介绍包括设备的代码(电源,静音…)信息。每一个代码我都有协议信息,十六进制代码及长度。
所以,当我按下东芝电视的电源键。app就知道怎样为此功能构建Http命令。
用户能够在app的设备选择菜单中对设备控制进行更改。

app有苹果手机扩展项,所以用户能够使用手表来控制设备。

组件
1 * Arduino Uno
1 * Arduino 以太网插板
1 * 红外LED
我正使用一个三重红外发射器线给多个设备发送信号
1 * 苹果手机
1 * iPhone
感谢阅读!
翻译自:https://hackaday.io/project/5894-apple-watch-ir-remote-with-arduino
WIZnet官方站点:http://www.iwiznet.cn
WIZnet微信公众平台:

用Arduino对Apple手表进行远程红外控制的更多相关文章
- 远程桌面控制项目开发(Spring+Netty+Swing)
[目录] 1.前言 2.初现端倪 3.款款深入 4.责任细分 5.功能层级图 6.项目结构 7.关键类设计 8.一些设计想法 9.待优化 10.一点心得 11.效果演示 12.讨论 13.GitHub ...
- ubuntu 18 怎样对Windows进行远程桌面控制
ubuntu 18 怎样对Windows进行远程桌面控制: 1. 先安装一个redesktop 工具(sudo apt-get install redesktop) 2. 在通过 redesktop ...
- 【雕爷学编程】Arduino动手做(45)---红外避障传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- GP1UM26(78)1RK远程红外遥控接收IC数据手册学习
1.Features 该系列IC具有多种BMP带通频率可供选择,典型的GP1UM261RK带通频率为38KHz,内部的前置放大器等放大电路工作频率均为38KHz. Compact紧凑型,体积小 2.i ...
- git之remote branch controller(远程分支控制)
1.创建本地分支 git branch //查看远程分支 git checkout -b branch_name //创建远程分支 在查看分支git branch 2.将分支提交到远程仓库 此时远程 ...
- TI CC2541的红外控制
整整一个礼拜, 整了...大约40个小时吧, 最少.. 下面是结果, 只能做一个delay延时.: unsigned char Time;unsigned char IrValue[6];#pragm ...
- 树莓派 LED+蜂鸣+声音传感器+红外模块组合打造声控/红外控制LED
昨天搞了控制LED,玩了第一个,剩下的就感觉很简单了,这里记录一下 先来几张照片 玩了蜂蜜模块才发现规律,一般这种模块,都会有三个针脚,VCC(3.3V或5V供电输出针脚).GNC(对应GPIO针脚的 ...
- Linux 远程桌面控制
我现在知道有两种方式: 1.直接使用Gnome桌面的远程控制功能.在服务器端登录到gnome桌面,然后在系统菜单中打开远程桌面配置,勾选允许远程即可.这种方式客户端和服务器的两种操作将保持同步,也就是 ...
- 基于W5500+Yeelink的远程灯光控制设计
概述 工具:物联网云平台Yeelink DHT11温湿度传感器 W5500EVB 编译环境:Keil4 目的:通过以太网实时监控远程某个位置的温度和湿度 在W5500EVB端连接LED灯.通过W ...
随机推荐
- java 选择排序与冒泡排序
选择排序与冒泡排序的特点与区别 ++++++++++++++++++++++++++++++++++++++++++++++ 选择排序 这一种简单的排序方法,它的基本思想是:R[n]第一次从R[0]~ ...
- Spring.Net学习笔记(3)-创建对象
一.开发环境 编译器:VS2013 .Net版本:.net framework4.5 二.涉及程序集 Spring.Core.dll:1.3 Common.Logging 三.开发过程 1.项目结构 ...
- 【C++】Item18. Make interfaces easy to use correctly and hard to use incorrectly
接口容易被正确使用,不易被误用 c++简单工厂模式时,初级实现为ITest* CreateTestOld(), 然后用户负责释放返回的对象.如果忘记释放就会造成memory leak,所以在设计工厂接 ...
- 前端--3、jQuery
介绍 jQuery是一个Javascript框架.其宗旨是——WRITE LESS,DO MORE! 是轻量级的js库,兼容CSS3和各种浏览器. 作用:处理HTMLdocuments.events. ...
- ubuntu下删除和新建用户(并有su权限)
http://blog.csdn.net/speedme/article/details/8206144ubuntu下删除和新建用户(并有su权限) 如何创建ubuntu新用户?输入:sudo add ...
- Linux系统调用--getrusage函数详解
Linux系统调用--getrusage函数详解 功能描述: 获得进程的相关资源信息.如:用户开销时间,系统开销时间,接收的信号量等等; 用法: #include <sys/t ...
- 18SVN进行版本控制
SVN进行版本控制 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS. SVN Website.
- node 实现Token状态登录 及数据库增删改查
1.项目目录结构 2.启动入口文件代码index.js const express = require('express') const bodyParser = require('body-pars ...
- bazel和TensorFlow安装
bazel安装:https://docs.bazel.build/versions/master/install-ubuntu.html#install-with-installer-ubuntu 安 ...
- 如何快速的vue init 属于自己的vue模板?
相信很多接触过vue的小伙伴非常熟悉了,我们在开启项目之前都需要vue init webpack xx来初始化自己的项目目录.但是在实际开发中我们往往会根据公司要求或者业务的需要会对目录进行局部的调整 ...