要弄懂这个问题,大家需要具备一些基本知识:
-Socket协议
-网络通信知识
-Arduino相关知识
-Wifi工作原理
先上一个原理图
准备材料:
-无线路由AP,负责提供网络和Wifi信号
-电脑一台,负责充当Socket服务
-Arduino+Wifi模块
第一步:在电脑上建立Socket服务
在电脑上建立Socket的方式有很多:用程序自己写一个/用现成的软件模拟一个
本文重点不是讨论代码实现,所以用一个现成的软件来模拟:串口转网络调试助手
可以同时开2个软件来测试,一个建立Socket服务,另一个建议SocketClient
就可以相互通信了,确认Socket服务可用后,可以关掉一个,只留下负责Socket服务的那个,等待Arduino的Wifi来连接
第二步:准备Arduino+Wifi模块硬件电路
电路大概是这个样子的
一块标准的Arduino板子,通过数字口(模拟串口)与Wifi模块的串口连接
电路就大搭建完成了
第三步:Arduino编程实现
-流程实现
初始化软串口>根据Wifi的SSID和密码连接上无线路由>通过Socket方式连接电脑(所在IP)的Socket服务>发送数据>接收数据>完成
-代码参考
小结:
-需要电脑提供Socket服务
-Arduino驱动Wifi模块
-利用Socket协议建议Arduino与电脑的连接
-电脑和Arduino要在同一个网络内(或可互相访问的IP段内)
达成以上条件,Arduino和电脑就可以利用Wifi数据互通了