位置导航: ESP8266库 / ESP8266WiFiGeneric库 / 本页
说明
ESP8266在接入点模式下有无线终端连接到ESP8266所建立的WiFi网络时,ESP8266会自动调用事件处理回调函数。该事件处理回调函数由onSoftAPModeStationConnected的参数所定义。
语法
WiFi.onSoftAPModeStationConnected(onStationConnected);
参数
onStationConnected:回调函数名称
返回值
WiFiEventHandler对象
示例代码
关于本函数的具体使用方法,请参考以下代码,尤其是代码中高亮的语句部分。
onSoftAPModeStationConnected函数使用时有两个重点步骤:
1. 通过语句
WiFiEventHandler stationConnectedHandler;
建立WiFiEventHandler 实例对象,对象名称为stationConnectedHandler。
2. 通过语句
stationConnectedHandler = WiFi.onSoftAPModeStationConnected(onStationConnected);
对回调函数进行相应的设置。此处onSoftAPModeStationConnected函数的参数“onStationConnected”就是设置了回调函数的名称。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiGeneric_AP_1 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : 小凯 日期/Date(YYYYMMDD) : 20200319 程序目的/Purpose : 用于演示ESP8266WiFiGeneric库中onSoftAPModeStationConnected函数 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/http-request/ ***********************************************************************/ #include <ESP8266WiFi.h> #define ssid "TaichiMaker_WIFI" // 这里定义将要建立的WiFi名称。此处以"TaichiMaker_WIFI"为示例 // 您可以将自己想要建立的WiFi名称填写入此处的双引号中 #define password "12345678" // 这里定义将要建立的WiFi密码。此处以12345678为示例 // 您可以将自己想要使用的WiFi密码放入引号内 // 如果建立的WiFi不要密码,则在双引号内不要填入任何信息 WiFiEventHandler stationConnectedHandler; //实例化WIFI事件对象 void setup() { Serial.begin(115200); //打开串口 WiFi.softAP(ssid, password); // 此语句是重点。WiFi.softAP用于启动NodeMCU的AP接入点模式。 // 括号中有两个参数,ssid是WiFi名。password是WiFi密码。 // 这两个参数具体内容在setup函数之前的位置进行定义。 Serial.println(""); Serial.print("Access Point: "); // 通过串口监视器输出信息 Serial.println(ssid); // 告知用户NodeMCU所建立的WiFi名 Serial.print("Password: "); Serial.println(password); // 告知用户NodeMCU所建立的WiFi密码 Serial.print("IP address: "); // 以及NodeMCU的IP地址 Serial.println(WiFi.softAPIP()); // 通过调用WiFi.softAPIP()可以得到NodeMCU的IP地址 // onSoftAPModeStationConnected函数的参数onStationConnected为事件处理回调函数。 // 也就是说,每当有新的无线终端连接到ESP8266设备建立的WiFi后,设备都会自动调用onStationConnected函数 stationConnectedHandler = WiFi.onSoftAPModeStationConnected(onStationConnected); } void loop(){ } void onStationConnected(const WiFiEventSoftAPModeStationConnected& evt) {//接入点模式下有无线终端设备连接进来时的回调函数 Serial.print("无线终端设备的mac地址: "); Serial.println(macToString(evt.mac));//调用macToString函数将mac转换成字符串 Serial.print("无线终端设备的序号: "); Serial.println(evt.aid); } String macToString(const unsigned char* mac) { //字符串转换函数 char buf[20]; snprintf(buf, sizeof(buf), "%02x:%02x:%02x:%02x:%02x:%02x",mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); return String(buf); } |
相关内容
– onSoftAPModeStationDisconnected
– onSoftAPModeProbeRequestReceived
位置导航: ESP8266库 / ESP8266WiFiGeneric库 / 本页