esp8266学习笔记-2-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1707|回复: 0

esp8266学习笔记-2

[复制链接]
发表于 2020-3-5 13:05 | 显示全部楼层 |阅读模式
本帖最后由 allen100 于 2020-3-6 10:19 编辑

在上一节中,我们让esp8266作为station连入了wifi局域网中,那么如何让8266作为AP可以让其他设备接入呢?

直接看代码和注释,一目了然:
示例1:8266开启WiFi热点,当有设备接入或断开,则用蜂鸣器提示。
[mw_shl_code=arduino,true]#include <ESP8266WiFi.h>
#define beepio D3  //蜂鸣器控制IO口
int Num=0;//这里记录一下接入该热点的设备数量
void beep(){
  for(int i=0;i<3;i++)
  {
    digitalWrite(beepio,HIGH);
    delay(50);
    digitalWrite(beepio,LOW);
    delay(50);
  }
}
void setup()
{
  pinMode(D3,OUTPUT);
  Serial.begin(115200);
  Serial.println();

  Serial.print("Setting soft-AP ... ");
  boolean result = WiFi.softAP("ESPsoftAP_01", "");//通过softAP函数开启WiFi热点,两个参数分别是SSID和password,我这里第二个参数设为空,即无密码接入
  if(result == true)
  {
    Serial.println("Ready");
  }
  else
  {
    Serial.println("Failed!");
  }
}

void loop()
{
  Serial.printf("Stations connected = %d\n", WiFi.softAPgetStationNum());
  if(WiFi.softAPgetStationNum()!=Num)//在这里如果有设备接入或断开时,我在D3口接的蜂鸣器将会响3次,
  {
    beep();
    Num=WiFi.softAPgetStationNum();
  }
  delay(3000);
}[/mw_shl_code]


示例2:esp8266作为station扫描附近热点,并从串口输出。
[mw_shl_code=arduino,true]#include <ESP8266WiFi.h>

void setup()
{
  Serial.begin(115200);
  Serial.println();

  WiFi.mode(WIFI_STA);//设置esp8266模式为station
  WiFi.disconnect();//断开所连热点,这一步主要是防止esp8266启动自动连接已有热点
  delay(100);
}

void loop()
{
  Serial.print("Scan start ... ");//输出所有扫描到的热点
  int n = WiFi.scanNetworks();
  Serial.print(n);
  Serial.println(" network(s) found");
  for (int i = 0; i < n; i++)
  {
    Serial.println(WiFi.SSID(i));
  }
  Serial.println();

  delay(5000);
}[/mw_shl_code]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 06:31 , Processed in 0.080774 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表