android socket项目客户端(红外线遥控)

这是一个通过手机程序控制集团下属几家分公司的会议室投影仪,电视机,空调等设备的开启与关闭,简化会议之前的准备工作。

大致思路如下:手机发送信息->中间设备接收->解析为红外线信号->传送给红外线发射器->发射信号->投影仪接受红外线->开启对应功能

现在我手里有一个红外线发射装置,并且自带路由器功能,让手机或者其他设备可以连接(国外的,版本为Irdroid v3.0 WIFI),其中存储了各个公司的不同品牌和类型的设备对应的红外线功能列表(我不会表示哈,就是类似遥控器里面每个按钮代码与对应的红外线代码,然后还有遥控器品牌,不同的品牌有些区别,每个厂家一般都有这些公开的红外线代码,如果有一些更新,而设备上没有存储的话可以自己去上传这些配置文件),然后我需要写一个功能,能够让这个设备发送红外线信号,Team Leader 需要我写成一个WCF,方便手机或者web端的程式调用。

       通过查看相关文档与源码,我发现我想要连接到发射器上,需要写一个socket程序(第一次写这样的项目),定义了一个方法SendCMDtoIR(string server,int port,int timeout,String remote,String command,int count)

相关参数解释:

server:需要连接的Ir设备(发射红外线装置)的Ip地址

port:需要连接的Ir设备(发射红外线装置)的端口号

timeout:socket连接超时时间

remote:接受红外线信号的红外线设备类型

command:通知Ir设备发送红外线的指令参数

count:每次调用wcf指令发送次数


1.对外方法

 public void SendCMDtoIR(string server, int port, int timeout,String remote,String command,int count)
        {
            LircClient client = null;          
            //client = new LircClient("192.168.2.1", 8765, true, 5000);初始化Ir对象:IP地址,端口,是否开启,连接超时时间
            client = new LircClient(server, port, true, timeout);
            //for (int i = 0; i < 1000000; i++)
            //{
                client.sendIr1Command(remote, command,count); // sends and Test IR 

                  //client.sendIr1Command("Samsung_TV", "MUTE", 1);
            //    Thread.Sleep(1000);
            //}
        }
    }

2.LircClient.cs

private  static String lircServerIp;
        public readonly static int lircDefaultPort = 8765;
        private int lircPort;
        public readonly static String defaultLircIP = "127.0.0.1";
        public readonly static int defaultTimeout = 5000;


        private  Boolean verbose = true;
        private  int timeout = defaultTimeout;
        public LircClient(String hostname, int port, Boolean verbose, int timeout)
        {
            this.timeout = timeout;
            lircServerIp = (hostname != null) ? hostname : defaultLircIP;
            lircPort = port;
            this.verbose = verbose;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值