Hirdetés
- Google Pixel topik
- Fotók, videók mobillal
- MIUI / HyperOS topik
- Xiaomi 15 Ultra - kamera, telefon
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- EarFun Air Pro 4+ – érdemi plusz
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Realme GT 2 - aláírjuk
- Yettel topik
- Pebble - az átgondolt okosóra
-
Mobilarena
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
őstag
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
- Corsair mp 600 core XT 4 TB
- Xbox Series S 512GB SSD, 1 kontrollerel és VENOM töltődokkal
- Asztali PC , i7 12700KF , RTX 5070 , 32GB DDR5 , 1TB NVME , 2TB HDD
- Lenovo ThinkPad L570, 15,6" FHD kijelző, I5-7300U CPU, 8GB DDR4, 256GB SSD, 4G/LTE, W11, Számla, 1 é
- HP EliteBook 840 G3, 14" FHD kijelző, I5-6300U CPU, 8GB DDR4, 256GB SSD, W11, Számla, 1 év garancia
- LG 27UN880-B - 27" IPS ERGO - 3840x2160 4K - 60Hz - DisplayHDR 400 - USB Type-C - AMD FreeSync - Mac
- Dell Latitude 7410 karbon i7 10610U, 16GB RAM, SSD, jó akku, számla, 6 hó gar
- ÁRCSÖKKENTÉS Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730
- BESZÁMÍTÁS! ASUS ROG Strix RTX 2080Ti 11GB videokártya garanciával hibátlan működéssel
- iKing.Hu - Apple iPhone 14 Pro Max Stílusos erő, Pro kamera rendszerrel! 128GB - 3 hónap gari!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
ekkold

