# "WiFi.h" Æ÷ÇÔ
º¸ÀÌµå ¼³Á¤ ()
{
½Ã¸®¾ó. ½ÃÀÛ (115200);
// WiFi¸¦ ½ºÅ×ÀÌ¼Ç ¸ðµå·Î ¼³Á¤ÇÏ°í ÀÌÀü¿¡ ¿¬°áµÈ °æ¿ì AP¿¡¼ ¿¬°áÀ» ²÷½À´Ï´Ù.
WiFi.mo de(WIFI_STA);
WiFi. ¿¬°á ÇØÁ¦ ();
Áö¿¬ (100);
Á÷·Ä. println("¼³Á¤ ¿Ï·á");
}
º¸ÀÌµå ·çÇÁ ()
{
Á÷·Ä. println("½ºÄµ ½ÃÀÛ");
// WiFi. scanNetworks´Â ¹ß°ß µÈ ³×Æ®¿öÅ© ¼ö¸¦ ¹ÝȯÇÕ´Ï´Ù.
Int n = WiFi.scanNetworks();
Á÷·Ä. println("½ºÄµ ¿Ï·á");
If (n = = 0) {
Serial.println("³×Æ®¿öÅ©¸¦ ãÀ» ¼ö ¾øÀ½");
} Else {
Á÷·Ä. Àμâ (n);
Á÷·Ä. println("³×Æ®¿öÅ© ¹ß°ß");
(Int i = 0; i < n; ++ i) {
// ãÀº °¢ ³×Æ®¿öÅ©¿¡ ´ëÇØ SSID ¹× RSSI Àμâ
½Ã¸®¾ó. Àμâ (i + 1);
½Ã¸®¾ó. Àμâ (": ");
Á÷·Ä. Àμâ (WiFi.SSID(i));
Á÷·Ä. Àμâ (" (");
Á÷·Ä. Àμâ (WiFi.RSSI(i));
Á÷·Ä. Àμâ (")");
Á÷·Ä. println(((WiFi.encryptionType(i) = = WIFI_AUTH_OPEN)?"":"*");
Áö¿¬ (10);
}
}
Á÷·Ä. println("");
// ´Ù½Ã ½ºÄµÇϱâ Àü¿¡ Á¶±Ý ±â´Ù¸®½Ê½Ã¿À.
Áö¿¬ (5000);
}
# Æ÷ÇÔ <WiFi.h>
Const char * ssid = "your-ssid"; // ±ÍÇÏÀÇ WiFi À̸§
Const char * ¾ÏÈ£ = "±ÍÇÏÀÇ ¾ÏÈ£"; // ±ÍÇÏÀÇ WiFi ¾ÏÈ£
º¸ÀÌµå ¼³Á¤ ()
{
½Ã¸®¾ó. ½ÃÀÛ (115200);
Áö¿¬ (10);
// WiFi ³×Æ®¿öÅ©¿¡ ¿¬°áÇÏ¿© ½ÃÀÛÇÕ´Ï´Ù.
Á÷·Ä. println();
Á÷·Ä. println();
Á÷·Ä. Àμâ ("¿¬°á");
Á÷·Ä. println(ssid);
WiFi. ½ÃÀÛ (ssid, ¾ÏÈ£);
µ¿¾È (WiFi. »óÅ () ! = WL_¿¬°á) {
Áö¿¬ (500);
Á÷·Ä. Àμâ (".");
}
Á÷·Ä. println("");
Á÷·Ä. println("WiFi ¿¬°á");
Á÷·Ä. println("IP ÁÖ¼Ò:");
Á÷·Ä. println(WiFi.localIP());
}
º¸ÀÌµå ·çÇÁ ()
{
}
# "WiFi.h" Æ÷ÇÔ
º¸ÀÌµå ¼³Á¤ ()
{
½Ã¸®¾ó. ½ÃÀÛ (115200);
WiFi.softAP("ESP_AP", "123456789");
}
º¸ÀÌµå ·çÇÁ ()
{
Á÷·Ä. Àμâ ("È£½ºÆ® À̸§:");
½Ã¸®¾ó. println(WiFi.softAPgetHostname());
Á÷·Ä. Àμâ ("È£½ºÆ® IP:");
Á÷·Ä. println(WiFi.softAPIP());
Á÷·Ä. Àμâ ("È£½ºÆ® IPV6:");
Á÷·Ä. println(WiFi.softAPIPv6());
Á÷·Ä. Àμâ ("È£½ºÆ® SSID:");
Á÷·Ä. println(WiFi.SSID());
Á÷·Ä. Àμâ ("È£½ºÆ® ¹æ¼Û IP:");
½Ã¸®¾ó. println(WiFi.softAPBroadcastIP());
Á÷·Ä. Àμâ ("È£½ºÆ® ¸Æ ÁÖ¼Ò:");
Á÷·Ä. println(WiFi.softAPmacAddress());
Serial.print("È£½ºÆ® ¿¬°á ¼ö:");
½Ã¸®¾ó. println(WiFi.softAPgetStationNum());
Serial.print("È£½ºÆ® ³×Æ®¿öÅ© ID:");
Á÷·Ä. println(WiFi.softAPNetworkID());
Á÷·Ä. Àμâ ("È£½ºÆ® »óÅÂ:");
Á÷·Ä. println(WiFi.status());
Áö¿¬ (1000);
}
# Æ÷ÇÔ <BLEDevice.h>
# Æ÷ÇÔ <BLEUtils.h>
# Æ÷ÇÔ <BLEScan.h>
# Æ÷ÇÔ <BLE±¤°íÀåÄ¡. h>
Int scanTime = 5; // ÃÊ ´ÜÀ§
BLEScan * pBLEScan;
Ŭ·¡½º MyAdvertisedDeviceCallbacks: °ø°³ BLEADVedDeviceCallbacks {
Void on°á°ú (BLEADGedDevice ±¤°í ÀåÄ¡) {
Serial.printf("±¤°íµÈ ÀåÄ¡: % s \ n", ±¤°íµÈ ÀåÄ¡. toString().c_str());
}
};
º¸ÀÌµå ¼³Á¤ () {
½Ã¸®¾ó. ½ÃÀÛ (115200);
Á÷·Ä. println("½ºÄµ...");
BLEDevice::init("");
PBLEScan = BLEDevice::getScan(); // »õ ½ºÄµ »ý¼º
PBLEScan-> setAdvertisedDeviceÄݹé (»õ·Î¿î MyAdvertisedDeviceCallbacks());
PBLEScan->setActiveScan(true); // È°¼º ½ºÄµÀº ´õ ¸¹Àº Àü·ÂÀ» »ç¿ëÇÏÁö¸¸ °á°ú¸¦ ´õ »¡¸® ¾ò½À´Ï´Ù.
PBLEScan-> ¼³Á¤ °£°Ý (100);
PBLEScan->setWindow(99); // À۰ųª °°Àº set°£°Ý °ª
}
º¸ÀÌµå ·çÇÁ () {
// ¹Ýº¹ÀûÀ¸·Î ½ÇÇàÇÏ·Á¸é ¸ÞÀÎ Äڵ带 ¿©±â¿¡ ³ÖÀ¸½Ê½Ã¿À.
BLEScanResults foundDevices = pBLEScan-> ½ÃÀÛ (½ºÄµ ŸÀÓ, °ÅÁþ);
Á÷·Ä. Àμâ ("ÀåÄ¡ ¹ß°ß:");
Á÷·Ä. println(foundDevices.getCount());
Á÷·Ä. println("½ºÄµ ¿Ï·á!");
PBLEScan->clearResults(); // BLEScan ¹öÆÛ¿¡¼ °á°ú¸¦ »èÁ¦ÇÏ¿© ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÕ´Ï´Ù.
Áö¿¬ (2000);
}
# Æ÷ÇÔ <BLEDevice.h>
# Æ÷ÇÔ <BLEUtils.h>
# Æ÷ÇÔ <BLEServer.h>
// UUID¸¦ »ý¼ºÇÏ·Á¸é ´ÙÀ½À» ÂüÁ¶ÇϽʽÿÀ.
// https://www.uuidgenerator.net/
# Á¤ÀÇ SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
# Á¤ÀÇ Æ¯¼º _ UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8"
Ŭ·¡½º ¸¶ÀÌÄݹé: °ø°³ BLECharacteristicÄݹé {
Void onWrite (BLECharatect * pCharpertect) {
Std:: ¹®ÀÚ¿ °ª = pƯ¼º->getValue();
If (°ª. ±æÀÌ () > 0) {
Á÷·Ä. println("********");
Á÷·Ä. Àμâ ("»õ °ª:");
(Int i = 0; i < value.length(); i ++)
½Ã¸®¾ó. Àμâ (°ª [i]);
Á÷·Ä. println();
Á÷·Ä. println("********");
}
}
};
º¸ÀÌµå ¼³Á¤ () {
½Ã¸®¾ó. ½ÃÀÛ (115200);
BLEDevice::init("MyESP32");
BLE¼¹ö * pServer = BLEDevice::createServer();
BLE¼ºñ½º * pService = pServer->createService(SERVICE_UUID);
BLECharpertect * pCharatect = pService-> createCharate (
Ư¼º _ UUID,
BLEƯ¼º:: ¼Ó¼º _ Àбâ |
BLEƯ¼º::PROPERTY_WRITE
);
PƯ¼º-> setÄݹé (»õ·Î¿î MyCallbacks());
PƯ¼º->setValue("Hello World");
PService-> ½ÃÀÛ ();
BLE±¤°í * p±¤°í = pServer->getAdvertising();
P±¤°í-> ½ÃÀÛ ();
}
º¸ÀÌµå ·çÇÁ () {
// ¹Ýº¹ÀûÀ¸·Î ½ÇÇàÇÏ·Á¸é ¸ÞÀÎ Äڵ带 ¿©±â¿¡ ³ÖÀ¸½Ê½Ã¿À.
Áö¿¬ (2000);
}
µðÁöÅÐ ÇÉ
Äڵ带 º¸µå¿¡ ¾÷·ÎµåÇÏ¸é ¿Âº¸µå LED°¡ ¸ÅÃʸ¶´Ù ÄÑÁý´Ï´Ù.
// ÇÉ ´ÙÀ̾î±×·¥¿¡ µû¶ó led Á¤ÀÇ
Int led = 8;
º¸ÀÌµå ¼³Á¤ () {
// Ãâ·ÂÀ¸·Î ÁÖµµ µÈ µðÁöÅÐ ÇÉ ÃʱâÈ
ÇÉ ¸ðµå (ÁÖµµ, Ãâ·Â);
}
º¸ÀÌµå ·çÇÁ () {
DigitalWrite (led, HIGH); // LED¸¦ ÄѽʽÿÀ.
Áö¿¬ (1000); // Àá½Ã ±â´Ù·Á
DigitalWrite (led, LOW); // LED¸¦ ²ü´Ï´Ù.
Áö¿¬ (1000); // Àá½Ã ±â´Ù·Á
}
µðÁöÅÐ PWM
¿Âº¸µå LED°¡ Á¡Â÷ ¾îµÎ¿ö Áö·Á¸é ´ÙÀ½ Äڵ带 ¾÷·ÎµåÇϽʽÿÀ.
Int ledPin = 8; // µðÁöÅÐ ÇÉ 10 ¿¡ ¿¬°áµÈ LED
º¸ÀÌµå ¼³Á¤ () {
// LED ÇÉÀ» Ãâ·ÂÀ¸·Î ¼±¾ð
ÇÉ ¸ðµå (ledPin, Ãâ·Â);
}
º¸ÀÌµå ·çÇÁ () {
// 5 Æ÷ÀÎÆ® ´ÜÀ§·Î ÃÖ¼Ò¿¡¼ ÃÖ´ë·Î ÆäÀ̵å ÀÎ:
(Int fadeValue = 0 ; fadeValue <= 255; fadeValue + = 5) {
// °ªÀ» ¼³Á¤ÇÕ´Ï´Ù (0 ~ 255 ¹üÀ§).
AnalogWrite (ledPin, fadeValue);
// µð¹Ö È¿°ú¸¦ º¸·Á¸é 30 ¹Ð¸® ÃÊ µ¿¾È ±â´Ù¸®½Ê½Ã¿À.
Áö¿¬ (30);
}
// 5 Æ÷ÀÎÆ® ´ÜÀ§·Î ÃÖ´ë¿¡¼ ÃÖ¼Ò·Î ÆäÀÌµå ¾Æ¿ô:
For (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
// °ªÀ» ¼³Á¤ÇÕ´Ï´Ù (0 ~ 255 ¹üÀ§).
AnalogWrite (ledPin, fadeValue);
// µð¹Ö È¿°ú¸¦ º¸·Á¸é 30 ¹Ð¸® ÃÊ µ¿¾È ±â´Ù¸®½Ê½Ã¿À.
Áö¿¬ (30);
}
}
¾Æ³¯·Î±× ÇÉ
ÀüÀ§Â÷°è¸¦ ÇÉ A5 ¿¡ ¿¬°áÇÏ°í ´ÙÀ½ Äڵ带 ¾÷·ÎµåÇÏ¿© ÀüÀ§Â÷°è ³ëºê¸¦ µ¹·Á LEDÀÇ ±ô¹ÚÀÓ °£°ÝÀ» Á¦¾îÇÕ´Ï´Ù.
Const int ¼¾¼ ÇÉ = A5;
Const int ledPin = 8;
º¸ÀÌµå ¼³Á¤ () {
ÇÉ ¸ðµå (¼¾¼ ÇÉ, INPUT); // ¼¾¼¸¦ INPUTÀ¸·Î ¼±¾ðÇÕ´Ï´Ù.
PinMode (ledPin, Ãâ·Â); // ledPinÀ» Ãâ·ÂÀ¸·Î ¼±¾ðÇÕ´Ï´Ù.
}
º¸ÀÌµå ·çÇÁ () {
// ¼¾¼¿¡¼ °ªÀ» ÀнÀ´Ï´Ù.
Int sensorValue = ¾Æ³¯·Î±× Àбâ (¼¾¼ÇÉ);
// LedPinÀ» ÄѽʽÿÀ
µðÁöÅÐ ¾²±â (ledPin, HIGH);
// <SensorValue> ¹Ð¸® ÃÊ µ¿¾È ÇÁ·Î±×·¥À» ÁßÁöÇÕ´Ï´Ù.
Áö¿¬ (¼¾¼ °ª);
// LedPin ²ô±â:
µðÁöÅÐ ¾²±â (ledPin, LOW);
// <SensorValue> ¹Ð¸® ÃÊ µ¿¾È ÇÁ·Î±×·¥À» ÁßÁöÇÕ´Ï´Ù.
Áö¿¬ (¼¾¼ °ª);
}