DIY远程空调遥控(考研已断更)
现在宿舍都有空调
所以可以搞一搞自己动手干一个遥控器在手机里,下课别人飞奔回宿舍回宿舍开空调的时候,你可以冷静的打开空调,回去就能享受清凉!!!
夏日炎炎,这不香嘛!顺便祝董瑞龙赶紧找到对象♥哈哈哈
更新中
考试中——电赛准备中——划水中——咸鱼中!
开始配置
- 更新中
- 网络测试
- 怎么确定宿舍有没有WiFi呢?
- 宿舍有WiFi的看这个《——
- 内网穿透
- 宿舍没有WiFi的看这个《——
- 配置阿里云
- 测试一下
- 应用软件测试
- Android APP
- 小程序(目前不会)
- 网页控制(不会)
- 硬件测试
- 第一步解码
- 8266测试
- 客户端小测试
- 宿舍没有WiFi情况!重要!!!配置8266成为WiFi
- 整合以及Tips
- 第一种方式:WEMOS+红外(宿舍有WIFI的)
网络测试
网络通信肯定是最重要的一部分之一,我们比较是不在一个局域网下干活、传消息,所以需要配置一些东西。
怎么确定宿舍有没有WiFi呢?
这里先不要质疑我是不是一个傻X,那有没有WiFi谁不知道啊。
这里我们需要确定一下WiFi是否支持通信!
这里我们可以有俩种方法:
1:宿舍的WiFi是需要登录的吗? 如果是的话,那恐怕有些难了。
一般学校的WiFi很多都是给你账号,然后让你连上WiFi之后去登录,然后才可以上网。这种一般每个人连上WiFi都要登录的是不行的。
2:如果宿舍的WiFi是不需要登陆的,那就可以!
还有一种情况是宿舍的WiFi登录一次之后就不需要登录了(我们就是这样),这种你们可以当作没有WiFi也可以保持WiFi一直别掉就行(意思就是你别在外面登录了,例如教室)
那么我们确定好有没有WiFi可用的时候就可以去进行下面的操作了
宿舍有WiFi的看这个《——
有WiFi的比较好办,只要确定我们手机出去了网还在就行!
我们在电脑上敲击Win + R
出现这个(没有cmd就自己打)
然后回车(确认),在蹦出来DOS命令窗口中输入:ipconfig
这里面的IPv4地址:192.168.2.134这就是我们的主机地址,记下
这里每个人显示的可能有差别,但是认准无线局域网这个下面就可以,千万别找错了
知道我们的IP后就比较简单了
内网穿透
原理就不解释了,总之就是将我们的局域网映射到公网上。
百度下载花生壳
然后自己注册,进入,进去之后体验版就够了。
点击右下角内个加号,就出现了上图所示的页面,我们就可以配置啦。
名称自己填,选择TCP,下面俩个自己不填,然后是内网主机,我们填写自己电脑的IP,比如我的就是192.168.2.134,端口号随便填(那当然不是随随便便!网络基础课讲了什么? 太低的端口不能用!!! 所以我们自己填个10000左右的端口就可以啦)
保存生效
测试一下,没有问题
当然,这个只是学习怎么配置内网穿透,大家会了就行,我们后面要映射别的IP !!!
宿舍没有WiFi的看这个《——
这个我们比较麻烦,所以我们只能通过别的平台操作
配置阿里云
关于阿里云,我们配置起来比较容易,关于阿里云的注册,学生的话阿里云前几个月是免费的,大家自己领取
这里我们需要选择Linux的服务器,别选错了
在开启服务器后,我们可以点击控制台,找到实例列表,点击远程连接
点击远程连接->Workbench远程连接->输入密码(密码是你中间自己设置的)后登录,即可看到一个linux的操作界面
这就是一个Linux的操作页面,使用命令操作,常用的命令请看这里:
常用Linux命令
由于已经是root用户,我们直接ifconfig
查看一下内网IP,并记下
我们继续使用vi配置一下服务端,关于vi操作可能刚开始大家很难接受。
我简单介绍一下:首先我们在控制台输入:apt install vim
,中间停下有个[Y/N],我们输入y 然后回车即可
下载了vim后我们便可以编译程序了,在控制台输入:vi server.c
进入vim界面,注意在vi中是不需要鼠标的,我们按下i,左下角会变成INSERT,我们就可以输入了,这里直接粘贴我的测试代码:
PS:在阿里云里面右键就是粘贴
这里里面俩个地方需要更改
一个是IP,就是刚刚ifconfig里面的IP
还有是端口号,写个10000左右的。
注意!!!:端口号要先在网络与安全->安全组中先添加
点击安全组名称下的蓝字进入
配置成这样就可以了
注意:出方向和入方向都要添加!!!
然后进入阿里云
我们需要将该端口,拉入防火墙白名单
这里的指令有三个
firewall-cmd --list-all 列出所有端口号白名单
firewall-cmd --add-port=7236/tcp --permanent 添加一个7236端口为白名单
firewall-cmd --reload 更新防火墙操作
然后再执行上面vi内些操作
#include <sys/types.h>
#include <sys/socket.h>
#include<netinet/in.h>
#include <arpa/inet.h>
#include<stdio.h>
#include<stdlib.h>
#include <unistd.h>
#include<string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int initsocket(){int s_fd=socket(AF_INET, SOCK_STREAM,0);if (s_fd==-1){perror("socket");exit(-1);}struct sockaddr_in addr;memset(&addr,0,sizeof(struct sockaddr_in));addr.sin_family=AF_INET;addr.sin_port=htons(6666); //端口号,注意要先在网络与安全->安全组中先添加一个端口inet_aton("172.21.0.6",&addr.sin_addr);//IP地址,该ip地址要填内网地址!!int bid=bind(s_fd,(struct sockaddr *)&addr,sizeof(struct sockaddr_in));listen(s_fd,10);int len=sizeof(struct sockaddr_in);return s_fd;}int main(){char readbuf[1024]={0};int s_fd=initsocket(); //初始化服务器printf("wait connect.....\n");int fd_a=accept(s_fd,NULL,NULL); printf("connect\n");while(1){memset(readbuf,0,1024); int r=read(fd_a,readbuf,1024); if(r==-1){perror("read");}else{printf("get cmd is %s \n",readbuf);memset(readbuf,0,1024);}}return 0;}
粘贴之后,按Esc,然后左下角Insert消失,然后直接输入 :wq!
就退出了
然后我们敲入命令 gcc server.c -o server
这时候我们输入ls
返现生成了另外颜色的server文件,我们使用 ./server
来执行它
这样子就成功了
测试一下
我们可以使用Windows的Telnet(不懂怎么开的去百度)
外网IP在这里查看
这时候利用这个IP和我们刚刚配置的端口号
输入telnet IP 端口号 即可连接,如果能连接上,就配置成功啦!!!!
也可以用手机连接试试
下载APP名字是TCP连接 输入外网IP和端口号测试哦!
最后: 后面我们还要重新配置,以上只是测试使用。
应用软件测试
Android APP
这里我们使用Eclipse作为开发工具,Android studio也差不多,APP部分是比较简易的开发。
安卓部分的核心代码如下
new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubtry {Socket client = new Socket("192.168.43.2", 8848);//这里填写你需要发送消息的IP以及端口号//Socket client = new Socket(StartActivity.IP, Integer.parseInt(StartActivity.Port));OutputStream out = client.getOutputStream();out.write(message.getBytes());out.close();client.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}).start();
注意:这里的socket是客户端,它连接服务端是连上就断开,所以我们要注意服务端代码的编写。
具体发什么在这里改
package com.gec.thesummer;import com.gec.thesummerlink.R;import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;public class ContrlActivity extends Activity {Button uuu;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);setContentView(R.layout.activity_contrl);initView();}void initView() {uuu = (Button) findViewById(R.id.btnqian);uuu.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View arg0, MotionEvent event) {// TODO Auto-generated method stubswitch (event.getAction()) {case MotionEvent.ACTION_DOWN:new NetUtils("666").sendMessage();//自己更改内容break;case MotionEvent.ACTION_UP: {new NetUtils("666").sendMessage();//自己更改内容break;}}return false;}});}}
这里我们再编译安卓APP时候右击我们的工程,里面有一个run as,点击就可以。
建议最好拿模拟器来弄apk,虚拟机感觉不舒服
下载夜深安卓模拟器
找到Eclipse软件安装的位置,用cmd进入到platform-tools文件夹内执行
先dir
查看一下目录内容,然后执行adb connect 127.0.0.1:62001
即可
这是eclipse安卓开发环境的工具:
链接:https://pan.baidu.com/s/1HZjcEJbarMPe0un5HYW_2g
提取码:u0k8
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V1的分享
顺便把工程扔给大家 大家可以自行更改:
链接:https://pan.baidu.com/s/1lJuS-zirvCN_CX-en5IJVg
提取码:8eln
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V1的分享
再layout下可以更改内容,有一点基础的可以去改改
如果要更改APP的名字,图标啊啥的,我们需要再在
这里改,可以百度
目前做的很简陋,按一下开,按一下关,属实拉跨,最近要考试没有时间干了。
DIY远程空调遥控(考研已断更)相关推荐
- 毕业设计-基于微信小程序的远程空调遥控系统
目录 前言 课题背景与简介 实现设计思路 一.系统组成 二.红外遥控原理 三.硬件设计 四.软件设计 五.总结 实现效果样例 更多帮助 前言
- 中国首艘远程无人遥控潜水艇大连制造
■新商报记者韩顺兆摄影雪林 日前,从大连海韵潜游技术有限公司传来喜讯,由该公司和大连海事大学共同研发的中国第一艘远程无人遥控潜水艇已进入到最后的调试阶段,只待正式下水.这是继 2005 年该公司自主研 ...
- DIY远程控制开关(tiny6410+LED+yeelink+curl)
上一次,介绍了如何实现远程监控室内温度,大家伙反响还是很热烈的,笔者很欣慰,独乐乐不如众乐乐啊.不过话说回来,那个实现只能是远程监测家中温度,假如发现家里热得很,想远程打开空调开关提前降降温,回家后不 ...
- 惠而浦空调遥控协议分析及使用Arduino遥控空调
一.工具 1.红外接收头(HS1838): 2.940nm红外发光二极管及限流电阻100Ω左右: 3.Arduino及Prototype Shield: 4.Saleae Logic兼容逻辑分析仪(价 ...
- 一个“断更就封号”的高冷习惯养成类App「念」
如果将应用市场的软件按照"正能量属性"进行排行,习惯养成类App绝对是毋庸置疑的三甲选手.和电商产品催你买买买.游戏应用拽你玩玩玩相比较,优质的习惯养成类应用总是绞尽脑汁地开发出各 ...
- Codeforces 刷题记录(已停更)
Codeforces 每日刷题记录 (已停更) 打'+'是一些有启发意义的题目,部分附上一句话题解,每日更新3题,大部分题目较水. Day ID Problem Tutorial Note 1 1 + ...
- java6 已安装更高版本_Java 10及更高版本的思考
java6 已安装更高版本 大家好 Java 10于2018年3月20日发布.我认为许多软件团队将阻止升级. 从Java 8到Java 9的专业人员人数可能还更少.为什么会这样,原因是传统的障碍以及对 ...
- 联想17TV语音遥控教程 语音点播更方便
原标题:联想17TV语音遥控教程 语音点播更方便 联想17TV电视集成最先进的语音识别技术,语音遥控功能为用户提供了便利,联想17TV电视语音遥控功能怎么用?下面就为大家讲解联想17TV电视语音遥控操 ...
- [开源][130522]DIY简易红外遥控信号发射器
一.背景 二.硬件 三.软件 四.效果 五.参考 六.源代码 一.背景 上回说到: [130120]DIY简易红外遥控信号解码器( http://bbs.eyuyan.com/read.php?t ...
最新文章
- Java: 面向对象程序设计(上)
- canvas arcTo()用法详解 – CodePlayer
- 再也不怕别人动电脑了!用Python实时监控
- 贝叶斯软件genle教程_一文读懂蒙特卡罗方法和应用贝叶斯推理
- Flash在浏览器里调试获取trace
- 《MapReduce 2.0源码分析与编程实战》一1.5 看,大象也会跳舞
- bootstrap4 左侧导航栏 优秀 大气_Bootstrap4从入门到精通视频教程
- javaweb四种域对象的应用
- P1019 单词接龙
- 通过mysqladmin监控MySQL数据的服务器状态
- android 微信6.1版本,微信6.1老版本-微信旧版6.1安卓版下载-Appfound
- Java用Swing写一个txt文本阅读器,并保存成有格式文本
- 中国传统色彩十六进制颜色码图片大全
- 手机照片分辨率dpi怎么调?一寸证件照照片dpi怎么调300?
- 常见计算机蓝屏代码,码住!常见电脑蓝屏代码和解决方法
- 汽车芯片“后短缺时代”,破局已定
- elemen点击时,修改走马灯的播放索引
- IDEA使用docker打包镜像
- php股票公式,【图】请老师帮忙编写个选股公式_股票公式,选股公式,股票论坛,炒股软件,股票指标_指标编写互助答疑论坛_理想论坛 - 股票论坛...
- 不发短信获取短信中心号