-
Fototrend
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
válasz
polgcsabi #17540 üzenetére
Ez meg egy minta WEB szerverre, eggyel magasabb szinten:
#include <iostream>
#include <string>
#include <WiFi.h>
#include <SPI.h>
using namespace std;
const char* ssid = "*********";
const char* password = "*********";
IPAddress ip(192, 168, 0, 30);
IPAddress dns(192, 168, 0, 1);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 0, 0);
IPAddress primaryDNS(8, 8, 8, 8); //optional
IPAddress secondaryDNS(8, 8, 4, 4); //optional
WiFiServer myServer(80);
const char httpHeader[] PROGMEM = R"=====(
HTTP/1.1 200 OK
Content-type:text/html
Connection: close
)=====";
char htmlHeader[] PROGMEM = R"=====(
<!DOCTYPE html>
<html lang = hu >
<head>
<meta charset="UTF-8">
<title>minta WEB szerver</title>
</head>
)=====";
char body[] PROGMEM = R"=====(
<body>
Ez a kiirando
</body></html>
)=====";
void setup(void) {
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: ");
Serial.println(WiFi.localIP());// this will display the Ip address of the Pi which should be entered into your browser
myServer.begin();
Serial.println("setup lefutott");
} ; // end setup
void loop(void) {
string header = "";
uint16_t karakterszam = 0 ;
unsigned long previousTime = 0;
const long timeoutTime = 1000; //in milliseconds (example: 2000ms = 2s)
IPAddress tavoliIP ; // = uint8_t tavoliIP[4]
//https://randomnerdtutorials.com/esp32-web-server-arduino-ide/
WiFiClient client = myServer.available(); // Listen for incoming clients
if (client) {
tavoliIP = client.remoteIP() ;
printf("tavoli IP: %3d.%3d.%3d.%3d\n",tavoliIP[0],
tavoliIP[1],tavoliIP[2],tavoliIP[3]);
previousTime = millis();
// Serial.println();
// printf("\nNew Client\n");
String currentLine = "";
while (!client.available()){
if ( (millis()- previousTime) > 100 ) {
tavoliIP = client.remoteIP() ;
Serial.println(tavoliIP) ;
client.flush() ;
client.stop() ;
printf ("megszakitva\n");
return;
} ; // if ( (millis()- previousTime) > 100 )
} ; // while (!client.available())
while (client.connected() &&
( (millis() - previousTime) <= timeoutTime) ) {
if (client.available()) {
karakterszam++ ;
char c = client.read();
Serial.write(c);
header += c;
if (c == '\n') {
if (currentLine.length() == 0) {
break;
// printf ("ures sor\n");
}
else {
currentLine = "";
// printf ("uj sor\n");
}
} else
if (c != '\r') {
currentLine += c;
} ; // if (c != '\r')
} ; // if (client.available())
} ; // while (client.connected()
if (karakterszam == 0){
client.flush() ;
client.stop() ;
return;
} ; // if (karakterszam == 0)
// Serial.println(header.c_str());
client.println(httpHeader);
client.println(htmlHeader);
client.println(body);
client.flush();
client.stop(); // Close the connection
while (client.available()){
delay(1) ;
}; // while (client.connected())
} ; // if (client)
delay(50);
} ; // end loopAzért WEB, mert figyeli, hogy mikor jön közvetlenül egymás után két sorváltás, mert a http szerint az jelzi az üzenet végét.
Természetesen bármilyen beérkező szöveget figyelhetsz, és bármit válaszolhatsz rá, nem kell a headereket küldeni, ha nem WEB lap, amit elküldesz.Ezt használtam fel:
https://randomnerdtutorials.com/esp32-web-server-arduino-ide/
Új hozzászólás Aktív témák
- Nvidia GPU-k jövője - amit tudni vélünk
- Windows 11
- Motorola Edge 60 és Edge 60 Pro - és a vas?
- Melyik tápegységet vegyem?
- A fociról könnyedén, egy baráti társaságban
- One mobilszolgáltatások
- Budapest és környéke adok-veszek-beszélgetek
- Steam Deck
- laskr99: Processzor és videokártya szilícium mag fotók újrakezdés
- Tőzsde és gazdaság
- További aktív témák...
- BESZÁMÍTÁS! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA TT 500W
- BESZÁMÍTÁS! GIGABYTE B660M i7 13700 32GB DDR4 512GB SSD RX 6800 16GB Thermaltake Core X5 GB 850W
- BESZÁMÍTÁS! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB SilentiumPC Signum SG1V TT 500W
- BESZÁMÍTÁS! Asus B550M R5 5600X 32GB DDR4 512GB SSD RTX 3060 12GB THERMALTAKE Commander G41 700W
- BESZÁMÍTÁS! MSI B460M i5 10400F 32GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman S4 Plus TT 500W
- Nvidia Quadro M2000/ M4000/ P2000/ P2200/ P4000/ P5000/ RTX 4000/ RTX A2000 / RTX A4000
- Telefon felváráslás!! Xiaomi Redmi Note 11, Xiaomi Redmi Note 11 Pro, Xiaomi 11 Lite
- AKCIÓ! nVidia Quadro P4000 8GB GDDR5 videokártya garanciával hibátlan működéssel
- Eredeti DELL 240W töltők (LA240PM160)
- AKCIÓ! Apple Macbook Air 13" 2020 M1 8GB 256GB SSD notebook garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest