Teknologiska platformar

Uppkopplade elektronik

Munitek har en plattform för tillverkning av Internetuppkopplad elektronik. Enheterna är små, kommunicerar trådlöst sinsemellan, är mycket energieffektiva (10 år på klockbatteri), och har programvara som uppdaterar på distans:

Datahantering och beräkning

Munitek har ett system för central datalagring, monitorering och prognostisering. Plattformen är enkel och skalbar och bygger på moderna öppna teknologier för uppkopplade enheter:

Tillsammans ger dessa teknologival tillgång många färdiga och välbeprövade programvarukomponenter.

Teknologiska val

Munitek slipper föråldrad teknologi (legacy). Vi har baserat oss på den senaste kunskapen inom fältet och egna och andras direkta erfarenheter. Våra delägare har länge arbetat med processorer från norska Nordic Semiconductors, realtidsoperativsystemet Zephyr, och uppstarthanteraren MCU Boot. Detta är beprövad teknologi som förknippas med just ultraenergieffektiva tillämpningar och säker uppdatering på distans.

Ett viktigt val är vårt fokus på programmeringsspråket Rust. Inom utveckling av inbyggda system har programmeringsspråket C (eller assembler, vilket C är en utveckling av) varit dominerande. C är ökänt för att vara svåranvänt och odefinierade beteenden är en källa till defekter. Rust är en utmanare som har väckt intresse, specifikt för att vara ett säkrare programmeringsspråk. Exempelvis har stora projekt som Linux-kärnan integrerat experimentellt stöd för Rust, och Google utvecklar ett helt nytt realtidsoperativsystem skrivet i Rust.

Detta teknologiska beslut placerar oss i framkanten av fältet, utan att vi därför behöver kompromissa med ingenjörsmässighet eller genomförbarhet. Även kostnaderna hålls låga genom att lösningen bygger på fri programvara och beprövad teknologi.

Det samma gäller besluten bakom vår dataplatform. Vi förlitar oss på för ändamålet specialutveckad teknologi, en Rabbit MQ-meddelandekö, PosgresSQL-databaser, applikationsutveckling och API:er i Rust, affärsberäkningar med Python och i skalbara containerlösningar där det behövs. På så sätt blir applikationsutvecklingen från Muniteks sida minsta möjliga och vi kan säkerställa hög prestanda och god säkerhet.

Tillverkning av hårdvaran

För tillverkning av alla komponenter, inklusive mönsterkort (kretskortet, s.k. PCB) och lådor, samt montering har Munitek hittills vänt sig till leverantörer i Polen, Kina eller Taiwan. Tillverkningen sker utifrån standardiserade processer där vi tillhandahåller detaljerade ritningar och komponentlistor. Vår bas är minst 1000 enheter per slutgiltig beställning.

Munitek värderar oberoende närproducerad infrastruktur. Att ha tillverkning i närområdet hade varit idealet, och det finns faktiskt alternativ även i Göteborgsområdet. Fråga oss.

Drift av tjänster

Alla Muniteks tjänster, externa och interna, körs i Sverige. Genom våra leverantörer har vi tillgång till datahallar i Stockholm, som hör till de mest energieffektiva i världen och drivs an 100 % förnybar energi.

Certifiering

Elektronik av detta slag kräver certifiering för:

Dessa utförs i särskilda laboratorier och behöver utfärdas för varje fysisk variant.

Fri programvara (öppen källkod)

Standardmodellen för programvaruutveckling är proprietär programvara, vilket innebär att programmet förblir under kontroll av ägaren av upphovsrätten (ofta ett företag) och att användaren får rätt att använda det under en begränsande licens. Munitek arbetar med fri programvara3 (ibland kallat “öppen källkod”), vilkas licenser ger användaren betydande kontroll över programmet. Detta innefattar inte bara att använda programmet, utan också att få tillgång till dess källkod, ändra det, och att sprida programmet och dess källkod vidare till andra med eller utan ändringar.

Inom integrerade kretsar finns det stora fördelar med fri programvara, och mer specifikt ser vi att det är bättre för Munitek ju fler som använder och sprider vår kod. Kunderna är inte låsta till en enda leverantör. Munitek har expertisen, och kunderna vänder sig fortfarande direkt till oss. Vårt varumärke stärks av att fler använder just våra system.

De licenser vi använder på egen utveckling är GNU General Public License version 34 och GNU Lesser General Public License version 2.1, vilka är så kallade “copyleft”-licenser.5 I korthet innebär det att ingen kan sprida en förändrad version av vårt program utan att samtidigt sprida sina ändringar vidare på samma villkor. Detta garanterar att eventuella förbättringar hela tiden kommer Munitek till del. Denna licens används av de flesta program inom GNU/Linux.

Kunderna får tillgång till källkoden och rätten göra ändringar, och undviker därigenom riskerna med leverantörsinlåsning. Kostnaderna hålls nere, eftersom både Munitek och kunderna kan återanvända delar av programvaran för fler tillämpningar.

Andra licenser

En affärsmodell som bygger på fri programvara är delvis okonventionell i förhållande till hur majoriteten av programvaruutveckling bedrivs. Men den är inte helt ny. Exempelvis använder alla teknikjättarna (Google, Facebook, Apple) sig av fri programvara i någon form. Det finns även många exempel på små- och medelstora företag som ägnar sig åt fri programvara (se MariaDB, NextCloud, med flera).

Inom inbyggda system finns ytterligare några vanliga licenser. MCUboot, Zephyr RTOS, NuttX, och Tock OS är fri programvara (öppen källkod) licensierade under Apache License, version 2.0. Vissa även under MIT. Riot OS är fri programvara med licensen GNU Lesser General Public License version 2.1.


  1. Advanced messaging Queue Protocol↩︎

  2. PostgreSQL↩︎

  3. FSFE definierar fri programvara: https://fsfe.org/freesoftware/freesoftware.en.html↩︎

  4. GNU:s licenser: https://www.gnu.org/licenses/licenses.html↩︎

  5. GNU:s licenser: https://www.gnu.org/licenses/licenses.html↩︎