Create MAIN.INO
This commit is contained in:
154
FIRMWARE/MAIN.INO
Normal file
154
FIRMWARE/MAIN.INO
Normal file
@@ -0,0 +1,154 @@
|
||||
#include <WiFi.h>
|
||||
#include <BLEDevice.h>
|
||||
#include <BLEScan.h>
|
||||
#include <BLEAdvertisedDevice.h>
|
||||
|
||||
#include <Adafruit_NeoPixel.h>
|
||||
|
||||
|
||||
|
||||
// PIN CONFRIGRATION
|
||||
#define LED_PIN 48 // RGB NeoPixel pin
|
||||
#define LED_COUNT 1 // only one LED for test
|
||||
|
||||
Adafruit_NeoPixel rgbLed(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
|
||||
|
||||
BLEScan* pBLEScan;
|
||||
|
||||
|
||||
// VAR
|
||||
unsigned long lastPrint = 0;
|
||||
int scanTime = 5; // BLE scan time (seconds)
|
||||
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
delay(500);
|
||||
|
||||
Serial.println();
|
||||
Serial.println(" ESP32 TEST STARTING .... ");
|
||||
Serial.println(" ------------------------ ");
|
||||
Serial.println();
|
||||
|
||||
|
||||
|
||||
// ---- RGB LED INIT ----
|
||||
rgbLed.begin();
|
||||
rgbLed.clear();
|
||||
rgbLed.show();
|
||||
|
||||
Serial.println(" NeoPixel Init Done ");
|
||||
delay(300);
|
||||
|
||||
|
||||
|
||||
// ---- WIFI INIT ----
|
||||
WiFi.mode(WIFI_STA);
|
||||
WiFi.disconnect();
|
||||
delay(100);
|
||||
|
||||
Serial.println(" WiFi set to STA mode ");
|
||||
Serial.println();
|
||||
|
||||
|
||||
|
||||
// ---- BLE INIT ----
|
||||
BLEDevice::init("ESP32_TEST_DEVICE");
|
||||
pBLEScan = BLEDevice::getScan();
|
||||
pBLEScan->setActiveScan(true); // better results but more power
|
||||
pBLEScan->setInterval(100);
|
||||
pBLEScan->setWindow(80);
|
||||
|
||||
Serial.println(" BLE Init Done ");
|
||||
Serial.println();
|
||||
|
||||
|
||||
|
||||
// random LED color at boot
|
||||
rgbLed.setPixelColor(0, rgbLed.Color(20, 0, 20));
|
||||
rgbLed.show();
|
||||
|
||||
Serial.println(" Setup Finished .... ");
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
// ---- SERIAL HEARTBEAT ----
|
||||
if (millis() - lastPrint > 3000)
|
||||
{
|
||||
lastPrint = millis();
|
||||
|
||||
Serial.print(" Uptime (ms): ");
|
||||
Serial.print(millis());
|
||||
|
||||
Serial.print(" | Free Heap: ");
|
||||
Serial.println(ESP.getFreeHeap());
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ---- WIFI SCAN ----
|
||||
Serial.println();
|
||||
Serial.println(" Starting WiFi Scan .... ");
|
||||
|
||||
int n = WiFi.scanNetworks();
|
||||
|
||||
if (n == 0)
|
||||
{
|
||||
Serial.println(" No WiFi Networks Found ");
|
||||
rgbLed.setPixelColor(0, rgbLed.Color(50, 0, 0)); // red
|
||||
}
|
||||
else
|
||||
{
|
||||
Serial.print(" WiFi Networks Found: ");
|
||||
Serial.println(n);
|
||||
|
||||
rgbLed.setPixelColor(0, rgbLed.Color(0, 50, 0)); // green
|
||||
|
||||
for (int i = 0; i < n; i++)
|
||||
{
|
||||
Serial.print(" ");
|
||||
Serial.print(i + 1);
|
||||
Serial.print(" -> ");
|
||||
Serial.print(WiFi.SSID(i));
|
||||
Serial.print(" RSSI: ");
|
||||
Serial.print(WiFi.RSSI(i));
|
||||
Serial.print(" dBm ");
|
||||
Serial.println();
|
||||
delay(10);
|
||||
}
|
||||
}
|
||||
|
||||
rgbLed.show();
|
||||
delay(800);
|
||||
|
||||
|
||||
|
||||
// ---- BLE SCAN ----
|
||||
Serial.println();
|
||||
Serial.println(" Starting BLE Scan .... ");
|
||||
|
||||
BLEScanResults foundDevices = pBLEScan->start(scanTime, false);
|
||||
|
||||
Serial.print(" BLE Devices Found: ");
|
||||
Serial.println(foundDevices.getCount());
|
||||
|
||||
pBLEScan->clearResults(); // free memory
|
||||
|
||||
rgbLed.setPixelColor(0, rgbLed.Color(0, 0, 50)); // blue
|
||||
rgbLed.show();
|
||||
|
||||
|
||||
|
||||
// ---- SMALL DELAY ----
|
||||
Serial.println(" Scan Cycle Done .... ");
|
||||
Serial.println(" --------------------- ");
|
||||
Serial.println();
|
||||
|
||||
delay(4000); // slow DOWN
|
||||
}
|
||||
Reference in New Issue
Block a user