Embedded programiranje i IoT rješenja spremna za teren.
Firmware u C, C++ i Rustu za ESP32, STM32 i Nordic nRF mikrokontrolere - i sve s čim uređaj razgovara: radio veza, server, ažuriranja preko mreže i dashboard koji vaš tim zaista otvara. Od prototipa na eksperimentalnoj pločici do male serije koja radi bez nadzora.
- Izrada firmware-a u C, C++ ili Rustu - bare metal, FreeRTOS ili Zephyr, po mjeri projekta.
- Wi-Fi, Bluetooth, LoRaWAN ili mobilna mreža - prema dometu, energetskom budžetu i količini podataka.
- Potpisana ažuriranja preko mreže (OTA), s automatskim vraćanjem na prethodnu verziju ako ažuriranje ne uspije.
- Jedan tim za uređaj, server i dashboard - nema prebacivanja krivice na interfejsu.
Praznine projektujemo, a ne otkrivamo
IoT projekti rijetko padnu zbog senzora. Padnu u međuprostorima: uređaj koji ispadne s Wi-Fi mreže i više se ne vrati, ažuriranje koje obori pola flote, baterija koja je trebala trajati dvije godine, a ispraznila se za četiri mjeseca. Firmware i sisteme oko njega pišemo kao jednu cjelinu, da se te rupe isplaniraju umjesto da se otkriju na terenu.
Radimo s čipovima na kojima proizvodi zaista izlaze: ESP32 kad su bitni Wi-Fi ili Bluetooth i niska cijena po komadu, STM32 za upravljanje u realnom vremenu i mnogo periferija, Nordic nRF52 i nRF91 za Bluetooth i mobilnu mrežu uz malu potrošnju, te Arduino pločice za prototip koji možete držati u ruci već sljedeće sedmice. Na serverskoj strani: MQTT broker, backend za očitavanja i pravila alarma, i pregled flote sa stanjem uređaja i verzijama firmware-a.
Mi smo softverski studio, ne proizvođač elektronike: pišemo firmware, pravimo prototipe i oživljavamo pločice. Štampane ploče u seriji pravi proizvođač elektronike po vašem izboru, a mi mu predajemo produkcijski firmware i proceduru testiranja.
Kako radi
Šta povezani uređaj radi za vas
Tri stvari koje radi dobro napravljen sistem senzora, na primjeru hladnjača jednog distributera hrane.
-
Neko ostavi otvorena vrata hladnjače. Temperatura raste, a telefon menadžera zazvoni mnogo prije nego što roba bude u opasnosti - a ne tek sljedećeg jutra.
-
Senzor skoro sve vrijeme spava i budi se samo da pošalje očitavanje. Javljanje svakih 15 minuta umjesto svakog minuta pretvara mjesece baterije u godine.
-
Nova verzija firmware-a stiže do svakog senzora na daljinu. Ako ažuriranje na nekom uređaju ne uspije, on se vrati na staru verziju i radi dalje.
U praksi
Ilustrativni scenariji - vrsta posla koji radimo, ne studije slučaja klijenata.
Nadzor hladnjača za distributera hrane
- Problem
- Temperatura u hladnim komorama se dvaput dnevno upisuje ručno. Kompresor koji otkaže tokom noći otkrije se ujutru - zajedno s paletom pokvarene robe.
- Šta gradimo
- Senzori na bateriju s nRF52 svakog minuta šalju podatke preko Bluetootha na gateway, koji ih prosljeđuje serveru. Pravila alarma sa zadrškom, eskalacija SMS-om i mejlom, izvoz za HACCP kontrole i ažuriranja preko gatewaya.
- nRF52
- Zephyr
- BLE
- MQTT
- PostgreSQL
- SvelteKit
Povezivanje starijih proizvodnih mašina
- Problem
- Radionica ima mašine bez ikakvog mrežnog interfejsa. Niko ne zna stvarnu iskorišćenost, a održavanje se planira po kalendaru umjesto po radnim satima.
- Šta gradimo
- Mala ESP32 kutija na svakoj mašini očitava strujna kliješta, broji radne sate, lokalno čuva podatke kad Wi-Fi padne i šalje ih serveru u pogonu. Dashboard prikazuje iskorišćenost po smjeni i označava mašine kojima je potreban servis.
- ESP32
- ESP-IDF
- C
- MQTT
- TimescaleDB
- Grafana
Senzori nivoa u rezervoarima bez struje i bez Wi-Fi-ja
- Problem
- Rezervoari za vodu na više lokacija provjeravaju se tako što neko ode do njih. Na rezervoarima nema ni struje ni Wi-Fi mreže.
- Šta gradimo
- Ultrazvučni senzori nivoa na STM32 s LoRaWAN radijom, u dubokom snu između mjerenja, javljaju se svakih 30 minuta i ranije kad se nivo brzo mijenja. Energetski budžet se izračuna unaprijed i provjeri na radnom stolu.
- STM32
- LoRaWAN
- C
- ChirpStack
- Node.js
- PostgreSQL
Šta dobijate
- Izvorni kod firmware-a u vašem repozitorijumu, s reproducibilnim toolchainom
- Bilješke o oživljavanju pločice: raspored pinova, napajanje i neobičnosti na koje smo naišli
- Funkcionalni prototipi na razvojnim pločicama ili vašoj ploči, flešovani i testirani
- Ažuriranja preko mreže: potpisani buildovi, postepeno puštanje i vraćanje na staru verziju
- Pisana specifikacija svake poruke koju uređaji šalju
- Dashboard flote: posljednji kontakt, signal, baterija, verzija firmware-a i alarmi
- Izmjeren energetski budžet i procjena trajanja baterije
- Procedura flešovanja i testiranja za vašeg proizvođača
Tipičan stack
- C
- C++
- Rust (Embassy)
- ESP-IDF
- FreeRTOS
- Zephyr
- STM32Cube
- nRF Connect SDK
- Arduino
- PlatformIO
- MQTT
- LoRaWAN
- BLE
- TimescaleDB
Česta pitanja
Vašeg pitanja nema na listi? Pitajte nas direktno - odgovaramo u roku od dva radna dana.
Postavite pitanjeKoliko košta razvoj IoT rješenja ili embedded softvera?
Zavisi od toga koliko je novo. Glavni faktori su broj senzora i interfejsa, zahtjevi za radio vezu i potrošnju, da li vam trebaju ažuriranja preko mreže i backend za flotu, i da li uređaj mora proći radio certifikaciju (mi pripremamo firmware, a testiranje radi akreditovana laboratorija). Poslije 30-minutnog uvodnog poziva dobijate pisani plan i procjenu s fiksnim obimom - obično s prototipom kao zasebnom fazom.
Koliko traje izrada IoT prototipa?
Najviše zavisi od hardvera. Gotovi senzori na razvojnoj pločici idu brzo; vlastita ploča traži dizajn, izradu i obično jednu reviziju, a svaki krug sam po sebi traje sedmicama. Planiramo u fazama - dokaz koncepta na razvojnim pločicama, pa vaš hardver, pa mala serija - a pisani plan daje datum za svaku fazu.
ESP32, STM32 ili nRF - koji mikrokontroler izabrati?
ESP32 za Wi-Fi ili Bluetooth uz nisku cijenu po komadu, kad energetski budžet dozvoljava Wi-Fi. STM32 za upravljanje motorima, precizno vrijeme, mnogo periferija ili industrijski temperaturni opseg. Nordic nRF52 za Bluetooth uz vrlo malu potrošnju, nRF91 za LTE-M ili NB-IoT. Dostupnost i certifikovani radio moduli takođe utiču. Dobijate preporuku s pisanim obrazloženjem.
Možete li preuzeti postojeći firmware ili Arduino prototip?
Da. Počinjemo kratkim auditom: projekat mora da se builda reproducibilno, a onda mjerimo šta kod zaista radi - memorija, potrošnja, ponašanje kad mreža padne. Arduino prototip je sasvim dobar početak; zadržimo ono što radi, a ostatak prebacimo na postavku spremnu za proizvodnju, uz ažuriranja preko mreže, logovanje i watchdog.
Da li pravite i hardver?
Pravimo prototipe, oživljavamo pločice, pišemo produkcijski firmware i pregledamo šeme iz ugla firmware-a. Dizajn štampanih ploča za seriju, kućišta i montažu radi hardverski partner ili proizvođač elektronike. Mi im dajemo produkcijsku sliku firmware-a, proceduru flešovanja i testiranja i način da svaki uređaj dobije vlastiti identitet i ključeve.
Recite nam šta vaš uređaj treba da radi.
Šta mjeri, gdje stoji i odakle dobija struju - to je dovoljno za početak. Odgovaramo u roku od dva radna dana sa linkom za 30-minutni uvodni poziv.
Pokrenite IoT projekat