Mündəricat:
- Addım 1: nümayiş
- Addım 2: Serverin quraşdırılması
- Addım 3: Müştəri Məclisi
- Addım 4: Flow - Server
- Addım 5: Flow - Müştəri
- Addım 6: Client.ino
- Addım 7: Server.ino
- Addım 8: Fayllar
Video: Arduino IDE Dual Core: Uzaqdan İdarəetmə: 8 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu video hamısı "multi" mövzusundadır. Çox vəzifəli, çox mərkəzli və çoxlu müştəri ilə məşğul oluruq. Bir müddət əvvəl iki ESP ilə uzaqdan idarəetmə qurdum: müştəri və giriş nöqtəsi. Buna əsaslanaraq, bu gün çoxfunksiyalı bir server quracağıq. Bu o deməkdir ki, bir ESP -də birdən çox müştərimiz olacaq.
Beləliklə, bugünkü dərs ESP32 -də bir serverin yaradılması, döngəyə yeni müştərilərin əlavə edilməsi və başqa bir nüvədə olan sorğuların işlənməsini əhatə edir. Müştərilər pinlərinin vəziyyət dəyişikliyi haqqında məlumat göndərəcək və server bu vəziyyət dəyişikliklərini təkrarlayacaq.
Addım 1: nümayiş
Addım 2: Serverin quraşdırılması
Addım 3: Müştəri Məclisi
Addım 4: Flow - Server
Addım 5: Flow - Müştəri
Addım 6: Client.ino
Bəyannamələr və dəyişənlər
#daxil edin // Yenidən qurun // Server qurun #SSID "ESP32Server" təyin edin #ŞİFRE "87654321" #define SERVER_PORT 5000 // WiFiClient müştəri ilə əlaqə qurun; // Strukturu təyin edin və ya yoxlayın (heç bir server yoxdur) typedef struct {int number; int statusu; }Pin; // Vəziyyət #PIN_COUNT 2 -ni təyin edin // Array com os pinos definitos // No 21 casus vabos trabalhar com os 21 e 19 mas poke alterar para pin pines pin pin [PIN_COUNT] = { {.sayı = 21}, {.sayı = 19}};
Qurmaq
void setup () {Serial.begin (115200); // Müvəqqəti müştəri müştəri.setTimeout (5000); // Wi -Fi və ya server qurmaq üçün Wi -Fi bağlantısı (); connectClient (); üçün (int i = 0; i
WiFi qurmaq
boş quraşdırmaWiFi () {Serial.print ("Bağlanır" + String (SSID)); // ESP WiFi.begin (SSID, PASSWORD) ilə işləyən WiFi bağlantısı; // Esperamos conectar while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); gecikmə (500); } // WiFi Serial.println () ilə əlaqə qurun; Serial.println ("Bağlandı!"); }
ConnectClient
void connectClient () {Serial.println ("Müştəri bağlayır"); // Esperamos server serveri ilə əlaqə qurarkən (! Client.connect (WiFi.gatewayIP (), SERVER_PORT)) {Serial.print ("."); gecikmə (500); } // Serial.println () serveri ilə əlaqə qurun; Serial.println ("Müştəri bağlı!"); }
Döngə
void loop () {// Wi -Fi -nı dəyişdirmək, əgər (WiFi.status ()! = WL_CONNECTED) {setupWiFi (); }}
Əlaqə Əlaqəsi
void handleConnection (void* pvParameters) {// ÖNƏMİZ: İstifadəçi məlumatlarını sona çatdırmaq üçün vaxt ayırmaqla (doğru) {// İstifadəçi serverlə əlaqə qurursa, mandamos conectar if (! client.connected ()) {connectClient (); } // Müqəddəs Yazıların müddəaları. (İnt i = 0; i
hasPinStatusChanged
// Verilənlər sıralanır və ya sıralanır. .sayı); // Diferente if (sancaqlar . Statusu! = PinStatus) {// mühafizəsi əsl sancaqlar .status = pinStatus; doğru qayıtmaq; } // Şəxsi məlumatların dəyişdirilməsi // Səhvlərin geri qaytarılması yalan; }
sendPinStatus
// Göndərmə ilə əlaqəli server göndərmək üçün SendPinStatus (int i) {client.write ((uint8_t*) & pinlər , ölçüsü (Pin)); müştəri.flush (); }
Addım 7: Server.ino
Bəyannamələr və dəyişənlər
#include #include // Dados da rede // Heç bir Müştəri yoxla #SSID "ESP32Server" ni təyin et #PAROLU "87654321" #define SERVER_PORT 5000 // 'SERVER_PORT' WiFiServer serveri (SERVER_PORT) üçün heç bir server yoxdur. // Müştərilər bir -biri ilə əlaqə qurduqdan sonra: vektor müştəriləri; // Strukturu müəyyən edin və ya yoxlayın (müştəri yoxdur) typedef struct {int number; int statusu; }Pin;
Qurmaq
void setup () {Serial.begin (115200); // WiFi qurmaq və ya server qurmaq üçün Wi -Fi (); server.begin (); xTaskCreatePinnedToCore (handleClients, // Funcão que será executada "handleClients", // Nome da tarefa 10000, // Tamanho da pilha NULL, // Parametro da tarefa (no caso não usamos) 2, // Priorityade da tarefa NULL, // İstifadəçi məlumatlarının təhlili (heç bir dəqiqlik yoxdur) 0); // Başlanğıcda bir tapşırıq yerinə yetirmək lazımdır (əsas 0 -dan çox olmayan dövrdə)
Wi -Fi qurmaq
etibarsız quraşdırmaWiFi () {// Coloca este ESP como Access Point WiFi.mode (WIFI_AP); // SSID və ESP WiFi.softAP (SSID, PASSWORD) ilə əlaqə qurmaq; }
Döngə
void loop () {// WiFi müştəri ilə əlaqə qurmaq üçün WiFiClient müştəri = server.available (); // Heç bir vektor yoxdursa (müştəri) {clients.push_back (müştəri); }}
HandleClients
void handleClients (void* pvParameters) {// ÖNEMLİ: Bir terminalı yoxlamaq, sona çatdırmaq üçün sonsuz vaxt (doğru) {// Para cada müştəri üçün heç bir vektor yoxdur (int i = 0; i
Addım 8: Fayllar
Faylları yükləyin
MƏN YOX
Tövsiyə:
Arduino Nano ilə Uzaqdan İdarəetmə Klonlaşdırın: 5 addım
Arduino Nano ilə hər hansı bir uzaqdan idarə etməni klonlayın: Arduino Nano ilə hər hansı bir uzaqdan idarə etməni klonlayın
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə - 433mhz ilə HT12E və HT12D istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: 5 addım
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə | HT12E və HT12D -dən 433mhz istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: Bu təlimatda sizə HT12E kodlu 433mhz ötürücü qəbuledici modulu istifadə edərək RADIO uzaqdan idarə etməyi göstərəcəyəm. HT12D kod deşifratoru IC. Bu təlimatda çox ucuz komponentləri istifadə edərək məlumat göndərə və ala bilərsiniz: HT
Amazon Fire Uzaqdan Uzaqdan TV Uzaqdan sürüşdürün: 3 Addım (Şəkillərlə birlikdə)
Amazon Fire Uzaqdan Uzaqdan TV Uzaqdan Sürüşdürün: Oh Amazon, Fire TV'niz çox gözəldir, niyə bizə pultunuzda səs idarəetməsini vermədiniz? Yaxşı ki, Amazon -da 5 dollardan aşağı qiymətə bu sevimli kiçik uzaqdan, güc, səssiz satın ala bilərsiniz. , həcmi və hamısı kiçik bir paketdə. 3d printerə daxil edin
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 4 Addım
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 如何 通用 遥控 器 套件 转换 为 玩具 中 中 遥控 采用 采用 6 6 6 6 6 6 6 6 2262 和 2272 和 433 模块 构建 构建改造 方法 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照
IR Uzaqdan Uzaqdan Uzaqdan Çevirin: 9 Addım (Şəkillərlə birlikdə)
IR Uzaqdan Uzaqdan Uzaqdan RF -yə çevirin: Bugünkü Təlimat kitabında, ümumi bir RF modulunu mikro nəzarətçi olmadan necə istifadə edə biləcəyinizi sizə göstərəcəyəm ki, nəticədə hər hansı bir cihazın IR uzaqdan idarəetmə cihazını RF -yə çevirə biləcəyiniz bir layihə hazırlayaq. Uzaqdan. Çevirmənin əsas üstünlüyü