用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 ...
随机推荐
- STL容器迭代过程中删除元素技巧(转)
1.连续内存序列容器(vector,string,deque) 序列容器的erase方法返回值是指向紧接在被删除元素之后的元素的有效迭代器,可以根据这个返回值来安全删除元素. vector<in ...
- Python基础:基本数据类型
python基本标准6类数据类型:Number数字, String字符串, List列表,Tuple元组,Set集合,Dictionary字典 不可变数据3个(Number数字,String字符串,T ...
- System.err与System.out的区别
大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错. 三个操作系统的文件描述符映射到编程语言的标准库中,往往加了一层包装,但是名字通常还是叫标准输入,标准输出,标准出错. 在其它语言中 ...
- java死锁问题
一.先从定义上了解一下死锁 二.从代码角度上去解释一下死锁问题 三.上述程序就是出现了死锁,我们来查看一下 1.命令如下 cmd>>jps(查看到了死锁线程所在的类,前面是PID) 2 ...
- Think PHP中URL_MODE相关事项
官网上有关于URL_MODE的解释:http://document.thinkphp.cn/manual_3_2.html#url 这里主要讲一下URL_MODE为2,即REWRITE模式. REWR ...
- 类似倒圆角方法输入半径选择实体 kword
ads_name ename; ads_point adspt; acedInitGet(NULL, TEXT("R")); while (1) { int rc = acedEn ...
- CAD设置系统变量(com接口VB语言)
主要用到函数说明: MxDrawXCustomFunction::Mx_SetSysVar 设置系统变量.详细说明如下: 参数 说明 CString sVarName 系统变量名 Value 需要设置 ...
- Java必知必会的20种常用类库和API
转载:https://blog.csdn.net/u011001084/article/details/79216958 个人感觉工具类对日常开发是很重要的,所以推荐一下这篇文章,虽然有的类库过时了 ...
- spring用来干什么,解决的问题
// 1. 实体类 class User{ } //2. dao class UserDao{ .. 访问db } //3. service class UserService{ UserDao ...
- Ceres
sudo apt-get install liblapack-dev libsuitesparse-dev libcxspares3.1.2 libgflags-dev libggoogle-glog ...