ESP8266 Prankster

ESP8266, it’s probably the future of IOT. When I first saw it I thought about my mailbox (will be a later blogpost) and something that makes fun and irritating WiFi networks. When finally the ESP8266 arduino port arrived I made a little program that makes new AP’s some with names from a list, and some from existing networks, where the program adds open, free or sucks to an AP it finds when scanning.

In the end it sports a 5vto3.3 step down converter I had from another project, the ESP8266 and some cables.

Tomorrow I’m going to deploy it somewhere.

Prankster

IMG_20150430_180816 (1)

Programming the ESP.

IMG_20150505_210851

Testing with a step down power converter

IMG_20150505_213630

Final prankster, ready to be hidden somewhere

 

#include "ESP8266WiFi.h"

String names[] = {
  "affischering förbjuden",
  "ektoplasma? nä snor!",
  "enarmad, men ambidextriös",
  "arla förmiddag",
  "trippelbarmad",
  "bestefar kan inte simma",
  "bortklemad pågatös",
  "tösapåg med råg",
  "debil gerbil",
  "dissonans med diskreptans",
  "ekivok",
  "ekolali ekolali ekolali igen, flera gånger",
  "embar spann hink",
  "eskalera Eskalera ESKALERA",
  "postmortisk exhumering",
  "refektorium",
  "fekalier",
  "omvändbar reversibel = anagram?",
  "tvehågsen beslutsofattare",
  "ligga på åga",
  "ett slags skrin",
  "didaskaleinofobisk rektor",
  "trollbur"
};

void setup() {

  Serial.begin(115200);
  Serial.println("starting");

  //without this in setup it hung.
  WiFi.disconnect();
  delay(100);
}

void useAMadeUpName()
{
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);
  int nameNum = random(23);
  String APname = String(names[nameNum]);
  WiFi.softAP(APname.c_str(), "", 1);;
  Serial.println(APname);
}



void modifyExistingApName()
{
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);

  int n = WiFi.scanNetworks();
  if (n != 0)
  {
    int randChooser = random(3);
    int randNetwork = random(n);
    if ( randChooser == 0)
    {
      String APName = WiFi.SSID(randNetwork) + String(" SUCKS!");
      WiFi.softAP(APName.c_str(), "", 1);
      Serial.println(APName);
    }
    else if ( randChooser == 1)
    {
      String APName = WiFi.SSID(randNetwork) + String(" rules!");
      WiFi.softAP(APName.c_str(), "", 1);;
      Serial.println(APName);
    }
    else if ( randChooser == 2)
    {
      String APName = String("open") + WiFi.SSID(randNetwork);
      WiFi.softAP(APName.c_str(), "", 1);;
      Serial.println(APName);
    }
  }
}

void loop() {

  int a = random(1);
  if (random(2) == 1)
    useAMadeUpName();
  else
    modifyExistingApName();
  delay(random(50000) + 1000);
}

Leave a Reply