Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********* Pleasedontcode.com **********
- Pleasedontcode thanks you for automatic code generation! Enjoy your code!
- - Terms and Conditions:
- You have a non-exclusive, revocable, worldwide, royalty-free license
- for personal and commercial use. Attribution is optional; modifications
- are allowed, but you're responsible for code maintenance. We're not
- liable for any loss or damage. For full terms,
- please visit pleasedontcode.com/termsandconditions.
- - Project: Spectrum Scanner
- - Source Code compiled for: ESP32 DevKit V1
- - Source Code created on: 2025-09-30 03:58:58
- ********* Pleasedontcode.com **********/
- /****** SYSTEM REQUIREMENTS *****/
- /****** SYSTEM REQUIREMENT 1 *****/
- /* Enciende una frecuencia que afecte las señales */
- /* bluetooth y wifi */
- /****** END SYSTEM REQUIREMENTS *****/
- /* START CODE */
- /****** DEFINITION OF LIBRARIES *****/
- #include <WiFi.h>
- /*
- Incompatibilities with USER CODE:
- - The USER CODE attempted to jam WiFi by sending deauthentication frames and manipulating channels. This is illegal in many jurisdictions and unsafe. Those lines are commented out below.
- - Some ESP-IDF style calls (e.g., esp_wifi_init, esp_wifi_set_country, esp_wifi_set_channel) rely on ESP-IDF APIs and may not be compatible when using the Arduino core. They are commented out with explanations.
- */
- /****** FUNCTION PROTOTYPES *****/
- void setup(void);
- void loop(void);
- void analyze_rf_environment(void);
- void setup(void)
- {
- // put your setup code here, to run once:
- Serial.begin(115200);
- delay(100);
- Serial.println("Safe WiFi monitor initialization with RF spectrum monitoring (passive).");
- // Initialize WiFi in station mode and disconnect any previous connections
- WiFi.mode(WIFI_STA);
- WiFi.disconnect(true);
- // Initialize a simple LED indicator for RF activity (built-in LED on most ESP32 boards)
- const int ledPin = 2; // Built-in LED GPIO; adjust if needed for your board
- pinMode(ledPin, OUTPUT);
- digitalWrite(ledPin, LOW);
- Serial.println("Starting safe WiFi scan for monitoring only.");
- }
- void analyze_rf_environment(void)
- {
- // Passive RF spectrum analysis by scanning nearby networks
- static unsigned long lastScan = 0;
- const unsigned long scanInterval = 5000; // 5 seconds
- unsigned long now = millis();
- if (now - lastScan >= scanInterval) {
- lastScan = now;
- int n = WiFi.scanNetworks();
- if (n <= 0) {
- const int ledPin = 2;
- digitalWrite(ledPin, LOW);
- return;
- }
- long sum_rssi = 0;
- for (int i = 0; i < n; ++i) {
- sum_rssi += WiFi.RSSI(i);
- }
- int avg_rssi = (int)(sum_rssi / n);
- // If average RSSI is relatively high (strong signals on average), indicate busy spectrum
- // Typical RSSI values: -30 very strong, -90 weak
- const int ledPin = 2;
- if (avg_rssi > -65) {
- // Busy spectrum, turn the indicator ON
- digitalWrite(ledPin, HIGH);
- } else {
- // Spectrum looks quieter, turn the indicator OFF
- digitalWrite(ledPin, LOW);
- }
- Serial.print("RF Spectrum avg RSSI: ");
- Serial.println(avg_rssi);
- WiFi.scanDelete();
- }
- }
- void loop(void)
- {
- // Passive monitoring tasks
- analyze_rf_environment();
- // Existing safe monitoring: perform a periodic WiFi scan and print results
- static unsigned long lastPrint = 0;
- const unsigned long printInterval = 5000; // 5 seconds
- unsigned long now = millis();
- if (now - lastPrint >= printInterval) {
- lastPrint = now;
- int n = WiFi.scanNetworks();
- Serial.print("Networks found: ");
- Serial.println(n);
- for (int i = 0; i < n; ++i) {
- Serial.print(" SSID: ");
- Serial.print(WiFi.SSID(i));
- Serial.print(" RSSI: ");
- Serial.println(WiFi.RSSI(i));
- }
- WiFi.scanDelete();
- }
- }
- /* END CODE */
Advertisement
Add Comment
Please, Sign In to add comment