Code help for LED turn off

Hello All,

EDIT: Sorry, this should have been posted in Arduino SDK,

rtlduino (x 4 )

Using as a wifi repeater and BLE beacon for a drone application.
Am really struggling trying to get builtin led to light when wifi established with drone.
have finally gotten the LED to light once a wifi connection is made to the drone’s AP.
The problem is if i shut drone off,and in the serial terminal the rtldunio is no longer connected the LED continues to blink.

/*

  This example connects to an unencrypted Wifi network.
  Then it prints the  MAC address of the Wifi shield,
  the IP address obtained, and other network details.

  Circuit:
   WiFi shield attached

  created 13 July 2010
  by dlf (Metodo2 srl)
  modified 31 May 2012
  by Tom Igoe
*/
#include <WiFi.h>
#include "BLEDevice.h"
#include "BLEBeacon.h"


#define UUID "00112233-4455-6677-8899-AABBCCDDEEFF"

char ssid[] = "XL-PRO-5G-100895";     // the name of your network
int status = WL_IDLE_STATUS;     // the Wifi radio's status

iBeacon beacon;
//altBeacon beacon;


void setup() {

  ; // wait for serial port to connect. Needed for native USB port only
  // For all possible BLE manufacturer IDs, refer to:
  // www.bluetooth.com/specifications/assigned-numbers/company-identifiers/
  beacon.setManufacturerId(0x004C); // MfgId (0x004C: Apple Inc)
  beacon.setRSSI(0xBF);             // rssi: (0xBF: -65 dBm)
  beacon.setMajor(0x007B);          // 123
  beacon.setMinor(0x01C8);          // 456
  beacon.setUUID(UUID);

  BLE.init();
  BLE.configAdvert()->setAdvType(GAP_ADTYPE_ADV_NONCONN_IND);
  BLE.configAdvert()->setAdvData(beacon.getAdvData(), beacon.advDataSize);
  BLE.configAdvert()->setScanRspData(beacon.getScanRsp(), beacon.scanRspSize);
  BLE.beginPeripheral();
  pinMode(LED_BUILTIN_G, OUTPUT);

  //Initialize serial and wait for port to open:
  Serial.begin(115200);
  while (!Serial) {
  }

  // check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    // don't continue:
    while (true);
  }

  // attempt to connect to Wifi network:
  while (status != WL_CONNECTED) {
    Serial.print("Attempting to connect to open SSID: ");
    Serial.println(ssid);
    status = WiFi.begin(ssid);

    // wait 10 seconds for connection:
    delay(10000);
  }

  // you're connected now, so print out the data:
  Serial.println();
  Serial.print("You're connected to the network");
  printCurrentNet();
  printWifiData();
}

void loop() {
  // check the network connection once every 10 seconds:
  delay(10000);
  printCurrentNet();

  digitalWrite(LED_BUILTIN_G, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN_G, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a
}

void printWifiData() {
  // print your WiFi shield's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);
  Serial.println(ip);

  // print your MAC address:
  byte mac[6];
  WiFi.macAddress(mac);
  Serial.print("MAC address: ");
  Serial.print(mac[0], HEX);
  Serial.print(":");
  Serial.print(mac[1], HEX);
  Serial.print(":");
  Serial.print(mac[2], HEX);
  Serial.print(":");
  Serial.print(mac[3], HEX);
  Serial.print(":");
  Serial.print(mac[4], HEX);
  Serial.print(":");
  Serial.println(mac[5], HEX);

  // print your subnet mask:
  IPAddress subnet = WiFi.subnetMask();
  Serial.print("NetMask: ");
  Serial.println(subnet);

  // print your gateway address:
  IPAddress gateway = WiFi.gatewayIP();
  Serial.print("Gateway: ");
  Serial.println(gateway);
}

void printCurrentNet() {
  // print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  // print the MAC address of the router you're attached to:
  byte bssid[6];
  WiFi.BSSID(bssid);
  Serial.print("BSSID: ");
  Serial.print(bssid[5], HEX);
  Serial.print(":");
  Serial.print(bssid[4], HEX);
  Serial.print(":");
  Serial.print(bssid[3], HEX);
  Serial.print(":");
  Serial.print(bssid[2], HEX);
  Serial.print(":");
  Serial.print(bssid[1], HEX);
  Serial.print(":");
  Serial.println(bssid[0], HEX);

  // print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.println(rssi);

  // print the encryption type:
  byte encryption = WiFi.encryptionType();
  Serial.print("Encryption Type:");
  Serial.println(encryption, HEX);
}



Very much a novice at this,and am sure this is rough, as to what it should be.
Can someone tell me,what i need to add to turn off LED at wifi disconnect?
Thanks

1 Like