#включая «WiFi.h»
установка пустоты()
{
Последовательный. Начало(115200);
// Установите Wi-Fi в режим станции и отключитесь от точки доступа, если он был ранее подключен.
WiFi.mode (WIFI_STA);
Wi-Fi.отключить();
задержка (100);
Serial.println («Настройка сделана»;
}
пустотный цикл()
{
Serial.println("сканирующий старт");
// WiFi.scanNetworks вернет количество найденных сетей.
int n = WiFi.scanNetworks();
Serial.println("сканировано");
если (n == 0) {
Serial.println("нет сетей");
} еще {
Serial.print(n);
Serial.println(" найдены сети");
для (int i = 0; i < n; ++i) {
// Напечатайте SSID и RSSI для каждой найденной сети.
Serial.print(i + 1);
Последовательная печать(": ");
Serial.print (WiFi.SSID(i));
Serial.print(" (");
Serial.print (WiFi.RSSI(i));
Последовательный принт(")");
Serial.println ((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?"":"*");
задержка (10);
}
}
Serial.println("");
// Подождите немного, прежде чем снова сканировать
задержка (5000);
}
#включая <WiFi.h>
созвезти Char* ssid = «Twój Persid»; //ваше имя Wi-Fi
созвезти Char* пароль = «ваш пароль»; //ваш пароль Wi-Fi
установка пустоты()
{
Последовательный. Начало(115200);
задержка (10);
// Начинаем с подключения к сети Wi-Fi.
Serial.println();
Serial.println();
Последовательная печать («Подключение к»);
Serial.println(ssid);
Wi-Fi. начнется (доступ, пароль);
в то время как (WiFi.status() != WL_CONNECTED) {
задержка (500);
Последовательная печать (".");
}
Serial.println("");
Serial.println("WiFi подключен);
Serial.println("IP-адрес: ");
Serial.println(WiFi.localIP());
}
пустотный цикл()
{
}

#включая «WiFi.h»
установка пустоты()
{
Последовательный. Начало(115200);
WiFi.softAP("ESP_AP", "123456789");
}
пустотный цикл()
{
Последовательный принт («Название хоста»:);
Serial.println(WiFi.softAPgetHostname());
Последовательный печать («Хост IP»:);
Serial.println(WiFi.softAPIP());
Последовательный принт («Хост IPV6»:);
Serial.println(WiFi.softAPIPv6());
Последовательная печать («Хост SSID»:);
Serial.println(WiFi.SSID());
Serial.print("Host Broadcast IP:-);
Serial.println(WiFi.softAPBroadcastIP());
Последовательный печать («Хост Mac-адрес»:);
Serial.println(WiFi.softAPmacAddress());
Последовательная печать («Количество хост-соединений»:);
Serial.println(WiFi.softAPgetStationNum());
Serial.print("Host Network ID:-);
Serial.println(WiFi.softAPNetworkID());
Последовательный принт («Статус хоста»:);
Serial.println(WiFi.status());
задержка (1000);
}


#включая <BLEDevice.h>
#включая <BLEUtils.h>
#включая <BLEScan.h>
#включает <BLEAdvertisedDevice.h>
int сканированиеВремя = 5; //Через секунды
BLEScan* pBLEScan;
Класс MyAdvertisedDeviceCallbacks: Публичный BLEAdvertisedDeviceCallbacks {
аннулируется на Результат (BLEAdvertisedDevice рекламируемое устройство) {
Serial.printf(Рекламное устройство: %s \n", рекламируемое устройство.toString().c_str());
}
};
установка пустоты() {
Последовательный. Начало(115200);
Serial.println («Сканирование...»);
BLEDУстройство:: бесконечное("");
pBLEScan = BLEDУстройство::getScan(); //создать новое сканирование
pBLEScan->setAdvertisedDeviceCallbacks(новый MyAdvertisedDeviceCallbacks());
pBLEScan->setActiveScan(true); //активное сканирование потребляет больше мощности, но получает результаты быстрее
pBLEScan->setInterval(100);
pBLEScan->setWindow(99); // меньше или равна установкеИнтервальное значение
}
пустотный цикл() {
// поставьте здесь свой основной код для многократного запуска:
BLEScanResults найденыУстройства = pBLEScan->start(scanTime, fałszywe);
Serial.print("Устройства, найдены:">);
Serial.println(основыDevices.getCount());
Serial.println("Сканируйте!");
pBLEScan->чисткаResult(); // удаление результатов с BLES может быть буфером для освобождения памяти
задержка (2000);
}

#включая <BLEDevice.h>
#включая <BLEUtils.h>
#включает <BLEServer.h>
// Для генерации UUID см. в следующем:
//https://www.uuidgenerator.net/
#Определение ОБСЛУЖИВАНИЯ_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914б"
#Определение CHARAKTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8"
класс MyCallbacks: публичный BLECharacteristicCallbacks {
недействительно наWrite(BLECхарактеристика *pCharacteristic) {
std::значение струн = pХарактеристика->getValue();
если (значение.длина() > 0) {
Serial.println("*********");
Serial.print("Новое значение: ");
для (int i = 0; i < значение.длина(); i++)
Последовательный принт (значение[i]);
Serial.println();
Serial.println("*********");
}
}
};
установка пустоты() {
Последовательный. Начало(115200);
BLEDevice::init(MyESP32");
BLEServer *pServer = BLEDУстройство::createServer();
BLEService *pService = pServer->createService(SERVICE_UUID);
BLECХарактеристика *pХарактеристика = pService->создатьХарактеристику(
ХАРАКТЕРИСТИКА_UUID,
BLECХарактеристика::PROPERTY_READ|
BLECХарактеристика::ПЕРТИЯ_ПРИТ
);
pCharacteristic->setCallbacks(новый MyCallbacks());
pCharacteristic->setValue("Hello World");
pСервис->старт();
BLEРеклама *pРеклама = pServer->получитьРеклам();
pРеклама->старт();
}
пустотный цикл() {
// поставьте здесь свой основной код для многократного запуска:
задержка (2000);
}


Цифровой контакт
Загрузите код на плату, и встроенный светодиод загорится каждую секунду.
// Определение светодиода в соответствии со схемой контактов
int светодиод = 8;
установка пустоты() {
// инициализировать цифровой контактный светодиод в качестве выхода
pinMode(LED, ВЫХОД);
}
пустотный цикл() {
digitalWrite(led, HIGH); // включить светодиод
задержка (1000); // подождите секунду
digitalWrite(led, LOW); // выключить светодиод
задержка (1000); // подождите секунду
}
Цифровой ШИМ
Загрузите следующий код, чтобы увидеть встроенный светодиод постепенно тускнеет.
int LEDPin = 8; // Светодиод подключен к цифровому контакту 10.
установка пустоты() {
// декларирование светодиодного контакта в качестве выхода
pinMode(ledPin, ВЫХОД);
}
пустотный цикл() {
// затухание с минут до максимума с шагом 5 точек:
для (int fadeValue = 0; FadeValue <= 255; FadeValue += 5) {
// устанавливает значение (диапазон от 0 до 255):
аналоговый запись (ledPin, FadeValue);
// подождите 30 миллисекунд, чтобы увидеть эффект затемнения
задержка (30);
}
// затухание с макс. в минуту с шагом 5 точек:
для (int fadeValue = 255; FadeValue >= 0; FadeValue -= 5) {
// устанавливает значение (диапазон от 0 до 255):
аналоговый запись (ledPin, FadeValue);
// подождите 30 миллисекунд, чтобы увидеть эффект затемнения
задержка (30);
}
}
Аналоговый вывод
Подключите потенциометр к контакту A5 и загрузите следующий код, чтобы контролировать интервал мигания светодиода, поворачивая ручку потенциометра.
const int sensorPin = A5;
созвезти светодиодPin = 8;
установка пустоты() {
pinMode(сенсорPin, INPUT); // декларировать контакт датчика как вход
pinMode(ledPin, ВЫХОД); // указывает светодиодный контакт как ВЫХОД
}
пустотный цикл() {
// считывание значения с датчика:
int SensorValue = analogRead(sensorPin);
// включить светодиодный штифт
digitalWrite(ledPin, HIGH);
// остановите программу для <sensorValue> millisekund:
задержка (сенсорValue);
// выключить светодиодный штифт:
digitalWrite(ledPin, НИЗКИЙ);
// остановите программу для <sensorValue> millisekund:
задержка (сенсорValue);
}

Плата расширения





