精华内容
下载资源
问答
  • esp8266连接多个路由器
    千次阅读
    2019-05-15 01:06:40

    本文开发环境:

    • MCU型号:ESP8266
    • IDE环境 : Arduino IDE

    本文内容:

    1. esp8266 连接路由器

    简介

    esp8266的应用比较多,本文先介绍非常简单的一个例子。esp8266 作为一个WiFi芯片,在Arduino 库的支持下,连接路由器非常的方便,而当我们连接上路由器以后,就可以进一步获取各个网站的接口函数,比如获取天气预报,时间日期等等操作。esp8266的联网程序主要用到了 “ESP8266WiFi.h。其详细信息可从官方完整进一步了解:点击这里访问官方资源。

    示例程序

    首先来看一段连接到路由器的代码示例:

    // Libraries
    #include <ESP8266WiFi.h>
    
    // WiFi settings
    const char* ssid     = "602";          //WiFi名为 602 
    const char* password = "602602602";    //密码为 602602602
    
    void setup() {
      // 初始化串口
      Serial.begin(115200);
      delay(10);
      // We start by connecting to a WiFi network
      
      Serial.print("Connecting to WIFI");
      Serial.println(ssid);
      //启动wifi连接,ssid为wifi名字,password为密码
      WiFi.begin(ssid, password);
      //轮询等待wifi连接完成 即 wifi.status() 状态为 WL_CONNECTED(表示已经连接上了)
      while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.print(".");
      }
      Serial.println("");
      Serial.println("WiFi connected");
      Serial.println("IP address: ");
      Serial.println(WiFi.localIP());
    }
    
    void loop() {
      Serial.print(".");
      delay(1000);
    }
    

    串口输出

    当我们下载并运行程序以后,可以从串口观察到esp8266的运行情况:
    在这里插入图片描述
    可以看到,串口助手已经显示连接成功,并打印出路由器给分配的IP地址:192.168.0.3

    路由器管理页查看

    我们还可以登陆我们的路由器,来查看无线设备接入的情况,路由器通常IP地址为:192.168.0.1,本文使用的是360路由器,登陆路由器以后,点击“谁在上网”,可查询详情如下所示:
    在这里插入图片描述
    可以看到,有一个名为 ESP_9DE7D9 的设备连接上了,并且IP地址也和我们获取到的一样,这就是我们的模块了,或许你可以尝试拉黑这模块,看看连接时候,串口监视器会有什么提示。

    更多相关内容
  • ESP8266作为客户端通过路由器连接服务器的简单实现

    万次阅读 多人点赞 2018-03-17 14:28:02
    ESP8266WiFi模块即可以作为服务器,发出WiFi供其他的客户端连接;也可以作为客户端连接服务器。 接下来就简单的演示ESP8266通过路由器连接服务器的实现,连接服务器时ESP8266使用到的指令: 将8266设置为STA...

    ESP8266这个WiFi模块即可以作为服务器,发出WiFi供其他的客户端连接;也可以作为客户端连接服务器。

    接下来就简单的演示ESP8266通过路由器连接服务器的实现,连接服务器时ESP8266使用到的指令:

    1. 将8266设置为STA模式: AT+CWMODE=1
    2. 设置完之后重启: AT+RST
    3. 8266连接路由器发出的WiFi: AT+CWJAP=”WiFi名”,”WiFi密码”
    4. 启动多连接: AT+CIPMUX=1
    5. 建立server: AT+CIPSERVER=1
    6. 通过协议、IP和端口连接服务器: AT+CIPSTART=0,”TCP”,”192.168.2.176”,10012
    7. 发送数据的长度: AT+CIPSEND=0,8
    8. 发送数据: LayneYao

    在电脑中用Java写一个简单的服务器程序:

    import java.io.DataInputStream;
    import java.io.InputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    /**
     * Created by Layne_Yao on 2018-4-23 上午9:41:59.
     * CSDN:http://blog.csdn.net/Jsagacity
     */
    public class Service {
         public static void main(String[] args) throws Exception {
                // 创建服务端,指定端口为10012
                ServerSocket server = new ServerSocket(10012);
                byte[] msg = new byte[50];
                System.out.println("服务器准备就绪.......");
                // 接收连接该服务端的客户端对象
                Socket client = server.accept();
                //定义一个数据输入流,接收8266发送过来的消息
                InputStream in = new DataInputStream(client.getInputStream());
                //设置成死循环,可以无限接收8266发送的数据
                boolean accept = true;
                while (accept) {
                    //输入流读取数据
                    in.read(msg);
                    System.out.println(new String(msg));
                }
                in.close();
                client.close();
                server.close();
            }
    
    }

    服务器运行之后就进入线程阻塞,等待客户端的连接。接下来就操作8266进行连接服务器:
    这里写图片描述

    动态演示发送数据:
    这里写图片描述

    还可以无限的发送数据,不用重新连接IP和端口。这就是8266跟服务器的长连接简单实现,不过如果四分钟左右没有通信过,那么这个长连接就会断开,具体哪边断开没有进行测试过。如果要使用长连接的就要考虑如何保活了。
    这里写图片描述

    如果对智能家居实现还是懵懂,并且想学习的,接下来我开展一篇Chat:智能家居远程控制,实现APP与ESP8266远程通信

    展开全文
  • 05.ESP8266连接网络

    千次阅读 2021-11-25 20:44:25
    ESP8266物联网开发笔记05

    ESP8266既可以作为一个无线终端(STA模式),像手机一样连接路由器,也可以作为热点(AP模式),像路由器一样让手机、电脑来连接。本篇介绍ESP8266作为无线终端连接网络。

    1. 连接网络

    打开Arduino IDE,新建sketch,拷贝如下代码并保存。

    /*
     * connect01
     * ESP8266连接网络
     */
    #include <ESP8266WiFi.h>
    
    const char* ssid     = "your-ssid";//连接WIFI名(SSID)
    const char* password = "your-password";//WIFI密码
    
    void setup()
    {
      Serial.begin(115200);
      Serial.println();
      Serial.println("--------------");
      
      WiFi.begin(ssid,password);//启动网络连接
    
      Serial.printf("Begin to Connect %s\r\n", ssid);
      while (WiFi.status() != WL_CONNECTED)//检测网络是否连接成功
      {
        delay(500);
        Serial.print(".");
      }
      Serial.println();
    
      Serial.print("Connected, IP address: ");
      Serial.println(WiFi.localIP());//返回ESP8266的IP地址
    }
    
    void loop() {}
    

    电脑连接开发板,在工具—开发板—端口中选择正确的端口号,点击上传,程序编译并上传。

    程序下载

    上传完成后打开串口监视器,波特率设置115200,可以看到串口打印联网信息如下:

    打印信息

    当成功连接网络后,ESP8266将获取到IP地址,在同一局域网下的电脑端,打开命令提示符,通过ping命令测试通讯正常。

    网络测试

    2. 扫描多个热点连接

    在ESP8266WiFiMulti库中,为我们提供了往ESP8266添加多个热点存储功能,ESP8266会在添加的多个热点中,自动搜索信号最强的那个连接,当开发板需要在多个地方使用时,可以非常方便的自动连接当前环境的热点。

    /*
     * connect02
     * ESP8266在多个热点中寻找信号最强的进行连接
     */
    #include <ESP8266WiFi.h>
    #include <ESP8266WiFiMulti.h>
    
    ESP8266WiFiMulti wifis;//建立ESP8266WiFiMulti对象
    
    void setup()
    {
      Serial.begin(115200);
      Serial.println();
      Serial.println("--------------");
    
      //添加多个热点信息
      wifis.addAP("TonyCode", "12345678");
      wifis.addAP("TonyCode1","12123455");
      wifis.addAP("TonyCode2","88888888");
      wifis.addAP("TonyCode3","66666666");
      
      Serial.println("Begin to Connect");
      while (wifis.run() != WL_CONNECTED)//检测网络是否连接成功
      {
        delay(500);
        Serial.print(".");
      }
      Serial.println();
    
      Serial.printf("Connected %s, IP address: ", WiFi.SSID());
      Serial.println(WiFi.localIP());//返回ESP8266的IP地址
    }
    
    void loop() {}
    

    通过addAP()函数,添加需要存储的热点SSID和密码,run()函数在当前环境中搜索存储的热点,寻找信号最强的进行连接。


    关注公众号「TonyCode」。

    个人博客

    回复「1024」获取1000G学习资料

    展开全文
  • ESP8266 Arduino开发之路(2)— 连接到无线WiFi路由器 一、前言 ESP8266可以通过WiFi连接到无线路由器,这种方式和手机通过WiFi连接无线路由器的模式是相同的,我们称该模式为无线终端模式(Wireless Station),即...

    ESP8266 Arduino开发之路(2)— 连接到无线WiFi路由器

    一、前言

    ESP8266可以通过WiFi连接到无线路由器,这种方式和手机通过WiFi连接无线路由器的模式是相同的,我们称该模式为无线终端模式(Wireless Station),即STA工作模式。
    参考自:NodeMCU开发板的无线终端模式

    二、编写程序

    编写程序如下所示

    /*
      ESP8266-NodeMCU无线终端模式连接WiFi
    */
     
    #include <ESP8266WiFi.h>                        // 本程序使用ESP8266WiFi库
    
    const char* ssid     = "SixLab";                // 需要连接到的WiFi名
    const char* password = "sixlab123";             // 连接的WiFi密码
                                                
    void setup() {
      Serial.begin(115200);                         // 初始化串口通讯波特率为115200
    
      WiFi.mode(WIFI_STA);                          // 设置Wifi工作模式为STA,默认为AP+STA模式
      WiFi.begin(ssid, password);                   // 通过wifi名和密码连接到Wifi
      Serial.print("\r\nConnecting to ");           // 串口监视器输出网络连接信息
      Serial.print(ssid); Serial.println(" ...");   // 显示NodeMCU正在尝试WiFi连接
      
      int i = 0;                                    // 检查WiFi是否连接成功
      while (WiFi.status() != WL_CONNECTED)         // WiFi.status()函数的返回值是由NodeMCU的WiFi连接状态所决定的。 
      {                                             // 如果WiFi连接成功则返回值为WL_CONNECTED
        delay(1000);                                // 此处通过While循环让NodeMCU每隔一秒钟检查一次WiFi.status()函数返回值
        Serial.print("waiting for ");                          
        Serial.print(i++); Serial.println("s...");       
      }                                             
                                                   
      Serial.println("");                           // WiFi连接成功后
      Serial.println("WiFi connected!");            // NodeMCU将通过串口监视器输出"连接成功"信息。
      Serial.print("IP address: ");                 // 同时还将输出NodeMCU的IP地址。这一功能是通过调用
      Serial.println(WiFi.localIP());               // WiFi.localIP()函数来实现的。该函数的返回值即NodeMCU的IP地址。
    }
     
    void loop() {
                                         
    }
    

    三、烧录实现

    编译烧录到开发板,打开串口助手可以看到打印连接成功信息
    在这里插入图片描述
    然后我们可以尝试通过ping来检查esp8266确实连接到网络,如下所示,NodeMCU成功的对我们的ping指令做出应答,这样就可以确定当前NodeMCU已经成功连接WiFi了。
    在这里插入图片描述

    四、自动连接最强WiFi信号

    我们可以通过编程让NodeMCU在它所处的网络环境里搜索预先存储好的WiFi,一旦找到预存的WiFi名称,NodeMCU将会使用预存的密码信息尝试连接该WiFi,如果同时找到多个预存WiFi,NodeMCU将会尝试连接信号最强的WiFi。编写程序如下所示

    /*
      ESP8266-NodeMCU无线终端模式连接WiFi
    
      NodeMCU会使用预存的密码信息尝试连接WiFi, 
      如果同时找到多个预存WiFi,NodeMCU将会尝试连接信号最强的WiFi。
    */
     
    #include <ESP8266WiFi.h>                        // 本程序使用ESP8266WiFi库
    #include <ESP8266WiFiMulti.h>                   // 预存多个WiFi需要使用
    
    ESP8266WiFiMulti wifiMulti;                     // 新建ESP8266WiFiMulti对象,对象名称是'wifiMulti'
                                                
    void setup() {
      Serial.begin(115200);                         // 初始化串口通讯波特率为115200
    
      /* 通过addAP函数添加需要存储的WiFi名称和密码 */
      wifiMulti.addAP("SixLab", "sixlab123");
      wifiMulti.addAP("SixLab1", "sixlab1234");
      wifiMulti.addAP("SixLab2", "sixlab1235");
      /* 可以添加更多的addAP函数来存储更多的WIFI连接信息 */
    
      WiFi.mode(WIFI_STA);                          // 设置Wifi工作模式为STA,默认为AP+STA模式
      Serial.println("\r\nConnecting to WiFi...");  // 串口监视器输出正在连接网络
      
      int i = 0;                                    // 检查WiFi是否连接成功
      while (wifiMulti.run() != WL_CONNECTED)       // 通过wifiMulti.run(),NodeMCU将会在当前环境中搜索addAP函数所存储的WiFi。
      {                                             // 如果搜到多个存储的WiFi那么NodeMCU将会连接信号最强的那一个WiFi信号。
        delay(100);                                 // 一旦连接WiFI成功,wifiMulti.run()将会返回“WL_CONNECTED”。
        Serial.print("waiting for ");                          
        Serial.print(i++); Serial.println(" times...");       
      }                                             
    
      Serial.println('\n');                         // WiFi连接成功后
      Serial.print("Connected to ");                // NodeMCU通过串口监视器输出连接的WiFI名称
      Serial.println(WiFi.SSID());
      Serial.print("IP address:\t");                // NodeMCU的IP地址
      Serial.println(WiFi.localIP());
    }
    
    void loop() {
                                         
    }
    

    编译烧录到开发板,运行如下所示
    在这里插入图片描述

    五、附录

    上一篇:ESP8266 Arduino开发之路(1)— 搭建开发环境并点亮LED
    下一篇:ESP8266 Arduino开发之路(3)— 作为TCP客户端连接到服务器

    展开全文
  • ESP8266 连接 MQTT

    千次阅读 2022-05-18 22:34:54
    ESP8266 连接 MQTT 主控芯片:MM32F2377 (MB-039) WiFi 适配器:ESP8266 开发环境:IAR 7.80.4 MQTT 模拟服务器:MQTT.fx MQTT MQTT is an OASIS standard messaging protocol for the Internet of Things (IoT)....
  • 本部分内容介绍如何使用STM32配置ESP8266使用STA模式,这是使用MQTT与上层服务器链接的必要前提,笔者也是第一次使用ESP8266,通过AT指令来配置,查找了很资料与代码,借鉴了正点原子ESP8266库和例程,在其基础...
  • 之前,我已经将MicroPython固件烧写进了ESP8266的开发板中,现在给开发板供电后,通过手机搜索无线局域网,能够发现一以MicroPython-xxxxxx(xxxxxx是你esp8266芯片的MAC地址)为名的WIFI热点,可以通过手机连接此...
  • ESP8266连接模式

    千次阅读 2021-08-07 22:11:45
    连接到 Wi-Fi 由接入点 (AP) 提供,该接入点充当一个或多个站的枢纽。另一端的接入点连接到有线网络。接入点通常与路由器集成,以提供从 Wi-Fi 网络到互联网的访问。每个接入点都由 SSID(Service S和ID识别器)...
  • ESP8266连接ONENET

    千次阅读 2021-03-01 08:46:50
    选用ESP8266串口WIFI模块,通过AT指令控制WIFI模块接入互联网,依次完成与接入互联网、与OneNet服务器建立TCP连接、传输数据等操作,ESP8266串口WIFI模块硬件实物图如下: 与PC连接得实物图如下: 串口配置 ...
  • 2-STM32+ESP8266连接onenet并上传数据(HTTP)

    万次阅读 多人点赞 2021-06-10 00:21:55
    3、使用串口助手发送AT指令控制ESP8266连接onenet云平台,并上传数据(主要了解8266整个初始化及连接云端传输数据的过程及数据格式) 4、在原来已有的基础上(STM32可以在OLED上显示温湿度)尝试添加ESP8266部分代码...
  • 我的目标是创建一简单的手持热点定位器,它会很快告诉我是否可以从任何给定位置连接到我们家周围的几 WiFi 路由器之一。 如果这可行,那么我可以创建其他物联网小工具,自动寻找最强信号并自动连接到它们。 我的...
  • 之前,我已经将MicroPython固件烧写进了ESP8266的开发板中,现在给开发板供电后,通过手机搜索无线局域网,能够发现一以MicroPython-xxxxxx(xxxxxx是你esp8266芯片的MAC地址)为名的WIFI热点,可以通过手机连接此...
  • 小白快速入门esp8266 连接wifi(一)

    千次阅读 2020-12-20 18:53:42
    esp8266通过连接wifi可以访问互联网,实现更好玩有意思的事情。 上代码!!! #include<ESP8266WiFi.h> const char *ssid = "wifi名称"; // 写入你需要连接的wifi名称 const char *password = "wifi密码"; // ...
  • STM32F103C8T6+ATK-ESP8266连接原子云

    千次阅读 多人点赞 2022-01-22 11:54:19
    但在博主的不懈努力下(其实愁坏了),最后找到了正点原子的这款ATK-ESP8266模块成功连接了原子云并实现了远程控制功能。 所以在这里呢也是给大家分享一下博主的连云过程,也算是记录一下,以免后来自己忘了怎么..
  • ESP8266连接手机

    万次阅读 多人点赞 2020-02-16 13:53:04
    1为Station 模式:ESP8266 模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。 2为AP 模式:ESP8266 模块作为热点,手机或电脑直接与模块连接,实现局域网无线控制。 3为STA+AP 模式:两种模式...
  • 添加了垃圾词汇,见虚拟U盘一图,xiao xing 对应多个垃圾词语,买家不要删除 唤醒词尽量避免了使用常见的短语 使用方法(见附件): 只通电,上电准备就绪后,喇叭播放 “系统正在运行中”语音; 先说唤醒词 “小星”...
  • ESP8266介绍与连接第三方物联网平台

    千次阅读 2021-11-30 14:22:45
    一、ESP8266连线方式 1、ESP8266引脚定义 ...ESP8266 模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。 AT+CWMODE=1 //1是Station模式 AT+RST //重新启动wifi模块 AT+CWJAP="所要连接的局域
  • ESP8266-使用浏览器动态连接路由器

    千次阅读 2018-07-06 23:02:44
    ESP8266的开发环境有很,在此我推荐使用arduino IDE for ESP8266。网上有很的配置教程,不想找也可以打开以下链接,这是我转发的一配置教程:https://blog.csdn.net/zhyulo/article/details/80946422配置好后...
  • 二、esp8266+手机端同处一个路由器下组成局域网进行 tcp通信的工作模式设定方法 前言:esp8266模块和手机通过路由器组建局域网进行tcp通信,esp8266模块设置为客户端,手机端设置为服务器端,路由器为网关,esp...
  • stm32与esp8266连接,将数据上传到OneNet(MQTT)

    千次阅读 多人点赞 2021-11-01 22:08:27
    文章目录前言一、所用器件(1)STM32F103C8T6(2)转串口模块(CH340)(3)esp8266-01s(4)气体检测模块_MQ二、代码分析(1)接线(2)代码三、OneNet创建一设备(1)百度搜索onenet(2)进入官网(3)右上角:...
  • 五,ESP8266 TCP服务器多连接

    千次阅读 2017-09-16 12:46:08
    对于TCP大家在玩AT指令的时候有没有发现客户端最多连接5,,,再连接就不行了?? 所以在用AT指令开发的时候单片机程序一定要记得清除多余的连接 现在看用LUA语言怎么做 直接先上菜 Init.lua gpio.mode(4,gpio....
  • esp8266模块和手机同时接入在一路由下,通过路由器建立二者之间的tcp通信,模块设置为客户端,手机设置为服务器端,路由器为网关,同时由于路由器能上网,所以8266模块可以通过路由器与广域网上的服务器进行远程长...
  • ESP8266---单连接 TCP Client简介步骤注意 简介 使用ESP8266-01S + USB转TTL连接PC 建立简单的单连接 TCP Client 步骤 在串口配置AT指令 配置 WiFi 模式,输入AT指令 AT+CWMODE=3 // softAP+station 模式 连接路...
  • ESP8266工作在AP模式,创建一WiFi局域网; ESP8266作为服务器,IP:192.168.4.1,端口:8266; 电脑连接此WiFi使用网络调试助手作为客户端,IP:192.168.4.2,端口:6666; 使用UDP连接,有数据直接发,不需要...
  • 本文将展示如何以WiFi作为联网方式,ESP8266WiFi模组作为客户端,网络调试助手作为TCP服务器,以TCP协议为基础,使用AT指令连接到网络调试助手。
  • 月也快结束了,时间真快,我服务器知识自学依然在路途中,这几天听到热点网页配置`esp8266`连接路由器,那么我想这不是很复杂,不过需要一些通讯协议的基础,以及对`esp8266`的`SDK`开发的熟悉,这几天撸了几...
  • 通过手机与2个ESP8266控制单片机 一、材料 2个ESP8266,一台手机,2台51开发板(芯片为STC89C52) 二、实现手机控制单片机LED的亮灭 1)、首先ESP8266波特率一般为115200,而单片机的波特率跑不了那么高,所以改9600,...
  • Arduino UNO与ESP8266串口连接

    万次阅读 多人点赞 2019-04-14 06:14:15
    Arduino UNO与ESP8266串口连接1. ESP8266烧录AT固件1.1 烧录软件下载1.2 烧录AT固件2. ESP8266 AT指令3. Arduino UNO 串口连接方式4. Arduino UNO与ESP8266-12f串口连接5. 串口调试 1. ESP8266烧录AT固件 1.1 烧录...
  • 德飞莱ESP8266-12S刷MQTT固件,以及连接服务器失败:+MQTTDISCONNECTED:0 ERROR报错解决办法。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,026
精华内容 2,010
关键字:

esp8266连接多个路由器