-
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
Erre mindenki mást javasol.
Az én véleményem:
Elsődlegesen a WiFi használata. Szerverre van többféle verzió a neten, mind kicsit más.
Én nem azokat használom, hanem az alapot, tömören a lényege:WiFiServer server(80);
WiFiClient client ;A loopban pedig a lényeg:
client = server.available();
if (client.available()) { // if there's bytes to read from the client,
char c = client.read();Természetesen még jönnek hozzá a sallangok, például, hogy vége akkor van, ha két cr/lf jön egymásután.
client.println(protocolHeader);
client.println(httpHeader);
client.print(body01);A végén:
client.stop();Ezt így alapszinten használom. Ha valamelyik kész httpserver kezelőt használod, az egyszerűbb, de nekem ez kényelmes, és rugalmas.
Olyasmi, mint a PHP, hogy írod azt, amit a WEB lapodra akarsz tenni.Aztán ott van az OS, a freeRTOS, amire sokan mondják, hogy igazából nem is OS, mert pl. nincsenek benne userek.
Ezzel az esetek zömében nem kell foglalkozni, nem kell, hogy a user lássa.
Ha párhuzamosan akarsz taskokat futtatni, akkor vagy a szabványos C++ módon teszed, és az OS eldönti, melyik magra teszi:thread szal1(helloWorld1);
thread szal2(helloWorld2);
szal1.join();
szal2.join();A join akkor kell, ha be kell várni az adott szál befejezését,
vagy kreálsz neki külön taskot, például:
xTaskCreate(
readTempr,
"homersekletOlvas",
5000,
NULL,
6,
&homeroTaskHandle
);Én ezzel például olvasom a hőmérsékleteket mindentől függetlenül a "readTempr" függvénnyel, és belerakom globális változókba, ezért nincs szükség paraméterekre, azaz NULL nullpointer. Itt szokott egy kis gubanc lenni annak, aki először használja, mert ide a paraméterekre (pl töm, struktúra) mutató pointert írunk, de az xTaskCreate void típusú pointert kér, ezért kényszerítéssel voidosítani kell, majd a függvényben ismét kényszeríteni az adott típusra. Ha el akarod dönteni, hogy melyik magra tedd, akkor azt is megadhatod. Én például szeretem az ilyen mellékes dolgokat a 0-ás magra tenni, mert ott fut magas prioritással a WiFi kezelés, az üresjáratokban pedig az én "mellékes" függvényeim, egymástól függetlenül. Például amit az előbb írtam, abban végtelen ciklus van. Beolvassa a hőmérsékleteket, beleteszi globális változóba, vár egy időt, majd újra olvas. Ilyen esetben a wait az nem tényleges várakozás, hanem a többi tasknak adja át a vezérlést. Mivel a hőmérsékletek byte-ban vannak, nem kell semmiféle zárás, hogy ne akkor olvasson az egyik, amikor már az adatok felét átírta a másik, és akkor hülyeséget kapjon, de ha több byte-os az adat, akkor kizárás szükséges..
Aztán célszerű a rengeteg hardver perifériát kipróbálni.
Új hozzászólás Aktív témák
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Gigantikus fordulatot vett a GeForce RTX 50 Super sorozat törlése
- Milyen processzort vegyek?
- BOINC: compute for science
- Amlogic S905, S912 processzoros készülékek
- Kerékpárosok, bringások ide!
- Assetto Corsa Rally
- Samsung Galaxy A54 - türelemjáték
- További aktív témák...
- Gamer PC-Számítógép! Csere-Beszámítás! R7 2700X / GTX 1080Ti / 16GB DDR4 / 512 SSD!
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 12 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3281, 100% akkumulátor
- HP Zbook Studio G8 WorkStation i7-11850H 32GB 512GB Nvidia Quadro T1200 400NIT, 100% sRGB Garis!
- BESZÁMÍTÁS! ASRock B450 R5 5600X 16GB DDR4 512GB SSD RTX 3060 12GB Zalman Z1 Plus Cooler Master 750W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
ekkold
