参考:树莓派作为客户端与WemosD1作为服务器的无线通信(局域网通信)
作者:图触靓
发布时间: 2020-07-26 21:50:39
网址:https://blog.csdn.net/bhbhhyg/article/details/107599915

目录

  • wemos版作为服务端代码:
  • 树莓派作为客户端与wemos连接代码:

跑Linux的树莓派可以通过路由器来与wemos版进行局域网内通信:

核心思想是linux下的socket网络编程,树莓派作为客户端,wemos作为服务器。

wemos版作为服务端代码:

#include <ESP8266WiFi.h>
char ssid[] = "路由器名称";
char passwd[] = "密码";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地址192.168.200.110delay(500);}
int port = 8888;  //端口号
WiFiServer server(port); // 设置服务器端口号
void setup() {Serial.begin(115200);initWifiSta();pinMode(D2,OUTPUT);digitalWrite(D2,HIGH);}
void loop() {WiFiClient client = server.available(); server.begin();//服务初始化 while (client.connected()) {while (client.available() > 0) { char cmd = client.read();  //从客户端读取数据Serial.println(cmd);if(cmd==49){digitalWrite(D2,LOW);}else if(cmd==50){digitalWrite(D2,HIGH);}}}}

树莓派作为客户端与wemos连接代码:

#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[2];char ch[128];if (argc!=3){printf("input not good\n");exit(-1);}int fd_a;int s_fd=socket(AF_INET, SOCK_STREAM,0);//配置通信模式if (s_fd==-1){perror("socket");exit(-1);}struct sockaddr_in addr;struct sockaddr_in addr1;memset(&addr,0,sizeof(struct sockaddr_in));addr.sin_family=AF_INET;addr.sin_port=htons(atoi(argv[2]));inet_aton(argv[1],&addr.sin_addr);if(connect(s_fd,(struct sockaddr *)&addr,sizeof(struct sockaddr))==-1)//连接wemos版{       perror("connect");exit(-1);}while(1){printf("请输入发送的指令\n");gets(readbuf);puts(readbuf);write(s_fd,readbuf,strlen(readbuf));//向wemos版发送信息}return 0;
}


编译完成后,输入wemos的ip地址(X输入地址),和对应的端口号(A输入端口号),即可连接上wemos版,对其单向通信。

可以通过发指令无线操控wemos版进行工作。

树莓派作为客户端与WemosD1作为服务器的无线通信(局域网通信)相关推荐

  1. linux做一个客户端与WemosD1作为服务器的无线通信(局域网通信)

    参考:linux做一个客户端与WemosD1作为服务器的无线通信(局域网通信) 作者:枕上 发布时间:2021-07-19 23:33:44 网址:https://blog.csdn.net/jinc ...

  2. GDC服务器主机与证书不匹配,调用web服务soap时,错误https URL主机名与客户端信任库中服务器证书上的公用名(CN)不匹配...

    嘿,我想用SAAJ调用soap web服务 我用野蝇10 我试图将此系统属性添加到standalone.xml,但无法工作 20: 53:08208错误[stderr](默认任务-21),原因是:ja ...

  3. [ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器

    原文:[ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器 上一章 [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis  介绍了Red ...

  4. 使用RedisDesktopManager客户端无法连接Redis服务器问题解决办法

    使用RedisDesktopManager客户端无法连接Redis服务器问题解决办法 参考文章: (1)使用RedisDesktopManager客户端无法连接Redis服务器问题解决办法 (2)ht ...

  5. 未能分析从服务器收到的消息,WebSocket Javascript客户端未收到来自服务器的消息...

    我已经在本地GlassFish 4.1服务器上部署了Java Web应用程序,该服务器实现了与Web客户端互操作的WebSockets.我能够通过套接字成功执行客户端到服务器的通信,但由于某种原因,服 ...

  6. 组策略配置客户端计算机使用WSUS服务器进行更新

    本文出自 "叶俊生" 博客,请务必保留此出处http://yejunsheng.blog.51cto.com/793131/175814 当WSUS服务器安装好以后,你还需要配置客 ...

  7. 树莓派使用STEP5:安装samba文件共享服务器

    samba服务器可以在多平台多操作系统搭建文件服务器,用于共享文件.为了方便windows和树莓派交换文件,将samba服务器的搭建过程记录如下. 1.安装samba服务器. sudo apt-get ...

  8. 客户端跳转与服务器跳转的区别

    客户端跳转时用HttPservletResopse对象的sendRedirect函数实现,服务器端跳转是使用RequestDispather对象的forward方法实现的.这两者之间的区别主要体现在三 ...

  9. 10g的客户端从9i的服务器中导出数据时遇到上面的问题

    EXP-00056: 遇到 ORACLE 错误 6550 ORA-06550: 第 1 行, 第 41 列: PLS-00302: 必须说明 'SET_NO_OUTLINES' 组件 ORA-0655 ...

最新文章

  1. (CodeForces 548B 暴力) Mike and Fun
  2. ZOJ2314 Reactor Cooling(无源汇流量有上下界网络的可行流)
  3. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 ——材料清单
  4. 深度学习进行目标识别的资源列表
  5. Jacobian vector products(转载+翻译+代码+解读)
  6. 如何将exe文件在linux下执行,如何在Linux系统下查找可执行文件
  7. LwIP移植到FreeRTOS(STM32F107+DP83848)
  8. E9流程表单中动态自定义添加button js代码
  9. 【VHDL】分频器设计要求:25分频,占空比为50%
  10. mysql jemalloc_Jemalloc优化MySQL和Nginx
  11. 软件配合实现的“一键开关机电路
  12. Android模拟器网络连接问题解决,解决小蚁安卓模拟器网络异常无法连接的方法...
  13. MySQL数据字典提示1146不存在的问题解决
  14. 【运维面试】面试官:你觉得网站访问慢的原因有哪些?
  15. ubuntu 18.04+GTX30系列显卡+TensorFlow-gpu1.15
  16. 分布式系统监控软件zabbix—— 通过qqmail或第三方报警平台(睿象云)发送告警信息
  17. 2022-2028全球与中国消防无人机市场现状及未来发展趋势
  18. bert 中文 代码 谷歌_从字到词,大词典中文BERT模型的探索之旅
  19. 提高iTunes更新速度的DNS
  20. hive sql自动生成id的两种方法随机id和自增id

热门文章

  1. Create a Service Catalog Request via REST API
  2. 亚马逊Rekognition发布针对人脸检测、分析和识别功能的多项更新
  3. iOS显示性能优化过程讲解
  4. Oracle data type number
  5. LNMP一键安装包在安装完成后的一些安全设置
  6. about hamout cloudra
  7. asp.net学习之ado.net(连接模式访问)
  8. XSL学习笔记6 XSLT内置模板规则
  9. 【数字信号处理】——Python频谱绘制
  10. Pytorch超简单安装教程