linux做一个客户端与WemosD1作为服务器的无线通信(局域网通信)
生活随笔
收集整理的這篇文章主要介紹了
linux做一个客户端与WemosD1作为服务器的无线通信(局域网通信)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
參考:linux做一個客戶端與WemosD1作為服務(wù)器的無線通信(局域網(wǎng)通信)
作者:枕上
發(fā)布時間:2021-07-19 23:33:44
網(wǎng)址: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平臺編寫服務(wù)器代碼)
Linux作為客戶端與wemosD1作為服務(wù)器進行網(wǎng)絡(luò)通信:
需要的是:linux下的socket網(wǎng)絡(luò)編程,為 linux 編寫客戶端
arduino平臺為wemosD1,作為設(shè)備接入wifi,并架設(shè)Wemos為ftp服務(wù)器
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.創(chuàng)建套接字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.連接服務(wù)器if(connect(s_fd,(struct sockaddr *)&addr,sizeof(struct sockaddr))==-1) //連接wemosD1{perror("connect");exit(-1);}printf("connect....\n");while(1){printf("請輸入發(fā)送的指令\n");gets(readbuf); //用這個編譯有警告//fgets(readbuf,sizeof(readbuf),stdin); //puts(readbuf); write(s_fd,readbuf,strlen(readbuf)); //向wemosD1發(fā)送信息}return 0; }wemosD1(arduino平臺編寫服務(wù)器代碼)
#include <ESP8266WiFi.h> //使用wifi的頭文件char* ssid = "iPhone"; //“wifi熱點名稱” char* passwd = "1234569870-1"; //”wifi熱點密碼”int port = 8888; //端口號 WiFiServer server(port); // 設(shè)置服務(wù)器端口號void initWifiSta() {WiFi.mode(WIFI_STA); // 設(shè)置STA模式WiFi.begin(ssid, passwd); //連接網(wǎng)絡(luò)while (WiFi.status() != WL_CONNECTED) {Serial.print(".");delay(500);} Serial.println(WiFi.localIP()); //通過串口打印wemos的IP地址 }void setup() {Serial.begin(115200);initWifiSta();server.begin(); //啟動服務(wù)器 }void loop() {//Serial.println(WiFi.localIP()); //通過串口打印wemos的IP地址// delay(500);char cmd;WiFiClient client = server.available(); //服務(wù)初始化出一個客戶端while (client.connected()) { //等待客戶端連接while (client.available() > 0) { //有數(shù)據(jù)到來,類似串口的那個函數(shù)cmd = client.read();//讀取數(shù)據(jù)if( cmd == '1'){Serial.println("just do it");}else{Serial.println("nothing"); }} }}總結(jié)
以上是生活随笔為你收集整理的linux做一个客户端与WemosD1作为服务器的无线通信(局域网通信)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 6、控件样式模板和使用
- 下一篇: winxp计算机语言改为英语,系统之家x