- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- bigyo108: A vén PC-Főnix újjászületése
- Meggyi001: RTX 5060 - Az új népkártya?
- btz: Internet fejlesztés országosan!
- eBay-es kütyük kis pénzért
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- bambano: Bambanő háza tája
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
LOGOUT
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Janos250
őstag
Ígértem leegyszerűsített ESP32 WEB szerver mintát.
Nem tudom aktuális-e még, itt van egy végletekig leegyszerűsített változat:// felhasznalva:
// https://lastminuteengineers.com/creating-esp32-web-server-arduino-ide/
// reszletesebben lsd ott
#include <WiFi.h>
#include <WebServer.h>
using namespace std;
const char* ssid = "********";
const char* password = "********";
IPAddress ip(192, 168, 0, 30); // ez lesz az ESP32 IP cime
IPAddress dns(192, 168, 0, 1); // ehhez az IP-ju WiFi routerhez fog kapcsolodni
IPAddress gateway(192, 168, 0, 1); // a router a gateway is
IPAddress subnet(255, 255, 0, 0); // a Wifi router maskja. ha nem tudod, akkor ez tobbnyire jo
IPAddress primaryDNS(8, 8, 8, 8); //optional lehet a router is
IPAddress secondaryDNS(8, 8, 4, 4); //optional
WebServer server(80);
const char htmlHeader[] = R"=====(
<!DOCTYPE html>
<html lang = hu >
<head>
<meta charset="UTF-8">
<title>minta WEB szerver</title>
</head>
)=====";
void serverValaszolHTMLtexttel() {
String htmlstring = htmlHeader ; // csak Arduino String (nagybetus) jo, string (C++ kisbetus string) nem!
htmlstring += "<body>" ;
htmlstring += "\n Hello, World!\n <br>\n" ;
htmlstring += " ide jonnek a feldat szerinti dolgok\n <br>\n" ;
//egy minta: https://lastminuteengineers.com/creating-esp32-web-server-arduino-ide/
htmlstring += "</body>\n</html>" ;
server.send(200, "text/html", htmlstring);
} ;
void handle_NotFound(){
server.send(404, "text/plain", "Not found");
} ;
void setup(void) {
//************************************
// Ez a szokasos
Serial.begin(115200);
delay(2000);
WiFi.begin(ssid, password);
if(!WiFi.config(ip, gateway, subnet, dns, secondaryDNS)) {
Serial.println("STA Failed to configure");
}
Serial.print("Connecting to ");
Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// Print local IP address and start web server
Serial.println("");
Serial.println("WiFi connected.");
Serial.println("IP address(ESP32): ");
Serial.println(WiFi.localIP());// this will display the Ip address of the Pi which should be entered into your browser
//*************************************************
// mit kuldjon, ha egy client bejelentkezik
server.on("/", serverValaszolHTMLtexttel);
// mit kuldjon, ha hibas az URL
server.onNotFound(handle_NotFound);
server.begin();
Serial.println("HTTP server started");
Serial.print ("ezt ird be a bongeszo cimsoraba:http://");
Serial.println(WiFi.localIP()) ;
} ; // end setup
void loop(void) {
server.handleClient();
delay(50);
} ; // end loop -
Janos250
őstag
A freeRTOS mindenképpen fut, és nem is kell róla tudomást venni, ha nem akarod, pont ugyanúgy használhatod, mint ha mondjuk UNO lenne.
Ugyanúgy van a main.cpp lényege (kikeresheted):setup();
for(;;) {
A mindenféléket beállítja neked, nem kell vele bogarászni, el is felejtheted, hogy freeRTOS alatt fut, ha nem akarod a két magot kihasználni.Nem nagyon van a freeRTOS-hoz használati utasítás a espressifen kívül
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/freertos.html
de nem is igen kell .
Igazából az ember a xTaskCreatePinnedToCore API-t használja, ha meg akarja adni, hogy melyik magon fusson, vagy ha ráhagyod az oprendszerre, akkor meg az xTaskCreate.
Ha nem akarod, nem is látod ezeket a függvényeket, ő automatikusan az 1-es magon futtatja, ha nem beszélsz bele, hanem mondjuk egy UNO programot futtatsz.
Esetleg a vTaskDelete, vTaskDelay ( de a delay is erre fordítódik) , az xTaskDelayUntil, uxTaskPriorityGet, eTaskGetState, vTaskGetInfo, vTaskPrioritySet. Ezek nevei magukért beszélnek, a leírásuk , és a paramétereik a linken ott vannak.
Én akartam még használni a vTaskList-et, de az meg az Arduinora fordított verzióban nem működik, mert az meg csak akkor működik, ha valami debug módot is beállítottak volna, azt meg utólag - állítólag - nem lehet.
A WiFi-re majd írok konkrét példákat, és felteszem valahova.
Többféle módon használhatod.
Új hozzászólás Aktív témák
Állásajánlatok
Cég: FOTC
Város: Budapest