linux做一个客户端与WemosD1作为服务器的无线通信(局域网通信)
参考:linux做一个客户端与WemosD1作为服务器的无线通信(局域网通信)
作者:枕上
发布时间:2021-07-19 23:33:44
网址:https://blog.csdn.net/jinchi_boke/article/details/118916896?utm_source=app&app_version=4.11.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
目录
- client.c
- wemosD1(arduino平台编写服务器代码)
Linux作为客户端与wemosD1作为服务器进行网络通信:
需要的是:linux下的socket网络编程,为 linux 编写客户端
arduino平台为wemosD1,作为设备接入wifi,并架设Wemos为ftp服务器
wemosD1 WIFI模块代码demo:
https://blog.csdn.net/jinchi_boke/article/details/118915142
client.c
#include<netinet/in.h>
#include <arpa/inet.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>int main(int argc,char **argv){char readbuf[8] = {'\0'};struct sockaddr_in addr;memset(&addr,0,sizeof(struct sockaddr_in));if (argc!=3){printf("The input parameter is wrong\n");exit(-1);}//1.创建套接字int s_fd=socket(AF_INET, SOCK_STREAM,0); if (s_fd==-1){perror("socket");exit(-1);}addr.sin_family=AF_INET;addr.sin_port=htons(atoi(argv[2]));inet_aton(argv[1],&addr.sin_addr);//2.连接服务器if(connect(s_fd,(struct sockaddr *)&addr,sizeof(struct sockaddr))==-1) //连接wemosD1{perror("connect");exit(-1);}printf("connect....\n");while(1){printf("请输入发送的指令\n");gets(readbuf); //用这个编译有警告//fgets(readbuf,sizeof(readbuf),stdin); //puts(readbuf); write(s_fd,readbuf,strlen(readbuf)); //向wemosD1发送信息}return 0;
}
wemosD1(arduino平台编写服务器代码)
#include <ESP8266WiFi.h> //使用wifi的头文件char* ssid = "iPhone"; //“wifi热点名称”
char* passwd = "1234569870-1"; //”wifi热点密码”int port = 8888; //端口号
WiFiServer server(port); // 设置服务器端口号void initWifiSta()
{WiFi.mode(WIFI_STA); // 设置STA模式WiFi.begin(ssid, passwd); //连接网络while (WiFi.status() != WL_CONNECTED) {Serial.print(".");delay(500);} Serial.println(WiFi.localIP()); //通过串口打印wemos的IP地址
}void setup()
{Serial.begin(115200);initWifiSta();server.begin(); //启动服务器
}void loop()
{//Serial.println(WiFi.localIP()); //通过串口打印wemos的IP地址// delay(500);char cmd;WiFiClient client = server.available(); //服务初始化出一个客户端while (client.connected()) { //等待客户端连接while (client.available() > 0) { //有数据到来,类似串口的那个函数cmd = client.read();//读取数据if( cmd == '1'){Serial.println("just do it");}else{Serial.println("nothing"); }}
}}
linux做一个客户端与WemosD1作为服务器的无线通信(局域网通信)相关推荐
- 树莓派作为客户端与WemosD1作为服务器的无线通信(局域网通信)
参考:树莓派作为客户端与WemosD1作为服务器的无线通信(局域网通信) 作者:图触靓 发布时间: 2020-07-26 21:50:39 网址:https://blog.csdn.net/bhbhh ...
- 对linux做一个简单介绍,对“Fork”做一个技术方面的简介
使用过 GitHub 的人大多知道它上面有个"Fork"的功能,用来将某个仓库克隆到你的账户之下,从而可以对其进行修改.衍生,也可以比较方便的将你的修改推回到原来的仓库(所谓的上游 ...
- 让linux的SSH客户端也能记住服务器的密码
From: http://blog.chinaunix.net/uid-17240700-id-2813900.html CU上一位网友的问题如下: 以前一直用windows,最近工作 ...
- linux cisco路由器,怎样让linux做cisco路由器的专用日志服务器
对于Cisco路由器日志的服务器设置,是一个很高端的问题.在使用的过程中需要不停地寻找更好的方式,但对于linux,很多人都不是很清楚.如何把linux设置成Cisco路由器日志服务器?想实现日志的统 ...
- linux做svn客户端吗,Linux中的svn客户端(TortoiseSVN 的替代者)
RabbitVCS : TortoiseSVN 的替代者 我们都知道,自从svn出道以来,很多人都预言,cvs将会被其取代.就如同他们预言maven要取代ant一样.可见,svn的流行.在window ...
- 一个小型网站多少台服务器,小型企业局域网需要服务器的价格在多少左右(40台机器)...
80台工作站建议用两台能同时负载80台客户机的服务器(正常情况下两台服务器负载均衡,如一台出现故障另一台可以全部负载),一般无盘服务器DIY比较实用和省钱. 一.(单服100-120台) 服务器主板: ...
- 如何做一个国产数据库(七) 网络传输 java做订阅客户端
如何做一个国产数据库一 如何做一个国产数据库二 如何做一个国产数据库三 如何做一个国产数据库四 如何做一个国产数据库五 如何做一个国产数据库六 server端协议定义 再次强调一下我们的protoco ...
- 如何做一个国产数据库(六) 网络传输 nodejs做测试客户端
如何做一个国产数据库一 如何做一个国产数据库二 如何做一个国产数据库三 如何做一个国产数据库四 如何做一个国产数据库五 网络实战服务器 我们再四中说过使用tcp进行协议的链接,对我们所定义的协议如果有 ...
- linux 拨号网关,用LINUX做在一张软盘上的拨号网关 (转)
用LINUX做在一张软盘上的拨号网关 (转)[@more@] 用做在一张上的拨号网关 作者:linix 摘要:本文给出了如何用LINUX做一个仅需要一张软盘的拨号网关.可以用它作为或一般MODEM的拨 ...
最新文章
- 一次redis连接配置修改引发的redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.异常
- JavaScript学习笔记(七)——厚积薄发之小成果
- 泛化,过拟合,欠拟合素材(part1)--python机器学习基础教程
- vue项目中npm install初始化报错以及‘cross-env’ 不是内部或外部命令问题
- java next_permutation_[LeetCode-JAVA] Next Permutation
- 近两万字 TCP 硬核知识,教你吊打面试官!
- Word 2010、Excel 2010中插入日期与时间(转)
- 3389远程连接问题的一个解决办法
- react 拆分组件于组件
- 交易系统开发(六)——HFT高频交易
- SPSS 26下载与安装
- 异步十二进制加法计数器(统一使用上升沿触发的D触发器)设计
- Unity一键修改NGUI字体的编辑器脚本
- IEEE 802.3标准简介以及各分类标准汇总
- 利用asyncio aiohttp爬取蜂鸟网美图
- uefi如何安装linux系统教程,UEFI启动模式下安装Ubuntu教程
- 保险行业的“偿二代”
- 字节跳动自研线上引流回放系统的架构演进
- 韩顺平c语言视频笔记,韩顺平视频笔记
- 论文解读2019INFOCOM_Calibrate: Frequency Estimation and Heavy Hitter Identification with LDP