我试图让我的ESP8266嗅探附近的设备,然后通过HTTP请求发布它们.目的是记录我的室友和我在家时的情况.然后在将来,如果我们在家或不在家,会触发某些任务,例如开灯/关灯.我根本不关心数据包内容只是mac地址.
所以我发现了这个脚本,打印出kalanda创建的附近设备的mac地址:esp8266-sniffer.以及这个HTTP发布脚本ESP8266 http获取请求.
我试图将这两者结合起来并在回调函数中使ESP发送找到的数据,但看起来不像ESP建立wifi连接.
我尝试使用不同的WIFI模式:STATION_MODE,SOFTAP_MODE,STATIONAP_MODE.它们都没有同时用于嗅探和http请求.我知道STATIONAP_MODE确实有一些缺陷.我发现它必须以某种方式切换,但不幸的是我不是ESP专家,不知道如何做到这一点.
这是我的代码(在我这边的任何垃圾编码srry):
#include <ESP8266WiFi.h> // added this
#include <ESP8266HTTPClient.h> // added this
const char* ssid = "**********"; // Wifi SSID
const char* password = "**********"; // Wifi Password
String main_url = "http://*********.php?"; // Website url to post the information
String temp_url = ""; // Url with information
extern "C" {
#include <user_interface.h>
}
#define DATA_LENGTH 112
#define TYPE_MANAGEMENT 0x00
#define TYPE_CONTROL 0x01
#define TYPE_DATA 0x02
#define SUBTYPE_PROBE_REQUEST 0x04
struct RxControl {
signed …Run Code Online (Sandbox Code Playgroud)