Hirdetés
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Azonnali notebookos kérdések órája
- OLED TV topic
- Nyomtató topik
- RAM topik
- Hogy is néznek ki a gépeink?
- TCL LCD és LED TV-k
- Melyik tápegységet vegyem?
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
PROHARDVER!
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
-
cog777
senior tag
válasz
Istv@n #22799 üzenetére
"A freertos takokból meg lehet egyáltalán hívni egy "sima" függvényt?"
Hello, persze. Szerintem probald ki elorol felepiteni a programot, nem mindent atmasolva. Sok a hibalehetoseg es igy nehez segiteni.A setup-ban latom a Wifi csatlakozast, az jol mukodik, ido beallitas stb.
Az MQTT, adatbazis kapcsolodas, szenzorok kezelesehez hozzarendelhetsz egy-egy orokke mukodo FreeRTOS feladatot. Ezekbol nem kell kilepni, mert futhatnak folyamatosan.Itt van egy FreeRTOS pelda, probald eloszor ki, ket feladatot futtatva:
Ha ez mukodik, akkor elkezdheted megirni a programodat, pl MQTT. A kliensnek itt a library-ja, letoltod es megnezed az mqtt_basic peldat.
Latod hogy meg kell hivni a loop-ot:if (!client.connected()) {
reconnect();
}
client.loop();Szoval az egesz MQTT kezelest beleteheted egy FreeRTOS task-ba. Tehat:
void mqtt_task(void *param)
{
EthernetClient ethClient;
PubSubClient client(ethClient);
while(1)
{
if (!client.connected()) {
reconnect();
}
client.loop();
}
}Szenzor feladatnak is keszithetsz sajat feladatot, es elindithatod akar a masik CPU magra is teheted.
Az adatokat megoszthatod atomic-al a szenzor es az MQTT feladatok kozott:
std::atomic<float> homerseklet;
Komolyabb kommunikaciot a feladatok kozott queue-val szoktak (xQueueCreate-ra keress ra).
Tovabba erdemes a feladatokat kulon .cpp es .h fajlokba tenni, igy szetvalasztva logikailag a programot.
Most ennyi idom van, esetleg irhatnal par szot mire kell az MQTT es az adatbazis?
FreeRTOS programozasnal figyelj a stack beallitasra. Erdemes lepesrol lepesre felepiteni es tesztelni a programot mert nagyon nehez megtalalni a hibat ha egybol mindent beleteszel. Asszem debuggolni lehet ha eredeti Arduino ESP32-t vasarolsz.
Új hozzászólás Aktív témák
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Samsung Galaxy S25 - végre van kicsi!
- gban: Ingyen kellene, de tegnapra
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Kerékpárosok, bringások ide!
- Miért álltak az oldalak egy hétig, mi történt?
- Motorola Edge 50 Fusion - jó fogás
- Háztartási gépek
- Xbox tulajok OFF topicja
- Windows 10
- További aktív témák...
- magyar bill. - Lenovo ThinkPad Z13 G1 - AMD Ryzen R7 Pro 6850U, 13.3" 2.8K OGS érintőkijelző
- HIBÁTLAN iPhone 14 Pro Max 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3011
- BESZÁMÍTÁS! ASUS Z390 i7 9700 32GB DDR4 240GB SSD 1TB HDD RTX 2070 Super 8GB NZXT H510 ADATA 600W
- DELL Universal Dock D6000 docking station (452-BCYH) (DisplayLink)
- IPhone 15 Pro Akku: 88% 12 hó jótállás!
Állásajánlatok
Cég: FOTC
Város: Budapest