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.

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

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

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

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

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

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

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.

Začít projekt

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 bude následovat

  1. Co nejdříve se vám ozveme.
  2. Krátký hovor, ve kterém si ujasníme vaše cíle a rozsah.
  3. Písemná nabídka s odhadem. Nezávazně.

Sídlo

Děčínská 552/1, 180 00 Praha 8

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ěž.

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