APAN - Arduino Privacy Automatic Navigator
What to confuse your ISP and have some privacy? Install APAN in your private network!
Components and supplies
Oled 128x32 display
Arduino Nano 33 IoT
Project description
Code
APAN for ESP8266
arduino
1/* 2Carlo Stramaglia 31 October 2021 3https://www.youtube.com/c/CarloStramaglia 4 5Arduino 6Privacy 7Automatic 8Navigator 9 10APAN for ASP8266 11The Arduino Privacy Automatic Navigator is a free tool created with the intent to confuse the ISP. 12When you setup the Arduino Privacy Automatic Navigator in your local network, the system will start 13browsing towards sites that have nothing to do with your lifestyle. To be more precise, it will 14connect to your network with a random host name and will search for a random keyword on google all 15day long. Will also navigate while you are not at home so that the ISP will log the presence of people 16in the house while you are on holiday. This will be done massively in order to confuse the ISP and 17have wrong data. 18*/ 19 20#include <Arduino.h> 21#include <ESP8266WiFi.h> 22#include <ESP8266WiFiMulti.h> 23#include <ESP8266HTTPClient.h> 24#include <WiFiClient.h> 25#include <U8x8lib.h> 26 27// Settings for Display 28U8X8_SSD1306_128X32_UNIVISION_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); 29 30ESP8266WiFiMulti WiFiMulti; 31 32// Variables for the random hostname and search keyword 33char word1[12]; 34char hostn[12]; 35char webcom[80]; 36unsigned long t=0; 37 38// Reset PIN 39const int OUTPUT_PIN = 2; 40 41int status = WL_IDLE_STATUS; 42char server[] = "www.google.com"; 43 44void rword (char *word) 45{ 46int len = rand () % 11 + 1; 47word [len] = 0; 48while (len) word [--len] = 'a' + rand () % 26; 49} 50 51 52 53void setup() { 54 55 // Display setup 56 u8x8.begin(); 57 u8x8.setPowerSave(0); 58 u8x8.setFont(u8x8_font_chroma48medium8_r); 59 60 //Initialize serial and wait for port to open: 61 Serial.begin(115200); 62 63 // Welcome message 64 u8x8.drawString(0,0,"WELCOME TO APAN"); 65 u8x8.drawString(0,1,"---------------"); 66 u8x8.drawString(0,3," STARTING NOW "); 67 68 Serial.println(); 69 Serial.println(); 70 Serial.println(); 71 72 for (uint8_t t = 4; t > 0; t--) { 73 Serial.printf("[STARTING] PLEASE WAIT %d...\ 74", t); 75 Serial.flush(); 76 delay(1000); 77 } 78 79 WiFi.mode(WIFI_STA); 80 WiFiMulti.addAP("SSID", "Password"); // Put your WiFi credentials here 81} 82 83void loop() { 84 // Welcome message 85 u8x8.drawString(0,0,"WELCOME TO APAN"); 86 u8x8.drawString(0,1,"---------------"); 87 u8x8.drawString(0,3," STARTING NOW "); 88 89 delay (2000); 90 91 // Create a random keyword to search 92 srand(millis()); 93 rword(word1); 94 Serial.print("The random word is: "); 95 Serial.println(word1); 96 u8x8.drawString(0,0,"The Keyword is: "); 97 u8x8.drawString(0,1,"-------------- "); 98 u8x8.drawString(0,3," "); 99 u8x8.drawString(0,3,word1); 100 101 sprintf(webcom,"GET /search?q=%s HTTP/1.1",word1); 102 103 104 // attempt to connect to WiFi network: 105 if ((WiFiMulti.run() == WL_CONNECTED)) { 106 107 WiFiClient client; 108 109 HTTPClient http; 110 111 Serial.print("[HTTP] begin...\ 112"); 113 if (http.begin(client, "http://www.google.com")) { // HTTP 114 115 116 Serial.print("[HTTP] GET...\ 117"); 118 // start connection and send HTTP header 119 int httpCode = http.GET(); 120 121 // httpCode will be negative on error 122 if (httpCode > 0) { 123 // HTTP header has been send and Server response header has been handled 124 Serial.printf("[HTTP] GET... code: %d\ 125", httpCode); 126 127 // file found at server 128 if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { 129 // String payload = http.getString(); 130 131 // Make a HTTP request: 132 client.println(webcom); 133 client.println("Host: www.google.com"); 134 client.println("Connection: close"); 135 client.println(); 136 137 // if there are incoming bytes available 138 // from the server, read them and print them: 139 char datas[1]; 140 Serial.println("START PROCESSING DATA"); 141 u8x8.drawString(0,0,"PROCESSING DATA "); 142 u8x8.drawString(0,1,"--------------- "); 143 u8x8.drawString(0,3," "); 144 u8x8.setCursor(0, 3); 145 Serial.println("START SPRINTF"); 146 while (client.available()) { 147 // Serial.println("CLIENT AVAILABLE"); 148 char c = client.read(); 149 sprintf(datas, "%d", c); 150 if (t < millis() ) { 151 t = millis() + 30; 152 u8x8.print(datas); 153 } 154 // Serial.write(c); // Uncomment this to see data on the monitor 155 delay(1); 156 } 157 158 //Serial.println(payload); 159 } 160 } else { 161 Serial.printf("[HTTP] GET... failed, error: %s\ 162", http.errorToString(httpCode).c_str()); 163 } 164 165 http.end(); 166 } else { 167 Serial.printf("[HTTP} Unable to connect\ 168"); 169 } 170 } 171 172 173 Serial.println("START WAIT"); 174 //Wait 15 seconds 175 delay (15000); 176 177 Serial.println("START RESET"); 178 // Reset the Arduino 179 u8x8.drawString(0,0,"RESETTING BOARD"); 180 u8x8.drawString(0,1,"--------------- "); 181 u8x8.drawString(0,3," "); 182 delay (3000); 183 184} 185 186 187
APAN - Arduino Privacy Automatic Navigator
arduino
The Arduino Privacy Automatic Navigator is a free tool created with the intent to confuse the ISP.
1/* 2Carlo Stramaglia 28 August 2021 3https://www.youtube.com/c/CarloStramaglia 4 5Arduino 6Privacy 7Automatic 8Navigator 9 10APAN 11The Arduino Privacy Automatic Navigator is a free tool created with the intent to confuse the ISP. 12When you setup the Arduino Privacy Automatic Navigator in your local network, the system will start 13browsing towards sites that have nothing to do with your lifestyle. To be more precise, it will 14connect to your network with a random host name and will search for a random keyword on google all 15day long. Will also navigate while you are not at home so that the ISP will log the presence of people 16in the house while you are on holiday. This will be done massively in order to confuse the ISP and 17have wrong data. 18 19IMPORTANT: YOU NEED TO PUT YOUR WIFI SSID AND PASSWORD in the arduino_secrets.h file 20*/ 21 22 23#include <SPI.h> 24#include <WiFiNINA.h> 25#include "arduino_secrets.h" // update the file with your network data 26#include <U8x8lib.h> 27 28// Settings for Display 29U8X8_SSD1306_128X32_UNIVISION_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); 30 31///////please enter your sensitive data in the Secret tab/arduino_secrets.h 32char ssid[] = SECRET_SSID; // your network SSID (name) 33char pass[] = SECRET_PASS; // your network password (use for WPA, or use as key for WEP) 34int keyIndex = 0; // your network key index number (needed only for WEP) 35 36int status = WL_IDLE_STATUS; 37char server[] = "www.google.com"; // name address for Google (using DNS) 38 39// Initialize the Ethernet client library 40// with the IP address and port of the server 41// that you want to connect to (port 80 is default for HTTP): 42WiFiClient client; 43 44// Variables for the random hostname and search keyword 45char word1[12]; 46char hostn[12]; 47char webcom[80]; 48unsigned long t=0; 49 50// Reset PIN 51const int OUTPUT_PIN = 2; 52 53void setup() { 54 // Setup the PIN for the reset at the end of the sketch 55 digitalWrite(OUTPUT_PIN, HIGH); 56 pinMode(OUTPUT_PIN, OUTPUT); 57 58 // Display setup 59 u8x8.begin(); 60 u8x8.setPowerSave(0); 61 u8x8.setFont(u8x8_font_chroma48medium8_r); 62 63 //Initialize serial and wait for port to open: 64 Serial.begin(9600); 65// while (!Serial) { 66// ; // wait for serial port to connect. Needed for native USB port only 67// } 68 // Welcome message 69 u8x8.drawString(0,0,"WELCOME TO APAN"); 70 u8x8.drawString(0,1,"---------------"); 71 u8x8.drawString(0,3," STARTING NOW "); 72 73 // Create a random hostname 74 delay(3000); 75 srand(millis()); 76 rword(hostn); 77 Serial.print("The random hostname is: "); 78 Serial.println(hostn); 79 u8x8.drawString(0,0,"The Hostname is:"); 80 u8x8.drawString(0,1,"---------------"); 81 u8x8.drawString(0,3," "); 82 u8x8.drawString(0,3,hostn); 83 WiFi.setHostname(hostn); 84 85 // check for the WiFi module: 86 if (WiFi.status() == WL_NO_MODULE) { 87 Serial.println("Communication with WiFi module failed!"); 88 // don't continue 89 while (true); 90 } 91 92 String fv = WiFi.firmwareVersion(); 93 if (fv < WIFI_FIRMWARE_LATEST_VERSION) { 94 Serial.println("Please upgrade the firmware"); 95 } 96 97 // attempt to connect to WiFi network: 98 99 while (status != WL_CONNECTED) { 100 Serial.print("Attempting to connect to SSID: "); 101 Serial.println(ssid); 102 // Connect to WPA/WPA2 network. Change this line if using open or WEP network: 103 status = WiFi.begin(ssid, pass); 104 105 // wait 10 seconds for connection: 106 delay(10000); 107 } 108 // Create a random keyword to search 109 srand(millis()); 110 rword(word1); 111 Serial.print("The random word is: "); 112 Serial.println(word1); 113 u8x8.drawString(0,0,"The Keyword is: "); 114 u8x8.drawString(0,1,"-------------- "); 115 u8x8.drawString(0,3," "); 116 u8x8.drawString(0,3,word1); 117 sprintf(webcom,"GET /search?q=%s HTTP/1.1",word1); 118 119 Serial.println("Connected to WiFi"); 120 printWifiStatus(); 121 122 Serial.println("\ 123Starting connection to server..."); 124 // if you get a connection, report back via serial: 125 if (client.connect(server, 80)) { 126 Serial.println("connected to server"); 127 128 delay (3000); 129 // Make a HTTP request: 130 client.println(webcom); 131 client.println("Host: www.google.com"); 132 client.println("Connection: close"); 133 client.println(); 134 135 } 136 137} 138 139void loop() { 140 // if there are incoming bytes available 141 // from the server, read them and print them: 142 char datas[1]; 143 Serial.println("START PROCESSING DATA"); 144 u8x8.drawString(0,0,"PROCESSING DATA "); 145 u8x8.drawString(0,1,"--------------- "); 146 u8x8.drawString(0,3," "); 147 u8x8.setCursor(0, 3); 148 Serial.println("START SPRINTF"); 149 while (client.available()) { 150 // Serial.println("CLIENT AVAILABLE"); 151 char c = client.read(); 152 sprintf(datas, "%d", c); 153 if (t < millis() ) { 154 t = millis() + 30; 155 u8x8.print(datas); 156 } 157 // Serial.write(c); // Uncomment this to see data on the monitor 158 // delay(10); 159 } 160 Serial.println("START WAIT"); 161 //Wait 15 seconds 162 delay (15000); 163 164 Serial.println("START DICONNECTING SERVER"); 165 // if the server's disconnected, stop the client: 166 if (!client.connected()) { 167 Serial.println(); 168 Serial.println("disconnecting from server."); 169 client.stop(); 170 } 171 172 Serial.println("START RESET"); 173 // Reset the Arduino 174 u8x8.drawString(0,0,"RESETTING BOARD"); 175 u8x8.drawString(0,1,"--------------- "); 176 u8x8.drawString(0,3," "); 177 delay (3000); 178 digitalWrite(OUTPUT_PIN, LOW); 179 180 181} 182 183 184void printWifiStatus() { 185 // print the SSID of the network you're attached to: 186 Serial.print("SSID: "); 187 Serial.println(WiFi.SSID()); 188 189 // print your board's IP address: 190 IPAddress ip = WiFi.localIP(); 191 Serial.print("IP Address: "); 192 Serial.println(ip); 193 194 // print the received signal strength: 195 long rssi = WiFi.RSSI(); 196 Serial.print("signal strength (RSSI):"); 197 Serial.print(rssi); 198 Serial.println(" dBm"); 199 200 // print mac address: 201 byte mac[6]; 202 WiFi.macAddress(mac); 203 Serial.print("MAC: "); 204 Serial.print(mac[5],HEX); 205 Serial.print(":"); 206 Serial.print(mac[4],HEX); 207 Serial.print(":"); 208 Serial.print(mac[3],HEX); 209 Serial.print(":"); 210 Serial.print(mac[2],HEX); 211 Serial.print(":"); 212 Serial.print(mac[1],HEX); 213 Serial.print(":"); 214 Serial.println(mac[0],HEX); 215/* 216 // print mac address: 217 int mac = WiFi.macAddress(); 218 Serial.print ("MAC Address: "); 219 Serial.println(mac); 220*/ 221 222// char word[12]; 223// char word2[12]; 224// int x=0; 225// srand(millis()); 226// while (x<50) 227// { 228// rword(word1); 229// rword(word2); 230// cout << word << ' ' << word2 << endl; 231// Serial.println(word1); 232// x++; 233// } 234 235} 236 237void rword (char *word) 238{ 239int len = rand () % 11 + 1; 240word [len] = 0; 241while (len) word [--len] = 'a' + rand () % 26; 242} 243 244 245
APAN Include file
arduino
1#define SECRET_SSID "SSID" 2#define SECRET_PASS "Password" 3
APAN ESP8266 without display
arduino
Version where you do not need a display
1/* 2Carlo Stramaglia 13 November 2021 3https://www.youtube.com/c/CarloStramaglia 4 5Arduino 6Privacy 7Automatic 8Navigator 9 10APAN for ASP8266 and without display 11The Arduino Privacy Automatic Navigator is a free tool created with the intent to confuse the ISP. 12When you setup the Arduino Privacy Automatic Navigator in your local network, the system will start 13browsing towards sites that have nothing to do with your lifestyle. To be more precise, it will 14connect to your network with a random host name and will search for a random keyword on google all 15day long. Will also navigate while you are not at home so that the ISP will log the presence of people 16in the house while you are on holiday. This will be done massively in order to confuse the ISP and 17have wrong data. 18*/ 19 20#include <Arduino.h> 21#include <ESP8266WiFi.h> 22#include <ESP8266WiFiMulti.h> 23#include <ESP8266HTTPClient.h> 24#include <WiFiClient.h> 25//#include <U8x8lib.h> 26 27// Settings for Display 28//U8X8_SSD1306_128X32_UNIVISION_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); 29 30ESP8266WiFiMulti WiFiMulti; 31 32// Variables for the random hostname and search keyword 33char word1[12]; 34char hostn[12]; 35char webcom[80]; 36unsigned long t=0; 37 38// Reset PIN 39const int OUTPUT_PIN = 2; 40 41int status = WL_IDLE_STATUS; 42char server[] = "www.google.com"; 43 44void rword (char *word) 45{ 46int len = rand () % 11 + 1; 47word [len] = 0; 48while (len) word [--len] = 'a' + rand () % 26; 49} 50 51 52 53void setup() { 54 55 // Display setup 56 //u8x8.begin(); 57 //u8x8.setPowerSave(0); 58 //u8x8.setFont(u8x8_font_chroma48medium8_r); 59 60 //Initialize serial and wait for port to open: 61 Serial.begin(115200); 62 63 // Welcome message 64 //u8x8.drawString(0,0,"WELCOME TO APAN"); 65 //u8x8.drawString(0,1,"---------------"); 66 //u8x8.drawString(0,3," STARTING NOW "); 67 68 Serial.println(); 69 Serial.println(); 70 Serial.println(); 71 72 for (uint8_t t = 4; t > 0; t--) { 73 Serial.printf("[STARTING] PLEASE WAIT %d...\ 74", t); 75 Serial.flush(); 76 delay(1000); 77 } 78 79 WiFi.mode(WIFI_STA); 80 WiFiMulti.addAP("SSID", "Password"); // Put your WiFi credentials here 81} 82 83void loop() { 84 // Welcome message 85 //u8x8.drawString(0,0,"WELCOME TO APAN"); 86 //u8x8.drawString(0,1,"---------------"); 87 //u8x8.drawString(0,3," STARTING NOW "); 88 89 delay (2000); 90 91 // Create a random keyword to search 92 srand(millis()); 93 rword(word1); 94 Serial.print("The random word is: "); 95 Serial.println(word1); 96 //u8x8.drawString(0,0,"The Keyword is: "); 97 //u8x8.drawString(0,1,"-------------- "); 98 //u8x8.drawString(0,3," "); 99 //u8x8.drawString(0,3,word1); 100 101 sprintf(webcom,"GET /search?q=%s HTTP/1.1",word1); 102 103 104 // attempt to connect to WiFi network: 105 if ((WiFiMulti.run() == WL_CONNECTED)) { 106 107 WiFiClient client; 108 109 HTTPClient http; 110 111 Serial.print("[HTTP] begin...\ 112"); 113 if (http.begin(client, "http://www.google.com")) { // HTTP 114 115 116 Serial.print("[HTTP] GET...\ 117"); 118 // start connection and send HTTP header 119 int httpCode = http.GET(); 120 121 // httpCode will be negative on error 122 if (httpCode > 0) { 123 // HTTP header has been send and Server response header has been handled 124 Serial.printf("[HTTP] GET... code: %d\ 125", httpCode); 126 127 // file found at server 128 if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { 129 // String payload = http.getString(); 130 131 // Make a HTTP request: 132 client.println(webcom); 133 client.println("Host: www.google.com"); 134 client.println("Connection: close"); 135 client.println(); 136 137 // if there are incoming bytes available 138 // from the server, read them and print them: 139 char datas[1]; 140 Serial.println("START PROCESSING DATA"); 141 //u8x8.drawString(0,0,"PROCESSING DATA "); 142 //u8x8.drawString(0,1,"--------------- "); 143 //u8x8.drawString(0,3," "); 144 //u8x8.setCursor(0, 3); 145 Serial.println("START SPRINTF"); 146 while (client.available()) { 147 // Serial.println("CLIENT AVAILABLE"); 148 char c = client.read(); 149 sprintf(datas, "%d", c); 150 if (t < millis() ) { 151 t = millis() + 30; 152 //u8x8.print(datas); 153 } 154 Serial.write(c); // Uncomment this to see data on the monitor 155 delay(1); 156 } 157 158 //Serial.println(payload); 159 } 160 } else { 161 Serial.printf("[HTTP] GET... failed, error: %s\ 162", http.errorToString(httpCode).c_str()); 163 } 164 165 http.end(); 166 } else { 167 Serial.printf("[HTTP} Unable to connect\ 168"); 169 } 170 } 171 172 173 Serial.println("START WAIT"); 174 //Wait 15 seconds 175 delay (15000); 176 177 Serial.println("START RESET"); 178 // Reset the Arduino 179 //u8x8.drawString(0,0,"RESETTING BOARD"); 180 //u8x8.drawString(0,1,"--------------- "); 181 //u8x8.drawString(0,3," "); 182 delay (3000); 183 184} 185 186 187
APAN Include file
arduino
1#define SECRET_SSID "SSID" 2#define SECRET_PASS "Password" 3
APAN for ESP8266
arduino
1/* 2Carlo Stramaglia 31 October 2021 3https://www.youtube.com/c/CarloStramaglia 4 5Arduino 6Privacy 7Automatic 8Navigator 9 10APAN for ASP8266 11The Arduino Privacy Automatic Navigator is a free tool created with the intent to confuse the ISP. 12When you setup the Arduino Privacy Automatic Navigator in your local network, the system will start 13browsing towards sites that have nothing to do with your lifestyle. To be more precise, it will 14connect to your network with a random host name and will search for a random keyword on google all 15day long. Will also navigate while you are not at home so that the ISP will log the presence of people 16in the house while you are on holiday. This will be done massively in order to confuse the ISP and 17have wrong data. 18*/ 19 20#include <Arduino.h> 21#include <ESP8266WiFi.h> 22#include <ESP8266WiFiMulti.h> 23#include <ESP8266HTTPClient.h> 24#include <WiFiClient.h> 25#include <U8x8lib.h> 26 27// Settings for Display 28U8X8_SSD1306_128X32_UNIVISION_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); 29 30ESP8266WiFiMulti WiFiMulti; 31 32// Variables for the random hostname and search keyword 33char word1[12]; 34char hostn[12]; 35char webcom[80]; 36unsigned long t=0; 37 38// Reset PIN 39const int OUTPUT_PIN = 2; 40 41int status = WL_IDLE_STATUS; 42char server[] = "www.google.com"; 43 44void rword (char *word) 45{ 46int len = rand () % 11 + 1; 47word [len] = 0; 48while (len) word [--len] = 'a' + rand () % 26; 49} 50 51 52 53void setup() { 54 55 // Display setup 56 u8x8.begin(); 57 u8x8.setPowerSave(0); 58 u8x8.setFont(u8x8_font_chroma48medium8_r); 59 60 //Initialize serial and wait for port to open: 61 Serial.begin(115200); 62 63 // Welcome message 64 u8x8.drawString(0,0,"WELCOME TO APAN"); 65 u8x8.drawString(0,1,"---------------"); 66 u8x8.drawString(0,3," STARTING NOW "); 67 68 Serial.println(); 69 Serial.println(); 70 Serial.println(); 71 72 for (uint8_t t = 4; t > 0; t--) { 73 Serial.printf("[STARTING] PLEASE WAIT %d...\ 74", t); 75 Serial.flush(); 76 delay(1000); 77 } 78 79 WiFi.mode(WIFI_STA); 80 WiFiMulti.addAP("SSID", "Password"); // Put your WiFi credentials here 81} 82 83void loop() { 84 // Welcome message 85 u8x8.drawString(0,0,"WELCOME TO APAN"); 86 u8x8.drawString(0,1,"---------------"); 87 u8x8.drawString(0,3," STARTING NOW "); 88 89 delay (2000); 90 91 // Create a random keyword to search 92 srand(millis()); 93 rword(word1); 94 Serial.print("The random word is: "); 95 Serial.println(word1); 96 u8x8.drawString(0,0,"The Keyword is: "); 97 u8x8.drawString(0,1,"-------------- "); 98 u8x8.drawString(0,3," "); 99 u8x8.drawString(0,3,word1); 100 101 sprintf(webcom,"GET /search?q=%s HTTP/1.1",word1); 102 103 104 // attempt to connect to WiFi network: 105 if ((WiFiMulti.run() == WL_CONNECTED)) { 106 107 WiFiClient client; 108 109 HTTPClient http; 110 111 Serial.print("[HTTP] begin...\ 112"); 113 if (http.begin(client, "http://www.google.com")) { // HTTP 114 115 116 Serial.print("[HTTP] GET...\ 117"); 118 // start connection and send HTTP header 119 int httpCode = http.GET(); 120 121 // httpCode will be negative on error 122 if (httpCode > 0) { 123 // HTTP header has been send and Server response header has been handled 124 Serial.printf("[HTTP] GET... code: %d\ 125", httpCode); 126 127 // file found at server 128 if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { 129 // String payload = http.getString(); 130 131 // Make a HTTP request: 132 client.println(webcom); 133 client.println("Host: www.google.com"); 134 client.println("Connection: close"); 135 client.println(); 136 137 // if there are incoming bytes available 138 // from the server, read them and print them: 139 char datas[1]; 140 Serial.println("START PROCESSING DATA"); 141 u8x8.drawString(0,0,"PROCESSING DATA "); 142 u8x8.drawString(0,1,"--------------- "); 143 u8x8.drawString(0,3," "); 144 u8x8.setCursor(0, 3); 145 Serial.println("START SPRINTF"); 146 while (client.available()) { 147 // Serial.println("CLIENT AVAILABLE"); 148 char c = client.read(); 149 sprintf(datas, "%d", c); 150 if (t < millis() ) { 151 t = millis() + 30; 152 u8x8.print(datas); 153 } 154 // Serial.write(c); // Uncomment this to see data on the monitor 155 delay(1); 156 } 157 158 //Serial.println(payload); 159 } 160 } else { 161 Serial.printf("[HTTP] GET... failed, error: %s\ 162", http.errorToString(httpCode).c_str()); 163 } 164 165 http.end(); 166 } else { 167 Serial.printf("[HTTP} Unable to connect\ 168"); 169 } 170 } 171 172 173 Serial.println("START WAIT"); 174 //Wait 15 seconds 175 delay (15000); 176 177 Serial.println("START RESET"); 178 // Reset the Arduino 179 u8x8.drawString(0,0,"RESETTING BOARD"); 180 u8x8.drawString(0,1,"--------------- "); 181 u8x8.drawString(0,3," "); 182 delay (3000); 183 184} 185 186 187
Downloadable files
APAN - Arduino Privacy Automatic Navigator
The Arduino Privacy Automatic Navigator is a free tool created with the intent to confuse the ISP.
APAN - Arduino Privacy Automatic Navigator
APAN for 8266
APAN for 8266
APAN - Arduino Privacy Automatic Navigator
The Arduino Privacy Automatic Navigator is a free tool created with the intent to confuse the ISP.
APAN - Arduino Privacy Automatic Navigator
APAN - Arduino Privacy Automatic Navigator
The Arduino Privacy Automatic Navigator is a free tool created with the intent to confuse the ISP.
APAN - Arduino Privacy Automatic Navigator
APAN for 8266
APAN for 8266
Comments
Only logged in users can leave comments