精华内容
下载资源
问答
  • 内含ESP8266开发板烧录AT固件说明,ESP8266下载程序说明 其中烧录AT固件说明文件中包含ESP8266AT固件,以及烧录工具,和烧录完整版视频,以及PDF手册 部分内容如下: 一、 材料准备 烧录工具: FLASH_DOWNLOAD_...
  • esp01s代码 针对于esp01s的一些事例记录 esp01StoTianMaoForPcButton.ino 代码中描述基于esp01s使用天猫精灵对电脑进行语言或点灯开关的实现 esp01StoTianMaoForButtonSwitch.ino 代码中描述基于esp01s使用天猫精灵...
  • ESP8266 (ESP-01S)是一款轻便,超低功耗的一款WIFI模块,可对其进行二次开发,该模块出厂时默认自带出厂固件的,但如果进行了开发即下载了自己写的程序,想再次使用原厂AT固件,这时需要烧录固件。 下面步骤是本人...
  • 基于stm32f1的esp01s的驱动库及使用

    千次阅读 2019-11-24 18:28:43
    @基于stm32f1的esp01s的驱动库及使用 基于用户zero_rose的驱动改进,文章来源STM32的ESP01驱动库_面向对象的形式 第一次写博客,如有错误请多包涵。 话不多说,直接上部分代码,剩下的下面慢慢解释: int ...

    @基于stm32f1的esp01s的驱动库及使用

    基于用户zero_rose的驱动改进,文章来源STM32的ESP01驱动库_面向对象的形式

    正常情况下,使用AT命令即可配置esp01s,因此当我们需要用stm32对esp01s进行配置时,我们只需要让单片机按照固定的规则向esp01s发送指令即可。
    AT指令原贴主已经配置的差不多了,大部分可以直接拿过来用,想在stm32f1上面使用的话,我们只需要将USART端口简单修改一下即可,修改方式不在另行赘述。
    代码中的连接方式:usart1连接电脑端,usart2连接esp01s;
    下面讲下我做的一些修改:
    第一部分就是自连接WiFi

    /*
    -------------------------------------------------------------------------------
    函数ATcall:自动配置atcall模块,并通过usart1发送结果
    配置过程:
    1,检测at模块
    2,wifi模式配置为3
    3,打开多链接模式
    4,打开tcp服务器,ip192.168.4.1:8080
    -------------------------------------------------------------------------------
    */
    void ATcall(void)
    {
    	esp8266 test;
    	esp8266Init(&test);
    	uart_init(115200);
    	delay_init();
    	if(!test.CheckESP()) //检测ESP01
    	{
    		USART1_Info("无法检测到ESP01.....\r\n");
    	}
    	else{USART1_Info("ESP01已连接.....\r\n");}
    	delay_ms(500);
    	if(test.SetEspMode(3))  //wifi模式设置
    	{
    		USART1_Info("模式3已设置.....\r\n");
    	}
    	
    //	if(test.ConnectWiFi("Lab","laboratory"))//WiFi连接超时时间6s;
    //	{
    //		USART1_Info("wifi[lab]已连接.....\r\n");
    //	}
    //	else{(USART1_Info("wifi[lab]连接失败.....\r\n"));}
    	delay_ms(500);	
    	if(test.ConnectionMode(1))
    	{
    		USART1_Info("多连接模式已打开.....\r\n");
    	}
    	else{(USART1_Info("多连接模式打开失败.....\r\n"));}
    	
    	if(test.TCPserver("1","8080"))//默认ip为192.168.4.1
    	{
    		USART1_Info("服务器已开启.....\r\n");
    	}
    	else{(USART1_Info("服务器开启失败.....\r\n"));}
    	
    }
    

    这段函数主要使用了test测试命令和usart发送命令,test执行相关的动作并用于对esp01s返回的信息进行分析并作出对应判断,如test.CheckESP(),指向了CHeckESP函数

     u8 CheckEsp(void)
    {
    	SendEspCommand("AT\r\n");
    	delay();
    	if(CheckResponse())
    	{
    		return 1;
    	}
    	return 0;
    }`
    

    通过usart2发送at命令,然后通过CheckResponse()对返回信息进行判断,成功返回1,失败返回0

    char CheckResponse()
    {
    	if(strstr(ESPBuffer,SendResponse) == NULL)
    	{
    		return 0;
    	}
    	return 1;
    	ClearESPBuffer();
    }
    

    相关代码在https://github.com/zhanglu-2001/esp01s/blob/master/HARDWARE/AT/AT_ESP.c中
    相关指令配置好后,我们只需要在main函数里进行调用即可

    int main(void)
    {
    	ATcall();//配置esp01s,此处配置的为多路连接tcp模式
    	WiFiSendData(0,'a');//通过esp01s向0号客户端发送数据‘a’
    	while(1)
    	{
    	delay_ms(500);
    	WiFiReadData();//通过esp01s读取客户端发送的数值,并通过usart1发送出去
    	}
    }
    

    此时我们就成功的通过esp创建了一个多路连接的服务器并对数据进行收发;但是既然是使用stm32配置,我们最主要的目的还是通过esp32给单片机进行联网,并进行远程控制。控制方法同传统的蓝牙,串口方法没什么区别,我们只需要对usart2端口接收到的数据进行分析并完成相应判断即可,具体的代码及方法以后会慢慢更新。

    完整代码在我的github里,下载后](https://github.com/zhanglu-2001/esp01s),可以直接烧录到stmf103c8t6中使用。
    github地址:https://github.com/zhanglu-2001/esp01s

    展开全文
  • arduino esp01s+继电器 控制220V开关源码
  • ESP 8266 ESP 01S固件烧录完整步骤

    千次阅读 2020-12-13 21:49:56
    esp8266 01s USB转TTL CH340模块 2、烧录工具以及烧录程序 百度网盘链接:https://pan.baidu.com/s/14076XZTtSIxsHQ7HFq2NNA 提取码:szw4 (如果失效可以加群:925290045) 3、烧录过程: 对于ESP32 01S,烧录出厂...

    1、硬件
    esp8266 01s
    USB转TTL CH340模块

    2、烧录工具以及烧录程序
    百度网盘链接:https://pan.baidu.com/s/14076XZTtSIxsHQ7HFq2NNA 提取码:szw4 (如果失效可以加群:925290045)

    3、烧录过程:

    对于ESP32 01S,烧录出厂的AT固件。
    在这里插入图片描述
    注意上面的选择项,然后直接点击start,就可以下载了。
    下载完成后,一定断电重启,或者按下下载器上面的复位键。

    固件里面有分8M和32M,ESP8266-01S选择8M的固件,因为ESP8266-01S只有8M大小,其实只有1M的大小(具体原因需要以后分析)。
    固件就一个文件,从0x00地址烧写,其他选项不管。

    使用串口调试助手进行调试。注意波特率的选择,其他都选择默认值就可以。

    在这里插入图片描述

    1、业余时间爱捣鼓自己的业余爱好。
    2、喜欢了解新知识,致力于不甘做个平凡程序员,致力于交更多的朋友
    3、本人对西门子等工控产品有近10年编程经验,欢迎探讨,如果有志同道合的朋友可以进QQ群交流:925290045。

    展开全文
  • esp01S 配网及连接mqtt

    千次阅读 2020-04-08 17:08:58
    esp01S 配网及连接mqtt设备入手刷nodeMcu固件配网方案LUA代码参考其他代码 设备入手 马爸爸家入手了esp01s Relay模块继电器,配esp01s,全裸板,没有任何程序,需动手刷。 刷nodeMcu固件 没有什么可多说的,在...

    设备入手

    马爸爸家入手了esp01s Relay模块继电器,配esp01s,全裸板,没有任何程序,需动手刷。

    刷nodeMcu固件

    没有什么可多说的,在https://nodemcu-build.com/index.php选择项目,生成固件,再用flash_download_tools_v3.6.7刷到esp01s里即可。

    配网方案

    参考了https://www.secpulse.com/archives/82363.html的文件和思路,有所改动,上电后自动运行init.lua,查找网络配置文件config.lua,如果没有,启动ap模式,加载httpserver,手机连接模块AP,进行配网,配网参数保存到模块config.lua内,并连接网络,执行mqtt.lua,连接mqtt,就可以控制了。
    下次启动或断电后启动时,自动运行init.lua,查找网络配置文件config.lua,配置过就会存在,模块连接网络,执行mqtt.lua,连接mqtt,就可以正常控制了。
    wifi如果变更,改名或改密码,即使配置文件config.lua存在,也连不上网络,目前的处理方式是在init.lua内设置时间限制,超过时间仍连不上网络,就启动ap模式,加载httpserver,手机连接模块AP,可以重新进行配网。

    LUA代码参考

    init.lua:

    if file.exists("config.lua") then
        dofile('config.lua')
        wifi.sta.config(cfg)
        print("connect wifi ssid: "..cfg.ssid.." pwd: "..cfg.pwd)
        count=0
        mytimer = tmr.create()
        mytimer:register(1000, tmr.ALARM_AUTO, function()
            if count==10 then
                mytimer:stop() 
                print('connect sta fail,restarthttpserver...')
                dofile('wifi_set_ap.lua')
                dofile('start_http.lua')
            end
            if wifi.sta.getip() ~= nil then
                print(wifi.sta.getip())
                mytimer:stop()
                print('{"status":"connect success."}')
                wifi.setmode(wifi.STATION)
                --mqtt
                dofile('mqtt.lua')
            else
                count=count+1           
            end
        end)
        mytimer:start()
        else
        dofile('wifi_set_ap.lua')
        dofile('start_http.lua')
    end
    

    配网代码start_http.lua:

    dofile('httpServer.lua')
    dofile('table_to_string.lua')
    
    httpServer:listen(80)
    TMR_WIFI = 4
    
    httpServer:use('/', function(req, res)
            if wifi.getmode() == 3 then
                res:sendFile("index.html")
            else
                res:send("<h1>Hello,nodeMCU</h1>")
            end
    end)
    
    httpServer:use('/config', function(req, res)
        if req.query.ssid ~= nil and req.query.pwd ~= nil then
            local cfg = {}
            cfg.ssid = req.query.ssid
            cfg.pwd = req.query.pwd
            wifi.sta.config(cfg)
            print("connect wifi ssid: "..cfg.ssid.." pwd: "..cfg.pwd)
            -- 配网信息保存
            file = file.open("config.lua", "w")
            file:writeline("cfg = {}")
            file:writeline("cfg.ssid = \""..req.query.ssid.."\"")
            file:writeline("cfg.pwd =  \""..req.query.pwd.."\"")
            file:close() 
            dofile('config.lua')
            wifi.sta.config(cfg)
            print("connect wifi ssid: "..cfg.ssid.." pwd: "..cfg.pwd)
            count=0
            mytimer = tmr.create()
            mytimer:register(1000, tmr.ALARM_AUTO, function() 
                if wifi.sta.getip() ~= nil then
                    print(wifi.sta.getip())
                    mytimer:stop()
                    print('{"status":"connect success."}')
                    wifi.setmode(wifi.STATION)
                    dofile('mqtt.lua')
                end
            end)
            mytimer:start()      
        end
    end)
    
    httpServer:use('/scanap', function(req, res)
        print("Scanning AP...")
        wifi.sta.getap(1, function(table)
            local aptable = {}
            for ssid,v in pairs(table) do
                local ssid, rssi, authmode, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]*)")
                aptable[ssid] = channel
            end
            local retResult = table_to_string(aptable)
            res:send(retResult)
        end)
    end)
    
    

    其他代码

    其他的操作就很简单了,可以通过以下链接获取所有代码和所用到的工具。
    esp8266继电器配网+断电保存+可重复配网全部代码及工具.zip
    本人纯小白,折腾了两天,希望对大家有参考作用。

    展开全文
  • ESP8266-ESP-01S-WIFI数据透传实验.rar
  • 1.首先要下载ardunio IDE,安装; 2.然后就是接线,由于要下载进去,把gpio0加接地,en脚接3.3,rx接tx,tx接rx,rst脚接3.3,gpio2接3.3; 3.安装开发库,参考这位博主:...4.代码 #include <ESP8266WiFi.h> ...

    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  名称 +密码 adminadmin
    
      Udp.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();
      } 
    
    展开全文
  • jack设计的esp01s 1路智能开关pcb

    千次阅读 2021-07-01 09:17:16
    jack设计的esp01s 1路智能开关pcb pcb打样资链接: https://pan.baidu.com/s/1W9Xh6yaSGn8kwfRjuCTtTQ 密码: 5pti 固件下载:链接:https://pan.baidu.com/s/1LU4XkcYnH83GNsA61ywFqw 提取码:681i 配套教程:...
  • ESP8266-ESP-01S-WIFI-手机APP控制实验.rar
  • arduino uno或者nano,ESP01S 上传温湿度数据到中国移动ONENET云平台,平台可以控制LED的亮灭
  • ESP8266-01S Arduino IDE 开发(含开发工具和源代码),点灯程序。 含以下内容 8266_package_2.5.0.exe aJson.zip WiFiManager-master.zip blinker-2.3.1-release.apk blinker-library-master.zip ESP8266...
  • 利用esp01s模块和光耦817实现天猫精灵、小爱同学实现电脑远程开关机(由于电脑电源开机线是5V,需要另外加两个5V转3.3V模块对esp01s提供电源和反馈开关机状态)。 /* * 利用esp01s模块和光耦817实现天猫精灵、小爱...
  • esp01s-WS2812.zip

    2020-04-22 00:20:39
    Wifi控制ws2818,整体呈雪花状六角形,共12个灯,24位真彩色,仅需一个Io控制,成本在15块钱左右,非常适合初学者入门,这是板子的gerber,可以直接下载后上传到加利川就可以直接下单制作了
  • 小白试水文 大佬轻点喷 这里主要提供简单的代码,原理可以去瞅瞅别的大佬。 代码如下 #define BLINKER_WIFI #define BLINKER_ALIGENIE_LIGHT //天猫精灵 #include char auth[] = d2398502b79d;...
  • 使用ArduinoIDE连接串口之后出现如下情况: Esp串口返回ERROR 直接放解决方法: 将串口监视器右下角 换行符 ...Esp01s已刷过默认的AT固件(版本是v1.5),使用串口与Arduino uno连接,波特率为115200,RX连接P..
  • 代码和接线说明都存放在我的gitee中了,点击访问。
  • 需要的元器件:esp01s模块、dht11温湿度传感器、两节5号电池,杜邦线若干。 实现思路:利用esp模块的联网和端口能力,将温湿度传感器的数据通过mqtt协议转发到手机APP。 详细操作:  1.esp模块串口调试 程序...
  • //ESP01S #include <ESP8266WiFi.h> int ledPin = 0; // void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); } void loop() { digitalWrite(ledPin, HIGH); delay(3000); ...
  • 读完这些文件后,发现原来不用改电路,这个继电器虽然默认是GPIO0输出,而esp-01是烧录时GPIO0接地,看着貌似冲突,其实只要把esp-01断电,先把GPIO0接地,通电后自动进入烧录模式,然后RST接地后又断开,然后马上把...
  • https://blog.csdn.net/qq_20081893/article/details/98869576配合这 ESP8266-01/01S 刷入NodeMCU固件 结合Relay继电器模块的使用(适合伸手党)
  • 阿达的esp01s单路通电器

    千次阅读 2021-06-30 18:37:20
    固件下载 链接: https://pan.baidu.com/s/1rJ7EBvoIYUtWLLjWVQDC4g 密码: dsjp 小程序端: 添加1路开关设备
  • esp8266 esp-01s esp-01ESP_Easy

    千次阅读 2018-12-13 16:07:07
    项目地址 https://github.com/letscontrolit/ESPEasy 固件地址 https://github.com/letscontrolit/ESPEasy/releases 选择ESP_Easy_mega-20181208_test_ESP8266_1024 ...https://pan.baidu.com/s/1Vc6AsMPK_mxpKW...
  • ESP8266-01 (01S).rar

    2020-02-22 15:33:10
    8266-0101s),很多朋友购买了此种类型板子但是却无法烧录程序。我当时也是搞了两天才摸索到了答案,当时问了很多搞wifi开发的群和百度结果也是一无所获,前两天碰到有朋友在群里问,帮他解决后决定发篇教程给大家...
  • ESP8266 ESP-01调试全过程此版本若想从FLASH启动进入AT系统,只需CH-PD引脚接VCC或接上拉(不接上拉的情况下,串口可能无数据),其余三个引脚可选择悬空或接VCC(但群里(@云海之梦)反映接VCC后导致无法正常启动)
  • ESP8266 ESP-01是Wi-Fi模块,使微控制器访问Wi-Fi网络。该模块是一个自包含的SOC (片上系统),不一定像通常使用Arduino那样需要微控制器来操纵输入和输出。例如,因为ESP-01充当小型计算机。根据ESP8266的版本,...
  • 左一是5v转3.3v (800mA)的电源板,用于直接给oled和esp01s供电,不然还要把01s焊在屏后面的降压管后面,太麻烦了,既然屏和01s都可以用3.3V,就直接换个板吧。之前看教程用的是电池加充电板供电,结果充电板根本带...
  • ESP-01SDemo 这是用于初始化ESP-01S的51系列MCU代码。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,149
精华内容 22,059
关键字:

esp01s