Embedded i IoT

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.

  1. 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.

  2. 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.

  3. 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.

Hladnjača 2
Temperatura 3,4 °C Sve u redu
Granica 6 °C
sada Hladnjača 2: 6,8 °C Vrata otvorena 9 minuta
sada Hladnjača 2: 6,8 °C Vrata otvorena 9 minuta
Sistem senzora u hladnjači: otvorena vrata pokreću upozorenje na telefonu, rjeđe javljanje produžava trajanje baterije s mjeseci na godine, a ažuriranje firmware-a stiže do cijele flote, uz jedno bezbjedno vraćanje na staru verziju.

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 pitanje
Koliko 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