Vývoj embedded softwaru a firmwaru pro připojená zařízení
Od firmwaru v zařízení až po mobilní aplikaci, se kterou se páruje. Staví i testuje to jeden tým.
- C++
- Rust
- Linux
- Python
- REST
Co vyvíjíme
Firmware a software pro zařízení, který vyvíjíme
Zařízení selhávají potichu: zmeškané časové okno, baterie vybitá přes noc, aktualizace firmwaru, po které je polovina flotily k ničemu. Píšeme C++ a Rust, které běží přímo v zařízení, propojení přes Bluetooth s mobilní nebo desktopovou aplikací vedle něj i cestu, kterou data putují ze zařízení do vašeho cloudu. Naše vlastní aplikace DJI Mic Recorder komunikuje v telefonu s bezdrátovými mikrofony DJI přes Bluetooth: skutečná práce s konektivitou zařízení, ne laboratorní demo.
-
01
Firmware pro omezené platformy
Řídicí a aplikační firmware v C++ a Rustu, navržený tak, aby se vešel do omezené flash paměti, RAM i výpočetního rozpočtu.
-
02
Software pro zařízení na Linuxu
Aplikační a systémový software pro zařízení postavená na Linuxu, od bootu až po služby, na kterých produkt stojí.
-
03
Bluetooth a bezdrátová konektivita
Párování, streamování a ovládání mezi zařízením a jeho mobilní nebo desktopovou aplikací, tedy přesně to spojení, na kterém stojí naše aplikace DJI Mic Recorder.
-
04
Datové cesty ze zařízení do cloudu
Provisioning, telemetrie a konfigurace, které posílají data ze zařízení do vašeho backendu ve formátu, se kterým umí pracovat.
-
05
Aktualizace firmwaru v terénu
Mechanismy aktualizací navržené tak, aby přežily výpadek spojení i napájení, takže nepovedené vydání neznamená výjezd technika.
-
06
Logování, diagnostika a testovací přípravky
Diagnostika, díky které se vyznáte v zařízení, které je už u zákazníka, a testovací sestavy běžící proti skutečnému hardwaru.
Typické problémy, které řešíme
Rozhodnutí, která utvářejí produkt se zařízením
-
Vyplatí se Rust, nebo máme zůstat u C++?
Volíme podle komponenty, ne podle ideologie: C++ tam, kde to čeká stávající kód nebo SDK od výrobce, Rust tam, kde se u modulu vystaveného do sítě nebo dlouhodobě běžícího vyplatí paměťová bezpečnost.
-
Jak aktualizovat firmware, když už jsou zařízení u zákazníků?
Cestu k aktualizacím navrhujeme dřív, než první zařízení opustí budovu: postupné vydávání, kontrola integrity a záložní image, aby se z nepovedené aktualizace nestal hovor na podporu.
-
Prototyp funguje na stole, v terénu ne.
Testujeme proti hardwaru a rádiovým modulům, které skutečně nasadíte, za reálného napájení i rušení, místo abychom věřili chování, které obstálo jen na vývojové desce.
-
Na demu se Bluetooth spáruje, v běžném provozu padá.
Doděláváme opětovné připojení a ošetření chyb, které většina dem přeskakuje: ztracené spojení, aplikace odsunutá na pozadí a úsporné režimy jsou normální stav, ne výjimka.
Vlastní produkty
Vyvíjíme a provozujeme i vlastní software.
Produkty, které sami navrhujeme, vyvíjíme a provozujeme a které lidé denně používají. Vašemu projektu věnujeme stejnou péči.
-
Nahrávání zvuku přes Bluetooth
DJI Mic Recorder
Nahrává z bezdrátových mikrofonů DJI přes Bluetooth přímo do telefonu a zvuk máte plně pod kontrolou.
Nezávislá aplikace, nijak nespojená se společností DJI.
Jak pracujeme
Od oživení hardwaru po firmware v terénu
-
01
Určíme cíl
Upřesníme hardware, provozní omezení a to, co má zařízení stíhat v reálném čase, ještě než začneme psát kód.
-
02
Oživíme a stavíme
Nejdřív přijdou ovladače, boot a hlavní řídicí smyčka, testované proti skutečné desce, ne jen v simulátoru.
-
03
Propojíme a integrujeme
Bezdrátové spojení, doprovodná aplikace i cesta do cloudu vznikají a testují se společně, ne až dodatečně.
-
04
Postaráme se o celou flotilu
Aktualizace firmwaru, diagnostika a opravy pokračují i po spuštění, takže zařízení, která jsou už u zákazníků, dál fungují a zlepšují se.
Na čem stojí každá spolupráce
-
Jasný rozsah a odhad
Ještě před začátkem práce víte, co dostanete, kdy a za kolik.
-
Funkční software co nejdřív
Krátké iterace s výsledky, které si můžete prohlédnout a vyzkoušet.
-
Otevřená komunikace
Přímý kontakt s vývojáři, pravidelné informace o postupu a žádná překvapení.
-
Podpora po spuštění
Za to, co dodáme, ručíme i nadále.
Otázky a odpovědi
Časté dotazy
-
Navrhujete i hardware, nebo píšete jen software?
Píšeme firmware, řídicí software a konektivitu kolem něj. Vycházíme z desky, kterou už máte, nebo z té, kterou navrhuje váš hardwarový partner, a na rovinu řekneme, kde rozhodnutí patří specialistovi na elektroniku, místo abychom hádali.
-
Jak aktualizujete firmware, když je zařízení už v terénu?
Mechanismus aktualizací zabudujeme do produktu od začátku: podepsané image, postupné vydání nejprve na část zařízení a záložní verze, aby po nepovedené aktualizaci zařízení nezůstalo nepoužitelné. Co se hodí, závisí na konektivitě zařízení: Wi-Fi, Bluetooth přes telefon, nebo servisní nástroj po kabelu.
-
Co když se problém na zařízení ukáže až týdny po expedici?
Logování a diagnostiku zabudujeme do firmwaru hned od prvního dne: co zaznamenávat, kolik to stojí flash paměti a baterie a jak to dostat ze zařízení, ke kterému podpora nemůže připojit debugger. Právě to promění mlhavou stížnost z terénu v opravitelnou chybu.
-
Domluví se zařízení s mobilní aplikací přes Bluetooth?
Ano. Naše vlastní aplikace DJI Mic Recorder se v telefonu připojuje k bezdrátovým mikrofonům DJI přes Bluetooth a řeší párování, streamování i opětovné připojení. Je to přesně ta třída problémů, kterou musí vyřešit doprovodná aplikace k vašemu zařízení.
-
Co ovlivňuje cenu projektu embedded softwaru?
Hlavně složitost chování v reálném čase, jak sevřený je rozpočet paměti a napájení, kolik bezdrátových protokolů a integrací je ve hře a jestli mají být aktualizace a diagnostika zabudované od začátku. Úzce vymezená první verze na skutečném hardwaru bývá nejrychlejší způsob, jak zjistit, co bude stát zbytek.
Kontakt
Napište nám, jaké zařízení stavíte
Popište, co má zařízení umět, jaký hardware máte nebo vybíráte a jestli máte termín. Ozveme se s konkrétními dalšími kroky a s otázkami, které jsou pro váš produkt nejdůležitější.
- Co nejdříve se vám ozveme.
- Krátký hovor, ve kterém si ujasníme vaše cíle a rozsah.
- Písemná nabídka s odhadem. Nezávazně.
Zpráva odeslána!
Brzy se vám ozveme.
Co umíme
Další služby
-
Webové stránky
Rychlé weby, které obstojí ve vyhledávačích, srozumitelně vysvětlí, co děláte, a z návštěvníků udělají zájemce o spolupráci.
-
Webové aplikace
Zákaznické portály, interní nástroje, dashboardy a systémy pro řízení procesů na backendu, který zvládne skutečnou zátěž.
-
AI agenti a automatizace
AI agenti, integrace a automatizované procesy, které vašemu týmu uberou rutinní práci a spolehlivě běží v produkci, nejen v demu.
-
Desktopové programy
Multiplatformní desktopové aplikace pro náročné pracovní postupy, specializovaný hardware a vizualizaci dat.
-
Mobilní aplikace
Aplikace pro Android a iOS, od veřejných produktů v obchodech s aplikacemi po interní nástroje pro týmy v terénu.
-
Konzultace a architektura
Sběr požadavků, výběr technologií, revize architektury a plánování dodávky, abyste od prvního dne investovali do správného řešení.
-
Údržba a podpora
Aktualizace, opravy a nové funkce po spuštění – pro software od nás i pro systémy, které už provozujete.
-
Nevíte, která služba je ta pravá?
Popište nám svůj projekt a doporučíme vám správný postup, i kdybychom to neměli být my.