#include extern "C" { #include "user_interface.h" } byte channel; uint16_t beaconPacket(uint8_t* output, uint8_t channel, uint8_t* mac, String& ssid){ *(output++) = 0x80; *(output++) = 0x00; *(output++) = 0x00; *(output++) = 0x00; *(output++) = 0xFF; *(output++) = 0xFF; *(output++) = 0xFF; *(output++) = 0xFF; *(output++) = 0xFF; *(output++) = 0xFF; for (uint8_t i=0; i<6; i++) *(output++) = mac[i]; for (uint8_t i=0; i<6; i++) *(output++) = mac[i]; *(output++) = 0xC0; *(output++) = 0x6C; *(output++) = 0x83; *(output++) = 0x51; *(output++) = 0xF7; *(output++) = 0x8F; *(output++) = 0x0F; *(output++) = 0x00; *(output++) = 0x00; *(output++) = 0x00; *(output++) = 0x64; *(output++) = 0x00; *(output++) = 0x01; *(output++) = 0x04; uint16_t ssid_amount = ssid.length(); *(output++) = 0; *(output++) = ssid_amount; for (uint16_t i=0; i < ssid_amount; i++){ *(output++) = ssid[i]; } *(output++) = 0x01; *(output++) = 0x08; *(output++) = 0x82; *(output++) = 0x84; *(output++) = 0x8B; *(output++) = 0x96; *(output++) = 0x24; *(output++) = 0x30; *(output++) = 0x48; *(output++) = 0x6C; *(output++) = 0x03; *(output++) = 0x01; *(output++) = channel; uint16_t returnValue = 51 +ssid_amount; return returnValue; } void setup() { delay(500); wifi_set_opmode(STATION_MODE); wifi_promiscuous_enable(1); } void loop() { channel = random(1,12); wifi_set_channel(channel); uint8_t beaconMAC[6]; beaconMAC[0] = random(256); beaconMAC[1] = random(256); beaconMAC[2] = random(256); beaconMAC[3] = random(256); beaconMAC[4] = random(256); beaconMAC[5] = random(256); String ssid = "( ?° ?? ?°)" uint8_t beaconData[128]; uint16_t packetSize = beaconPacket(beaconData, channel, beaconMAC, ssid); wifi_send_pkt_freedom(beaconData, packetSize, 0); wifi_send_pkt_freedom(beaconData, packetSize, 0); wifi_send_pkt_freedom(beaconData, packetSize, 0); delay(1); }