1.首先要下载ardunio IDE,安装;
2.然后就是接线,由于要下载进去,把gpio0加接地,en脚接3.3,rx接tx,tx接rx,rst脚接3.3,gpio2接3.3;
3.安装开发库,参考这位博主:https://blog.csdn.net/qq_24269643/article/details/87574021
4.tcp的代码

#include <ESP8266WiFi.h>WiFiServer server(8080);
WiFiClient client;void setup() {pinMode(LED_BUILTIN, OUTPUT);Serial.begin ( 115200 );//Serial.println("");// 设置内网IPAddress softLocal(192,168,4,1);   // 1 设置内网WIFI IP地址IPAddress softGateway(192,168,4,1);IPAddress softSubnet(255,255,255,0);WiFi.softAPConfig(softLocal, softGateway, softSubnet);String apName = ("ESP8266_"+(String)ESP.getChipId());  // 2 设置WIFI名称const char *softAPName = apName.c_str();WiFi.softAP(softAPName, "12345678");      // 3创建wifi  名称 +密码 adminadmin//IPAddress myIP = WiFi.softAPIP();  // 4输出创建的WIFI IP地址//Serial.print("AP IP address: ");     //Serial.println(myIP);//Serial.print("softAPName: ");  // 5输出WIFI 名称//Serial.println(apName);server.begin();
}void loop() {client = server.available();if (client){while (client.connected()){if(client.available()){size_t count = client.available();uint8_t sbuf[count];client.readBytes(sbuf, count);Serial.write(sbuf, count);} if(Serial.available()) {size_t count = Serial.available();uint8_t sbuf[count];Serial.readBytes(sbuf, count);client.write(sbuf, count);}delay(5);}delay(10);client.stop();}digitalWrite(LED_BUILTIN, LOW);delay(250);digitalWrite(LED_BUILTIN, HIGH);delay(250);
}

程序:在没有连接连上时,led会闪,连上之后就灭了。
5.点击上传,等待完成,之后把gpio0脚悬空,重新上电,就可以用啦。主要是用来把我的小四轴数据传给手机。


凉了一年,又开始搞小四轴了,之前半路吃灰了,上面的tcp通信,实际用的时候,在安卓端和stm32端都出现数据断开了,后面改成udp通信,有一点点改善。stm32接收也要改,之前用的是串口空闲+dma的,老是断开两半过来,,看来还是老实点一个个接。
上个辣鸡四轴的图

这四轴中间改版了几次,还是有bug,电机的供电走线走细,导致转速一上去就挂,后面用几根线直接连电源口用着先。传感器那里,6050还好能用,bmp280感觉是走线或者画的时候引脚出错了,焊上去一丢丢反应都无有。不说了,先上现在的esp01s的代码,有一点点遗憾,串口和udp那里,之后udp那里有东西收到之后,才能获取到udp的ip和端口,也就是说如果udp那边没收到东西,我串口发东西就不知道发给谁了,,
esp8266开的ap,不知道怎么查连入设备的ip,后面再想想办法。
上代码了

#include <ESP8266WiFi.h>
#include <WiFiUdp.h>WiFiUDP Udp;
char receivebuf[255];
char srBuf[255];
unsigned int localUdpPort = 8860; int sLen = 0;
int packetSize = 0;void setup() {// put your setup code here, to run once:Serial.begin ( 115200 );//Serial.println("");// 设置内网IPAddress softLocal(192,168,4,1);   // 1 设置内网WIFI IP地址IPAddress softGateway(192,168,4,1);IPAddress softSubnet(255,255,255,0);WiFi.softAPConfig(softLocal, softGateway, softSubnet);String apName = ("ESP8266_SZ");  // 2 设置WIFI名称const char *softAPName = apName.c_str();WiFi.softAP(softAPName, "12345678");      // 3创建wifi  名称 +密码 adminadminUdp.begin(localUdpPort);
}void loop() {// put your main code here, to run repeatedly:packetSize = Udp.parsePacket();if (packetSize) {int len = Udp.read(receivebuf, 255);if (len > 0) { Serial.write(receivebuf,len);}}sLen = Serial.available();if(sLen){Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());while(sLen){Serial.read(srBuf,sLen);Udp.write(srBuf,sLen);delay(1);sLen = Serial.available();}Udp.endPacket();}
}

改进在这里,在网络调试助手测试,之前会分开一段一段发,这样子就连到一起了,只要的想法是,看延时1毫秒后还有无有数据进来,无有就发了。

 sLen = Serial.available();if(sLen){Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());while(sLen){Serial.read(srBuf,sLen);Udp.write(srBuf,sLen);delay(1);sLen = Serial.available();}Udp.endPacket();}

esp01s作为ap,收发数据相关推荐

  1. STM32F103C8T6+ESP-01S+MQTT服务器实现数据上传和接收(一)

    STM32F103C8T6+ESP-01S+MQTT服务器实现数据的上传和接收(一) 前言 ESP-01S固件烧录 主要AT指令 手写简单的库函数 常量定义 全局变量声明 串口初始化 关闭AT指令回显 ...

  2. STM32笔记---USART3配置及收发数据

    前段时间某个项目需要多串口收发数据,因此尝试了一番,参考了正点原子官方例程,现在记录下 代码: USART3.c中先添加头文件: #include "sys.h" #include ...

  3. socket通过多网卡收发数据

    1.   通过bind机制,   socket必须要调用bind才能发送tcp包. bind调用时需要一个ip地址.一般一台机器的多网口都要配置不同的ip地址(路由器除外,路由器是一个网桥设备,只是负 ...

  4. can总线配置读入是什么意思_STM32学习笔记—CAN总线收发数据常见问题分析

    CAN,Controller Area Network(控制器局域网络),在汽车电子.工业控制领域的应用比较多,通常用于局域组网. 这是第9篇学习分享文章,<STM32学习笔记>之CAN总 ...

  5. linux 网络编程:使用两线程实现socket同时收发数据

    http://blog.csdn.net/li_wen01/article/details/52665505 工作中最近有使用到socket 向客户端同时发送和接收数据,因为是嵌入式linux设备,且 ...

  6. linux网络编程:使用多进程实现socket同时收发数据

    转载:http://blog.csdn.net/li_wen01/article/details/52685844 前面已讲过使用一个进程实现服务端和客户端P2P通信的实例,但是它只能同时处理一个客户 ...

  7. STM32f407与STM32F103 串口采用DMA收发数据配置方法的异同

    最近有个项目需要用到STM32F407ZET6这款芯片,其中有一个串口收发数据的应用.因为之前有用过STMF32F103ZET6通过DMA收发数据的方案,所以我打算移植之前的代码实现这个功能,STM3 ...

  8. Linux内核分析 - 网络[一]:收发数据包的调用

    什么是NAPI NAPI是linux一套最新的处理网口数据的API,linux 2.5引入的,所以很多驱动并不支持这种操作方式.简单来说,NAPI是综合中断方式与轮询方式的技术.数据量很低与很高时,N ...

  9. 485通信自动收发数据实现

    485通信是工业控制中很常用的一种通信方式,但是编写通信程序的时候需要在代码中手动控制接收和发送,如果接收和发送逻辑没处理好往往会造成通信故障,实现起来比较麻烦.那能不能让485通信是接收和发送数据可 ...

  10. php socket发数据打印,PHP向socket服务器收发数据的方法

    这篇文章主要介绍了PHP向socket服务器收发数据的方法,分析了socket收发数据的方法,并介绍了socket常用函数,需要的朋友可以参考下 本文实例讲述了PHP向socket服务器收发数据的方法 ...

最新文章

  1. cruzer php sandisk 闪迪u盘量产工具_SanDisk Cruzer Micro下载
  2. 应对百度算法调整的三大优化技巧
  3. 聊城高级财经计算机应用升学,聊城高级财经职业学校成功承办省级职业技能大赛赛项...
  4. python pil保存图片_python爬取百度图片并保存到本地
  5. Android之使用IDA Pro静态分析so文件
  6. Java启动参数与内存调优一些学习笔记
  7. 408. Valid Word Abbreviation
  8. java callable接口_Java多线程之Callable接口的实现有返回值的线程
  9. tensorflow越跑越慢_tensorflow sess.run()越来越慢的原因分析及其解决方法
  10. ios 扫码枪外设 键盘模式_多平台连接:雷柏XK100蓝牙键盘评测
  11. 可拖动jquery插件
  12. matlab求数的因子,matlab中因子分析的函数factoran如何使用??
  13. 如何做个bat文件改变系统时间格式_老板发来一份表格名单,100个人按姓名建文件夹,同事五秒就完成...
  14. 二、ReactDOM.render()
  15. 【Spring-IOC】依赖注入
  16. ROS 安装教程Ubuntu16.04(2022年最新)
  17. 美国人如何看待超自然?
  18. 包看包会的变量与数据类型
  19. [题单]多校补题 2017-2012
  20. Java久居第一是因为这些

热门文章

  1. 美拍直播首屏耗时减少50%以上的优化实践
  2. SonarQube 9.x集成阿里p3c代码规范检测java代码;
  3. mpvue实战美团外卖点餐小程序
  4. JS字符串分割转为树结构参考
  5. web of science 2022新版检索证明pdf下载方法
  6. 史上最全的邮箱测试方法
  7. 程序员的工具箱奇形怪状
  8. sip信令常用的响应码
  9. windows11修改中文用户名
  10. 附指南原文下载-《GB/T 39725-2020 信息安全技术 健康医疗数据安全指南》解读(一)