小言_互联网的博客

很火的夏日一键清凉—自己DIY制作大学宿舍远程空调遥控(小白的物联网入门)

314人阅读  评论(0)

啊吧啊吧啊吧啊吧!!!!!!!!!!!!!!!!!!

前一段时间很火的小程序:随身小风扇 受到了很大的欢迎,但是并不妨碍大家上厕所满头大汗😀

但是!那小程序还是只能(pian)自己哈哈哈哈,我们可以干一些更牛逼的,小白也做一个好玩的(顺便学学东西)

现在宿舍都有空调(应该)🤣

所以可以搞一搞自己动手干一个遥控器在手机里,下课别人飞奔回宿舍回宿舍开空调的时候,你可以冷静的打开空调,回去就能享受清凉!!!

夏日炎炎,这不香嘛!顺便祝董瑞龙赶紧找到对象♥哈哈哈

更新中!!!更新中!!!更新中!!!

很快很快滴 考试中——电赛准备中——划水中——咸鱼中!

网络测试

网络通信肯定是最重要的一部分之一,我们比较是不在一个局域网下干活、传消息,所以需要配置一些东西。

怎么确定宿舍有没有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和端口号测试哦!

应用软件测试

硬件测试

这里有很多方案,常见的主控例如51、32这些,emmmm可以用可以不用,但是还是需要esp8266,所以我们不如直接干8266
这里我们必须购买红外编解码模块
这个样子

整合以及Tips


转载:https://blog.csdn.net/weixin_45824920/article/details/117560597
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场