ESP8266 整理篇(下)

书接上文,这一篇说说wemos D1 R2板。值得庆幸的是,这个板子虽然有点小众,但淘宝上面卖的比别人贵的那家还是挺靠谱。

wemos D1 R2、wemos D1 R23、wemos D1 mini等等,虽然接脚各不相同,但是同为ESP8266拓展板,其原理基本都一样,报错的侧重点也没什么差别。
(报错记录:
https://blog.csdn.net/qq_41984831/article/details/103762229)

1. 简单说明

它的供电和串口连接方式是数据线。试了一下用手机的数据线大约是不行的。驱动和Arduino Uno板不同,需要自己安装。板子上有一些重复引脚,比如D1~D7,这说明这些引脚是从一根线上引出来的,在连接传感器的时候注意不要将几个口混接。传感器连接的定义方式稍显不同:

  #define echoPin D1
  #define trigPin D2 

就像这样,在接线上接哪个都没问题。

2. 代码

和传感器的数据交流部分与arduino Uno 类似,按下不表。

无线传输的部分:TCP/IP协议。TCP协议不是很快,但是能尽可能减少数据漏包,还是符合大部分初级工程需求的。

TCP协议,最简单的解释就是三次握手、四次挥手、遇事不决缓冲区。具体到Wemos代码里,主要体现有:

 #include <ESP8266WiFi.h>
 #include <WiFiClient.h>

基本的两个库。

const char* ssid = "218";
const char* password = "nnnri218";

让ESP8266去连接路由器网络,和电脑处在同一网域。

WiFiServer server(26);
WiFiClient client;

服务器端口为26,8266作为server端。

进入setup()函数:

  WiFi.begin(ssid,password);
  Serial.println("Connecting");

  Serial.print("Connected to "); 
  Serial.println(ssid);
  
  Serial.print("IP Address: "); 
  Serial.println(WiFi.localIP());

把IP地址输出一下,便于在后期client端对接的时候直接填上。

server.begin();

服务器开始传输。

进入loop()函数:

client = server.available();

if (client){
    Serial.println("Client connected");
    while (client.connected()){传感器相关}

监听一下能不能连接到客户端,如果可以就开始传,输出用client.print()

一开始可以用client和Serial同时输出,二者一致就说明可行。

在这里插入图片描述
unity接收的问题,见下下篇。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值