år
Ten years of Adding Intellectual Value
NR 1 2016 · ÅRGÅNG 7 · UTGES AV ADDIVA
ADDERA
ADDERA Address Kopparbergsvägen 8 722 13 Västerås
Telefon 021- 471 21 50
Hemsida www.addiva.se
Ansvarig utgivare Pamela Christensson pamela.christensson@ addiva.se
Grafisk form Victoria Ben-Chivar
Foto Victoria Ben-Chivar
Skribenter
Addiva firar 10 år!
V
älkommen till vårt jubileumsnummer av Addera. I år fyller Addiva 10 år och det ska vi fira under 2016. Det första avstampet är vår jubileumsfest den 14 april.
I detta nummer får du läsa om Addivas resa där grundaren Björn Lindström berättar hur han och Mikael Sandberg startade Addiva 2006 och utvecklingen framåt. Addiva ska fortsätta hjälpa företag att utveckla sin affär med tekniska lösningar som gör nytta för människor och skapar affärer. Du får även ta del av intressanta artiklar om allt från Internet of Things till hur du bygger en drönare och mycket mera. Linux firar i år 25 år och på sidan 8 kan du läsa om Yocto och Linux för inbyggda system. Du kan även läsa om verktyget Yakindu och skapande av tillståndsmaskiner på sidan 13. Vid design av en ny produkt ställs man inför många frågeställningar, såsom vilken typ av standarder som bör användas, vilken typ av tester som krävs, samt vilken typ av teknik som måste tillämpas för CE-märkning och Elektromagnetisk kompatibilitet (EMC). En CE-märkning visar att produkten har utformats i överensstämmelse med de direktiv och krav som krävs för att kunna säljas inom EU. Detta kan du läsa mer om på sidan 14.
Björn Lindström Carl-Johan Aberger Carina Wigholm Fredrik Uppsäll John Andersson Kjell Iwarson Martin Friberg Pamela Christensson Tania Lazaro Thomas Otnes
Internet of Things, IoT, Vad är det? Hur ska vi möta utmaningar som hur man skapar ett ramverk där system kan koppla upp sig och nyttja en gemensam molnteknik? På Addiva har vi i flera projekt nyttjat molnteknik och responsiv design för att analysera och visualisera sensordata. En inblick i detta får du på sidan 11.
Tryck
Trevlig läsning!
Vad kan vi lära oss av startups och hur identifierar vi om ett projekt kan dra nytta av Lean-startup metodiken? Mer om detta kan du läsa på sidan 21. Och är du intresserad av drönare så får du ta del av en snabbguide på sidan 19 om hur du bygger en multicopter. Vi presenterar även några av alla hjältar vi har på Addiva och varför de arbetar här.
Navii
“LOREM IPSUM DOLOR” CARINA WIGHOLM VD Addiva AB
INNEHÅLL
10 YEARS
4
GRUNDARENS ORD
6
ADDIVA FRAMÅT!
7
YOCTO 8 ÄR DU DRABBAD AV VISUAL BASIC? INTERNET OF THINGS
9
11
YAKINDU 13 EMC IN PCB DESIGN NÖRDAR TIPSAR!
ADDERA
14 15
VARFÖR JOBBAR DU PÅ ADDIVA?
17
PRODUKTION AV DRÖNARE. DIY
19
LEAN-STARTUP
21
NYA PÅ ADDIVA
23
3
g och r ett visar att
10 YEARS OF ADDING INTELLECTUAL VALUE 12
LördAg 21 MAj 2011
– Vi har fått en tyngre roll och många lyckade referenser. Vi har kommit långt, men måste samarbeta mer, höja kvaliteten och entusiasmen. Och framförallt berätta om att många får jobb efter studier hos oss, avslutar Anders Martinsen.
Stockholmskontoret öppnas.
■ Hotell Västerås på Vasagatan får ny ägare. Från den 1 juni tar Lena Sandgren över. Hon driver medlemsägda kosmetikbutiken Parelle i Punkt. Efter fyra år vill ägarna Tobias Härnström och Johan Dupont koncentrera sig på sina andra verksamheter, ett städbolag och The Sportsbar.
pengar &jobb
– Målet var att lyfta beläggningen och skapa ett bra varumärke. Det har vi gjort och glöden har svalnat litet, säger Tobias Härnström. Han har nu två små barn och konstaterar att i det här skedet av livet är det svårt att driva en dygnetruntverksam-
het som ett hotell. Lena Sandgren fortsätter med Parelle. – Men jag vill ha ett ben till att stå på och en ny utmaning. Hennes föräldrar drev ett frukosthotell i Avesta. Hon tänker själv göra allt från Mette Holck vd-skap till städning.
automation Automation finns överallt i ditt liv. I Mälardalen arbetar 15 000 inom området. Inom de närmaste åren behöver företagen anställa 1 500 ingenjörer och tekniker. I en serie reportage ger VLT automation ett ansikte.
Felmeddelande skickas till tågets dator
Som i sin tur larmar Addtrack
nte ork ång till skraftiga
r ersätts ch övriga som man aturligt tionellt demisk lens Asien och
Hotell Västerås får ny ägare
Redaktör: Mette Holck 021–19 92 76 mette.holck@vlt.se
Teknisk
Alla data från tåget analyseras på Addiva i Västerås
Ett tåg kan ha 12 000 mätpunkter
Fel med dörrarna
Reparation
Söka och identifiera problem
Planering
Driftövervakning
Fakta: MdH
Verkstad Operativ
Systemet föreslår lämpliga åtgärder
Datalagring Underhåll
Projekt
Types
X2000
Man kan kolla vad som hänt på ett tåg en viss dag...
Göran Ekström tillsattes som VD All världens tågdoktorer finns här Condition data
2012 ska MDH var en nationellt ledande högskola med stor lokal/global samverkan, en högskola organiserad enligt fyra, än så länge preliminära, akademier: 1. Akademin för utbildning, kultur och kommunikation 2. Akademin för hälsa och välfärd 3. Akademin för miljö, ekonomi och arbetsliv 4. Akademin för produkt- och systemutveckling samt innovation
Med Addtrack kan man gå in och kolla hälsoläget på enskilda tåg oavsett i vilken del av världen de finns.
Man kan se vad som är fel i ett visst tåg.
Juni
1 2
3
4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29 30
Tåg
12 Juni
Bromsar Dörrar Kompressor Ljus Juni
Dörrarna funkade inte när det var för kallt
RD1 RD2 RD3 RD4 RD5 RD6
och jämföra olika data med varandra.
Eller kolla om samma fel förekommer i olika tåg
Addtracks analytiker sitter i Västerås och har koll på tåg i Indien Oavsett var i världen ett tåg befinner sig håller Addivas system Addtrack koll på dess hälsotillstånd. Björn Lindström på företaget kallar det för intelligent diagnostik. Det kan lika gärna handla om ett Reginatåg mellan Västerås och Norrköping som ett godståg i södra Indien. – Systemet är proaktivt,
vsel. på sulter i DH ha
berättar han. Addtrack larmar om det uppstår något som avviker från det normala och kan föreslå en lämplig åtgärd. – Att vänta till felet uppstår blir både dyrt och innebär ofta långa stillestånd. Det är något som järnvägsoperatörer absolut vill undvika.
fastställda servicetillfälle. Tåget behöver inte tas ut ur trafik mer än vad som redan var planerat. Björn Lindström menar att moderna tåg är mycket mer än bara fordon, de har blivit allt mer komplicerade och är i dag mer som processindustrier på hjul.
När man vet att det är något som krånglar kan man planera in en översyn, och eventuell reparation, vid nästa
Addtrack består av olika delar – mätning, data, information, kunskap och åtgärd. Mätutrustning finns ombord
på tåget, resten hanteras av Addiva i Västerås, där man har sina servrar och utbildad personal. Att mäta olika saker, Addtrack tar emot data från 12 000 mätpunkter i varje tåg, är inte direkt teknologi på hög nivå. Konsten är att hantera all information, analysera, dra de rätta slutsatserna och föreslå att kunden vidtar lämpliga åtgärder.
– Kunder som utnyttjar systemet kan förhindra ett till två stopp per fordon och år, säger Björn Lindström. Det är en mycket stor besparing. Man slipper brandkårsutryckningar och kan minska antalet verkstadsbesök. Addiva har ett nära samarbete med tågtillverkaren Bombardier i Västerås och dagens Addtrack är ett resultat av flera års gemensamt arbete. Men både tågtillver-
kare och järnvägsoperatörer har nytta av systemet. Upptäcker man till exempel ett systematiskt fel kan det handla om ett konstruktionsfel som ska rättas till i fabriken. Då är det tågtillverkaren som får informationen. Om bara ett eller några tåg har en viss typ av problem, och inte andra, då är det en uppgift för järnvägsoperatörens serviceverkstad. Systemet kan alltså skilja på sys-
VLT skriver om diagnostiksystemet som Addiva utvecklar.
Våra värderingar får medial uppmärksamhet.
enakvager det r vems ikael
var något tbrändnsch kan
vsel,
T.ex reparation och att hitta ersättningståg
Händelselogg
Händelse
Regina
vi konkurrera på världsnivå”
IT-tjänsundens benet. har det inneution, r: å utlopp
Systemet föreslår lämpliga åtgärder
Uppföljning
5 års jubileum.
Björn Lindström och Mikael Sandberg, Addiva
Och det verkar fungera. Sedan Addivas start för två år sedan har företaget växt från noll till tjugo anställda. Dessutom har de i samarbete med beteendevetare utvecklat produkten KP – en mjukvara som kan användas för att mäta och utveckla kompetens i en organisation. Addiva står för tekniken, Inovator AB för modellen, och inom kort kommer KP att användas av till exempel Wenströmska gymnasiet i Västerås – i syfte att inspirera ungdomar till rätt vägval i livet. Apropå vägval så är Martin Söderström Addivas senaste rekrytering. Han klev in i gänget med, just det, akvarier i bagaget. 2007 lade han ner sitt företag EnEye. Då ringde Addiva, som såg nya användningsområden för den
Addiva påbörjar samarbete med Mälardalens Högskola.
Addiva första året.
07-10-12 13.29.03
Konferens i Riga Addiva blir 50 personer
Ludvikakontor öppnas
Dublinresa
Utveckling av Leine & Lindes tillståndsbaserade underhållssystem som fick uppmärksamhet.
2006 2007 2008 2009 2010 2011 4
ADDERA
Addiva startar forskningsprojekt inom UWB radar.
år
Ny ”look & feel” på grafisk profil
Vi slår rekord i antalet kvinnor på Addiva!
Addiva introducerade målstyrning med balanserade styrkort
Konferens i Malaga
Addiva anställer 16 personer
2012 ADDERA
Ny VD Carina Wigholm
2013
10 år! 65 personer i vår konsultverksamhet och i koncernen sammanlagt 105 anställda
2014
Addiva gick med i Sveriges Strategiska Innovationsprogram – IoT Sverige.
2015
2016 5
GRUNDARENS ORD
F
ör drygt 10 år sedan arbetade jag på ett globalt bolag där det i min tjänst ingick att köpa in konsulttjänster. Under den här tiden hade jag en bra bild av aktörerna på teknikkonsultmarknaden och gjorde affärer med många av dem. Det jag kände var att få, om ingen, hade fokus på eller förståelse för kundens affär. De fokuserade i första hand på sin egen affär vilket ofta resulterade i problem. Problem som att fel byggdes in i leveransen pga. bristande förståelse för vad slutkunden förväntade sig. Det resulterade i att vi var tvungna att byta konsultleverantör ofta.
Mikaels enastående kunskap inom teknik och mjukvaruutveckling som gav goda kanaler in i forskningsvärden, kombinerat med mina egna kunskaper inom affärsutveckling och försäljning, hade vi bra förutsättningar. Den 1 januari 2006 startade vi verksamheten och började leverera våra tjänster. Vi fick en väldig bra respons från kunderna.
ADDIVA FOKUSERAR PÅ KUNDENS AFFÄR Det gällde då och det gäller idag. Genom att se och förstå affären kan Addiva tillföra affärsvärde som stärker kundens affärer gentemot slutkund. Att våga tacka nej till en affär som inte kommer att gagna kunden är en självklarhet. Det är bra för kunden och det är bra för oss då det höjer vårt anseende och skapar trygghet. Första gången vi stötte på detta var under vårt första år. Vi var inte fler än 3 personer här vi tackade nej till ett jobb på 3 miljoner. Vi gjorde det eftersom vi såg att kunden skulle investera i något som var bortkastat. Istället lyssnade vi på vad kunden egentligen vill få ut för värde av leveransen och därefter omarbetades lösningsförslaget. Det gjorde att kunden kunde säkerställa sina krav samtidigt som kostnaden minskade med 2,8 Miljoner kronor. Den kunden har vi kvar än idag.
i samband med att konsulten slutar och därmed skapas ett osunt beroende och i flera fall utnyttjades den situationen av konsultbolag med en överprissättning som följd. Så varför inte göra tvärtom - skapa oberoende? Vi började tidigt att arbeta fram en modell där kundens oberoende gentemot oss som leverantör stod i fokus. Vi fick en enastående respons från kunderna som frågade oss varför vi inte hade presenterat detta tidigare. Nu kunde vi börja göra affärer på riktigt. Medarbetare är människor. Från den utgångspunkten så kan vi även påstå att medarbetare har känslor, tycker och tänker och har ett socialt beteende. Dessutom vill de trivas och känna mer eller mindre trygghet. Med den insikten var det naturligt för oss att arbeta aktivt med personalen som en kritisk framgångsfaktor. Vi definierade tre mål; att varje medarbetare ska ha kul, känna trygghet och få personlig utveckling. Idag är det en del av företagskulturen och en viktig del av företagets grundvärderingar. För mig betyder det mycket att komma till jobbet och känna att jag trivs och det är roligt. Det gör att jag presterar mycket bättre och är grunden för mitt kreativa tänkande. Att utvecklas som människa och ständigt öka min kompetens ger mig förutsättningar för innovation och bra lösningar. Många människor är beroende av trygghet och säger att det är basen för allt de gör. Därför jobbar vi medvetet med att kontinuerligt förbättra förutsättningarna för våra medarbetare. I praktiken fattas beslut nära de anställda och vi utgår ifrån människan vid förändringsarbeten. Om alla trivs på jobbet gör de ett bra jobb, som våra kunder märker!
VARJE MEDARBETARE SKA HA KUL, KÄNNA TRYGGHET OCH FÅ PERSONLIG UTVECKLING.
Björn Lindström och Mikael Sandberg, 2006
I och med detta upptäckte jag att det fanns en ny affärsmöjlighet som var lätt att genomföra. Kundens affär i fokus! När bolaget jag då arbetade på blev sålt var det hög tid att göra något annat. Det blev Addiva. Jag träffade Mikael Sandberg som då var doktorand vid Mälardalens Högskola inom programmeringsspråk och kodanalys och vi beslutade oss för att starta upp ett teknikkonsultföretag som fokuserar på att leverera tjänster som bidrar till att stärka kundens affär. Med
6
OBEROENDE - EN SUND AFFÄRSMODELL Under de tidiga åren träffade vi många kunder som var väldigt tveksamma att använda konsulter vid utveckling av deras produkter. Argumentet för det var att all kunskap går ut genom dörren
En fråga som ständigt återkommer vid ADDERA
i konkurrera på världsnivå”
l.
Vi hade aldrig ett sådant konkret mål eftersom vi sa att vi växer i takt med våra kunders förfrågningar. Det är kunden som bestämmer – gör vi ett bra jobb så växer vi.
ter i H ha
akvadet ms el
jänsens net. r inneon,
lopp
något ndh kan
ALLA KUNDER
kunder kommer tillbaka och att vi än idag inte har någon kund som inte har kommit tillbaka till oss. När jag blickar framåt ser jag med spännig på hur Addiva kommer att utvecklas tillsammans med våra kunder. Text: Björn Lindström Koncernchef
ÅTERKOMMER
Björn Lindström och Mikael Sandberg, Addiva
Björn Lindström och Mikael Sandberg, 2007, Provins 19
Och det verkar fungera. Sedan Addivas start för två år sedan har företaget växt från noll till tjugo anställda. Dessutom har de i samarbete med beteendevetare utvecklat produkten KP – en mjukvara som kan användas för att mäta och utveckla kompetens i en organisation. Addiva står för tekniken, Inovator AB för modellen, och inom kort kommer KP att användas av till exempel Wenströmska gymnasiet i Västerås – i syfte att inspirera ungdomar till rätt vägval i livet. Apropå vägval så är Martin Söderström Addivas senaste rekrytering. Han klev in i gänget med, just det, akvarier i bagaget. 2007 lade han ner sitt företag EnEye. Då ringde Addiva, som såg nya användningsområden för den
intervjutillfällen är vilken tillväxttakt Addiva ska ha. Frågor som; hur stora är ni om 5 år? Hur många ska Addiva bli?
Även om både tjänsteutbudet och organisationen har växt och förändrats så är våra värderingar desamma. Jag tror att det är därför vi växer för att alla våra
ADDIVA FRAMÅT! 07-10-12 13.29.03
FRAMTIDEN Past
J
ust nu befinner vi oss i en distruptiv värld där alla förändringar i såväl affärsmodeller och konkurrens som i tekniska lösningar öppnar för nya möjligheter. Vår förmåga att snabbt anpassa oss till marknadsförändringar kommer att bli ännu viktigare framåt. Addiva jobbar med tekniska lösningar som gör nytta för människor och som skapar affärer för företag. Då vi står inför ökad automatisering och digitalisering kommer vi fortsätta att tillsammans med våra kunder utveckla lösningar med koppling till såväl IT som elektronik. Det här kommer att ställa högre krav på förståelse för såväl teknik och miljö som ekonomi och människors beteende. Vi ser idag ett stort intresse av lösningar kring dataanalys och digitaliserad produktion. Att koppla upp hela fabriken, att stoppa in och plocka ut data i moln, kommer att öka de kommande åren. Möjligheter med ADDERA
Future
simulering kommer att kunna utnyttjas bättre och Internet of things blir verklighet med produkter som talar om hur de ska tillverkas. Addiva har under många år utvecklat mjukvarulösningar för insamling och analys av stora datamängder samt Life Cycle Cost management. Genom att använda vårt strukturkapital och återanvända lösningar bidrar vi till att skapa högre värde för både oss och för våra kunder. Framtiden kräver starkt sälj- och marknadsfokus för att hinna fånga upp och snabbt anpassa oss till marknadsförändringar. Samtidigt ska vi bli effektivare genom att använda digitala kanaler och bygga vårt varumärke.
inte finnas. Därför är det viktigt att vi varje dag arbetar med att frigöra varje medarbetares engagemang och kraft, att skapa ett innovativt arbetsklimat där ”the wisdom of the crowd” lever och frodas. Om vi alla trivs på jobbet gör vi ett bra jobb och då kommer detta att märkas av våra kunder. Vi vill vara våra kunders förstahandsval som affärspartner. Nu tar vi sikte på att utveckla vår affär och verksamhet för att nå lönsam tillväxt genom ”Adding Intellectual Value” varje dag! Text: Carina Wigholm VD på Addiva AB
Addiva ska fortsätta att utvecklas tillsammans med våra kunder och medarbetare. Utan våra engagerade medarbetares dagliga insats skulle Addiva
7
YOCTO Upstream Project Releases
Local Projects
SCMs (optional)
Openembedded Architecture Workflow Upstream Source
Output Packages
Metadata/Inputs
Process steps (tasks)
Build system
Output Image Data
Source Mirror(s)
User Configuration Metadata (.bb + patches) Machine (BSP) Configuration Policy Configuration
Patch Application
Configuration / Compile / Autoreconf as needed
Y
octoprojektet är en arbetsgrupp under Linux Foundation som skapades 2010 för att skapa och förbättra verktyg för utvecklare av inbyggda system, vilka nyttjar Linux distributioner för inbyggda system. Som mycket rörande Linux-sfären och öppen källkods-kollektivet så finns det missförstånd om vad saker är och ett missförstånd rörande Yocto är att Yocto är en Linux distribution, vilket inte är fallet. I år firar Linux 25 år och under dessa år har många myter och många distributioner uppstått. För arbetsdatorer och servrar finns det möjlighet att få stöd ideellt och finansiellt för uppbyggande och underhållande av en Linuxdistribution. Motiveringen för att skapa en distribution för inbyggda system är också god, men diversifieringen är än större inom inbyggda datorsystem än arbetsdatorer och servrar. För att göra svårigheten större så är de enskilda systemen oftast betydligt svagare och fattigare på resurser som RAM, CPU-kraft och förvaring som HDD eller Flash. Detta gör att det inte finns lika mycket plats för de mängder kod en generell distribution på en PC eller server kan ha installerad. Svaret är att skapa specialiserade distributioner för de enskilda inbyggda systemen, något som varit kostsamt och besvärligt. Det är
8
Package Feeds
Source Fetching
.rpm Generation Output Analysis for package splitting plus package relationships
.deb Generation
QA Tests
.ipk Generation
Image Generation
Images
SDK Generation
Application Development SDK
»» Yocto Project Development Environment
för detta ändamål som Yocto kom till, för att underlätta skapandet, underhållet och arbetet med specialiserade Linuxdistributioner för inbyggda system.
vilken typ av distributions pakethantering som är bästa valet för det aktuella inbyggda systemet. Bilden över arkitekturen ger en övergripande bild av hur Yocto fungerar.
I utvecklingstermer är Yocto en vidareutveckling av tidigare system bland vilka ett par antogs som delar av Yoctos verktygspaket. 2004 skapades BitBake av Chris Larson för att genom nyttjande av konfigurationsrecept kunna skapa en cross-compiler toolchain speciellt för den önskade hårdvaruplattformen. Den används för detta ändamål i Yocto. Larson grundade senare tillsammans med ett par andra OpenEmbedded projektet. Detta projektet antogs som byggsystemet i Yocto, under namnet Poky. Precis som Yocto är ett resultat och en förfining av tidigare öppen källkodsprojekt så är också OpenEmbedded och BitBake det. Med Yocto kan inbyggda projekt, som förr var allt för små, numera kunna fundera på att skräddarsy en Linuxdistribution för sitt system för att öka stabiliteten och minska systemets storlek i stället för att väga att det gör man öka de tillgängliga hårdvaruresurserna för att få plats med ett mera generellt anpassat OS för inbyggda system. Med Yocto har underhållet av en specialiserad distribution sjunkit markant. Det är dock fortfarande så att det innebär en ansenlig ansträngning för att lära sig Yocto och Linux samt välja
Det finns många val och konfigurationer att göra och än mera data att hålla reda på för att kunna skapa sin distribution samt att underhålla den samma. Många val ger ökad komplexitet och förenat med nyttan ger detta utrymme för experter att växa fram. Ett sådant expertföretag är Timesys, vilka är bidragande medlemmar av Yocto-projektet och också utvecklare av ett eget tilläggssystem kallat LinuxLink underlättar arbetet LinuxLink med Yocto och syftet att ta fram och underhålla en anpassad Linuxdistribution. Sedan hösten 2015 är Addiva samarbetspartner med Timesys med syftet att stärka Addiva rörande Yocto och Linux för inbyggda system. Text: Thomas Otnes Utvecklare på Addiva Software and Embedded Services
ADDERA
ÄR DU DRABBAD AV VISUAL BASIC? Till skillnad från den för sin tid mycket omtalade Millenniebuggen, där datorprogram och system som lagrade årtal med två siffror hotade att sluta fungera efter 31 december 1999, så har vi nu en annalkande kris i det tysta. Krisen rör system kodade i det förlegade och pensionerade programmeringsspråket Visual Basic. Anledningen till krisen är huvudsakligen att stödet för Visual Basic i Windows i praktiken håller på att eroderas bort.
BAKGRUND
NULÄGE
Under sin storhetstid på 1990-talet var Visual Basic ett populärt programmeringsspråk och dess raison d’être var att göra grafiska windowsapplikationer och rapid prototyping. Eftersom språket hade nybörjare och amatörer som målgrupp så kunde erfarna utvecklare snabbt nå imponerande resultat.
Det kanske kommer som en fullständig överraskning, men faktum är att det fortfarande finns mängder av affärskritiska applikationer skrivna i Visual Basic 6.0. Det är också ett av huvudskälen till varför många företag har svårt att överge det snart 15 år gamla operativsystemet Windows XP, då detta operativsystem är det sista med fullt stöd för klassisk Visual Basic.
Mellan 1991 och 1998 kom Visual Basic med tillhörande utvecklingsmiljöer, komponentbibliotek och runtimes ut i flera versioner, där version 6.0 var den sista. Visual Basic 6.0 ersattes 2002 av Visual Basic .NET, även kallat VB 7.0, som är att betrakta som ett helt nytt programmeringsspråk som har mer gemensamt med C# än med tidigare versioner. Visual Basic .NET vidareutvecklades sedan till Visual Basic 2015, som är ett i allra högsta grad levande och modernt programmeringsspråk. Problemet är inte nya Visual Basic .NET, utan de gamla versionerna av Visual Basic till och med version 6.0. Dessa versioner benämns hädanefter klassisk Visual Basic. Microsoft slutade supporta alla versioner av klassisk Visual Basic år 2008, även om man fortfarande garanterar att VB runtime, som behövs för att köra Visual Basic-applikationer, kommer fortsätta fungera under Windows 7, 8 och 10. Så vad är problemet? VB runtime fortsätter fungera och det är väl ingen som använder ett nästan 20 år gammalt språk, eller?
ADDERA
Jag har också stött på utveckling av nya applikationer i klassisk Visual Basic 6.0 så sent som 2010 och gör man en sökning efter jobbannonser så ser man att expertis inom klassisk Visual Basic fortfarande efterfrågas. Bara under senaste året har minst två kunder kontaktat Addiva angående affärskritiska applikationer gjorda i klassisk Visual Basic. Följaktligen är klassisk Visual Basic långt ifrån dött.
KOMPATIBILITETSPROBLEM MED WINDOWS 7 OCH SENARE Åter till grundproblemet. Även om Visual Basic-applikationer, som använder basfunktionalitet, fortfarande går att köra på Windows 7, 8 och 10 så finns följande problem: 1. Majoriteten av Visual Basic-applikationer är helt beroende av ovanliga, och ofta gamla, COM-komponenter, ActiveX-komponenter eller kontroll-
bibliotek. Att få dessa att fungera på Windows 7 och senare är ofta en stor utmaning, speciellt då dessa operativsystem har strängare säkerhetsmodeller där User Account Control (UAC) vanligtvis förvärrar problemen. Windows i 64-bitar skapar också problem. 2. Enligt Microsoft ska utvecklingsmiljön för Visual Basic 6.0 fungera på Windows 7 och senare, men enligt praktiska erfarenheter fungerar det är långt ifrån problemfritt. Speciellt installationen är ett problem. 3. Därtill är det efter 20 år svårt att få tag i resurser som kan klassisk Visual Basic och efterfrågan är för låg för att nya personer ska utbildas.
LÖSNINGAR Vad är lösningen? Vad ska man göra med gamla Visual Basic-applikationer? Som vi har sett så är det en dålig lösning att lämna programmen som de är, åtminstone långsiktigt, eftersom stödet för Visual Basic vittrar bort. Redan nu kan många applikationer inte köras på Windows 7 och senare. Det finns tre lösningar: 1. Migrera till .NET – med ett migreringsverktyg som översätter VB6kod till motsvarande .NET-kod 2. Bygg ut med .NET – Ny funktionalitet görs i .NET och kopplas ihop
9
förväntat.Omskrivningar har ingen direkt kundnytta.
med det ursprungliga VB-programmet med COM interop. 3. Skriv om för hand i .NET
MIGRERA TILL .NET Alternativ ett, migrera till .NET, låter vid en första anblick lovande och det finns många migreringsverktyg som säger sig göra jobbet, till exempel från Microsoft. Ärligt talat, så har dessa en omöjlig uppgift. De kan hjälpa lite, men det finns många inneboende problem. Det största problemet är inte språket, som översätts hyggligt bra i de flesta fall. Istället är det klassbibliotek, komponenter, tredjeparts COM-komponenter och ramverket runt användargränssnittet som skapar problem. ActiveX-komponenter fungerar i viss mån i .NET, men kan ofta orsaka problem. För att göra saker ännu värre så använder avancerade Visual Basicapplikationer ofta smarta hack och APIanrop. Slutligen har COM en helt annan arkitektur i .NET. Hur ska ett migreringsverktyg kunna reda ut allt detta med framgång?
BYGG UT MED .NET Alternativ två är inte heller speciellt attraktivt. Att bygga ut ny funktionalitet med .NET, och integrera med den existerande Visual Basic-applikationen med hjälp av interop skapar problem med dålig prestanda och svårlösta programmeringstekniska utmaningar. Annars kan det vara en väg framåt för att gradvis göra sig av med Visual Basic-applikationer.
•
•
Alternativ tre, att skriva om hela applikationen för hand är tyvärr oftast den bästa lösningen. Jag säger ”tyvärr” eftersom det är en besvärlig väg att gå: •
10
Omskrivningar tar ofta längre tid, är dyrare och är mer komplexa än
Stor risk att funktionalitet går förlorad på grund av bristfällig dokumentation och dålig förståelse av mjukvaran.
FALLSTUDIE – EN KUNDAPPLIKATIONER För att förstå varför omskrivning är rätt väg att gå behöver vi titta på ett exempel från ett verkligt fall av en Visual Basic-applikation. Applikationen är på många sätt representativ, med en kodbas på 180 000 rader och en mängd dialoger och det finns många anledningar till att applikationen inte kan migreras eller översättas rakt av till .NET. För det första används obsoleta teknologier som saknas i .NET: •
Ålderdomligt och inkonsekvent användargränssnitt
•
Hemmagjort flerspråksstöd i MS Access 2003
•
DoEvents för att göra bakgrundsjobb istället för asynkron programmering med async och await.
•
Licenskontroll med hårdvarudongel.
•
Tredjepartskomponenten ActiveBar Control från 1999.
•
Databasaccess med DAO mot Access 2003. Idag används tekniker byggda på ADO.NET och SQL Server.
•
Många dialoger skapas dynamiskt på ett sätt som saknar motsvarighet i .NET
SKRIV OM FÖR HAND I .NET
Omskrivningar tar resurser som i normala fall hade kunnat användas för kundsupport och nyutveckling.
•
Felhantering saknas
•
Död kod och många variabler och dialoger som inte använts
•
Generös användning av globala variabler och instansvariabler.
•
Variabler har intetsägande namn och saknar initialvärden
•
Lösenord sparas i filer i klartext
•
Inget skydd mot SQL injection
För det tredje har programmet en undermålig arkitektur utan lager och separation. Databasfrågor är hårdkodade mitt i VB-koden och ofta uppblandad med beräkningar och kod som påverkar det grafiska gränssnittet. Att ett migreringsverktyg skulle kunna reda ut det här är orealistiskt.
SLUTSATS Då stödet för klassisk Visual Basic blir allt sämre i nyare Windowsoperativsystem så är det angeläget att planera för migrering av existerande applikationer. Som vi har sett så är det inte språket som är den stora utmaningen vid en migration. Utmaningen ligger istället i att ersätta gamla tredjepartskomponenter och obsoleta teknologier med moderna motsvarigheter. Jobbet är tidsödande och manuellt, men med noggranna val av plattform och arkitektur går det att bygga framtidssäkra affärskritiska applikationer för att möta morgondagens utmaningar.
Text:Carl-Johan Aberger Utvecklare på Addiva Software and Embedded Services
För det andra så lider applikationen av en mängd programmeringstekniska missgrepp då den har byggts ut av otaliga utvecklare under årens lopp:
ADDERA
INTERNET OF THINGS Internet of things, IoT, är en fluga som någon satt ett nytt fräscht namn på! Vi har väl jobbat med sensorer och datainsamling länge? Det var mina egna tankar när jag först kom i kontakt med IoT. Jag kunde inte ha haft mer fel.
G
artner gjorde en analys och uppskattning av antalet uppkopplade enheter under 2016. Analysen visade att 6,4 miljarder enheter kommer vara uppkopplade 2016. 2020 är estimatet att 212 miljarder enheter är uppkopplade och att det kommer omsätta 8,9 biljoner dollar. Resultatet är skrämmande och kittlande. Dock får vi se hur nära denna analys vi hamnar. När Arrow arrangerade en workshop, i december förra året, var uppskattningsvis sjuttio procent av deltagarna fullt ockuperade med att titta på de nya processorerna, sensorerna och annan hårdvara. Det vill säga sådant som funnits och som vi ingenjörer konstruerat produkter av sedan länge.
»» Figur 1. S-Kurva för tekniksprång. Figuren ger en grafisk illustration över hur marknader mognar, skjuter fart, för att sedan mättas och sakta av när marknadsandelarna blivit tillräckligt stora, och så småningom ersätts med ny utveckling. Vi befinner oss för tillfället vid den röda punkten. Källa: Future Smart Industry, Vinnova
Endast ett fåtal, Addiva inkluderat, fokuserade på säkerhetsfrågorna, kompabilitetsfrågor och interoperabilitet kring IoT. Addiva är en aktiv del av Sveriges strategiska innovationsprogram för Internet of Things, IoT Sverige. De listade följande frågeställningar som behöver lösas för att IoT kan skjuta iväg ordentligt.
Integritet?
•
Vem äger vad?
•
Interoperabilitet?
Utmaningen för IoT är inte hur man samlar data från sensorer och får in dessa i inbyggda system, utan den stora utmaningen är och förblir hur man skapar ett ramverk där system kan koppla upp sig och nyttja en gemensam molnteknik. Raskt uppstår frågan. Vilket moln ska man nyttja? Ska man bygga ett eget? Svaren på dessa frågor är inte trivialt enkelt att svara på. I sitt val måste man givetvis veta vilka olika tjänster inom molnet man vill nyttja för att göra rätt val. För att kunna göra en vettig IoT satsning på nationell nivå behöver man skapa en plan för hur man på horisontell nivå kan skapa möjlighet för hur de olika vertikala teknikområdena kan interagera uppåt i värdekedjan. Detta är utan tvekan extremt viktiga frågor som måste lösas för att vi i Sverige ska kunna hämta in det försprång som andra länder har. Samtidigt kan man fråga sig om vi i Sverige skall vara early adopters i en konstant föränderlig värld?
ADDERA
IoT Horisontal utmaning
APPLICATIONS
•
Smart Energy
Connected Connected Smart City Car Home /Muni
Light Industrial
eHealth
ANALYTICS
Säkerhet?
MANAGEMENT
•
CONNECTIVITY
Hur ansluter man dessa tekniker som finns idag?
DEVICES/OEMs
•
Current Operator Focus
»» Figur 2. IoT spänner horisontalt över vertikala teknikområden. Källa: Architecting IoT by Mathew, Alcatel - Lucent
11
Så vad gör vi på Addiva för att hantera IoT för våra kunder och partners? Sedan flera år tillbaka har vi en djup förståelse och kunskap om hur man samlar in data ur olika produktionsprocesser och/eller produkter med standardiserade sensorer och processorplattformar i syfte att kunna hålla nere utvecklingskostnad och snabbt komma fram till just den kundens proof of concept. Varför vill man då samla in exempelvis produktionsdata för analys? Den vanligaste kommentaren är att man vill effektivisera produktionsprocessen för att finna nya affärsmöjligheter. Något som Dadong Wan, World Economics Forum visualiserat i bilden nedan. John Andersson
-term
Long
3. Outc ome E c onomy
-term
Near
2. New P roduc ts & S ervic es 1. Operational E ffic ienc y
• • •
Pay-per-outcome New connected ecosystems Platform-enabled marketplace
4. Autonomous , P ull E c onomy • • •
Continuous demand-sensing End-to-end automation Resource optimization & waste reduction
• Pay-per-use • Software-based services • Data monetization
• Asset utilization • Operational cost reduction • Worker productivity
»» Figur 3. Införlivande av Industriell Internet. Källa: World Economics Forum Industrial Internet of Things 2015
Vi har i flera projekt nyttjat molnteknik och responsiv design för att analysera och visualisera sensordata. Detta gör att vi på Addiva kan hantera våra kunders behov från sensor till cloud vilket möjliggör att vi snabbt kan stötta våra kunder, vare sig det rör sig om deras fortsatta digitalisering av befintliga projekt eller om kunden tar sina första steg mot digitalisering. Text: John Andersson Head of Software and Embedded Services
LITE SKÖJ: ADDERA SERIE
Illustratör: Kjell Iwarson
12
ADDERA
YAKINDU Yakindu är ett verktyg för skapande av tillståndsmaskiner. Det är inte skapat för att ge de akademiskt snyggaste tillståndsmaskinerna utan för att kunna modellera den skapta tillståndsmaskinen, testa den och även kunna portera den till C/C++ eller Java-kod.
»» YAKINDU Statechart Tools. Källa: https://www.itemis.com/en/yakindu/statechart-tools/documentation/
F
ör att skapa akademiskt presentabla tillståndsmaskiner finns det verktyg som är bättre lämpade men för ingenjören som behöver förverkliga och verifiera tillstånds-
Thomas Otnes ADDERA
maskiner är Yakindu ett utmärkt verktyg. Det är öppen källkod och en plugg-in till Eclipse IDE. I Yakindu skapas tillståndsmaskiner genom att blanda grafiska komponenter med en scriptsyntax som liknar C/C++ och Java. Dessa scriptrader anger tillståndsmaskinens beteende och tillåter senare modellering av tillståndsmaskinen, vilket gör att eventuella fel och brister lättare upptäcks än när tillståndsmaskinen enbart görs statiskt. Vid modellerandet kan tillståndsmaskinen stegas igenom och dess olika beteenden kan observeras och utforskas. Tillstånd som inte kan nås och är döda kan upptäckas lättare, lika så tillstånd ifrån vilka det inte går att lämna samt övergångar som inte beter sig så som dess skapare tänkt det. Detta möjliggör Yakindu som ett bra verktyg för verifiering av tankens korrekthet vid design av tillståndsmaskiner. Att tidigt hitta fel eller kunna bevisa en tillståndsmaskins korrekthet kan spara många timmars ändringar senare i projekt.
Detta levandegör också tillståndsmaskinen och olika design av den kan jämföras genom modellerande för analys inför implementation. Denna förmåga att kunna modellera gör Yakindu till ett värdefullt verktyg för systemarkitekten och dess kund. Text: Thomas Otnes Utvecklare på Addiva Software and Embedded Services
13
EMC IN PCB DESIGN CE marking? Electromagnetic Compatibility (EMC)? What is it about? How is EMC related with electronic design? Shall some rules be followed in the design of a product?
A
lot of questions occur when you start designing a new product, such as ‘What kind of standards should be used?’, ‘What kind of tests are needed to be done?’ or ‘What kind of techniques should be applied to succeed in tests?’. The CE marking is a symbol placed on products when they have been designed in concordance with some directives or requirements that allow to sell the product in the European Union market. The directives followed in order to get the CE marking, depends on the product manufactured. In the PCB design, one of the directives is to take care of the Electromagnetic Compatibility (EMC) to limit the emissions and not generate electromagnetic disturbances which can generate problems in proximity devices. There are several techniques that shall be implemented in the PCB design regarding electromagnetic compatibility, such as grounding methodologies (a ground plane for return currents to maintain the lowest
Tania Lazaro
14
»» Figure 1. Comparative measurements with different decoupling capacitors in one IC Källa: http://www.detectus.com/rse-series.html
impedance); decoupling capacitors (100nF) place close to the IC power pin (Figure 1 shows a comparative depends on the decoupling capacitor chosen), filter each signal entering and leaving the PCB, Y capacitors to remove noise from power and ground connected to the chassis ground; transients absorbers as ESD protection in each input signal to clamp transient voltages; keep high frequency and RF tracks as short as possible; use top and bottom layers for low speed signals and the middle layers for sensitive and high frequency signals, don´t place sensitive traces or power supply traces close to the edges in a PCB, select the most suitable layer stack up for demands of the design etc. These are only a few rules, the designer should consider thinking about which rules must follow when designing a PCB or a product to reach a successful EMC test.
One of the standards used for this test is IEC 61000. IEC 61000 describes the testing techniques used in the EMC test. Examples of these tests, are tests done in the connector with a length cable less than 30 meters, the Electrostatic discharge (ESD) test (standard IEC 61000-4-2) and the Radiated Immunity test (standard IEC 61000-4-3). The tests in a connector with a length cable more than 30 meters are the tests described earlier and the burst test (standard 61000-4-4), surge test (standard 61000-4-5) and conductive immunity test (standard 61000-4-6). Author: Tania Lazaro Hardware Engineer at Addiva Software and Embedded Services
In order to verify if the product has been designed properly, do not emit and receive any distortion that can damage the equipment or the equipment around it. Just do some tests in an accredited company such as Delta in Vasteras.
ADDERA
NÖRDAR TIPSAR! Did you know that in C this is true? Låt säga att vi vill dela alla filer under en folder till alla andra på nätverket direkt och utan krångel.
array[0] == 0[array]
Kör bara följande kommando från den folder du vill dela. # python -m SimpleHTTPServer
We know!
Alla på nätverket kommer nu åt dina filer genom att surfa till http://<din_IP>:8000 med valfri internet browser. När du utvecklar i elektronik; “Placera en resistor i serie på logiska signalbanor mellan utgång och ingång, så kan du vid behov överskrida signalen eftersom det skapar en funktionalitet som pull-up eller pull-down resistor.”
PSST…Om du jobbar med Windows så kan du använda Windows-tangenten och pilarna för att flytta fönster. Detta kan användas för att flytta fönster från en skärm till en annan istället för att använda musen. Det kan också användas för att jämföra två dokument. Windows-tangenten kan också användas tillsammans med sifferknapparna ovanför bokstäverna för att starta programmen som du har fäst i aktivitetsfältet.
Är du glömsk och inte kommer på vilken port som är default. # python -m SimpleHTTPServer 9999 http://<din_IP>:9999 Om det nu sitter några sura windows geeks där ute och surar över: python.exe: No module named SimpleHTTPServer Skaffa Linux!!!! Och medan det laddar så kan ni i stället knappa in följande i det torftiga Command Prompt window: python -m http.server 8000 Windows geeks som snyftar över att ni fått python is not recognized as an internal or external command. operable program or batch file. Sluta kalla er för geeks, skaffa Linux och medan det laddar så kan ni installera python! Ni som nu tagit er såhär långt men inte för ert liv kan få fram vilket IPnummer ni sitter på. Hoppla iväg och köp ett USB-minne i stället.. You can proudly state that YOU’RE DEFINITELY NOT A GEEK!
VISSTE DU ATT… ...Det var Antonio Meucci, och inte Graham Bell, som uppfann telefonen?
»» Antonio Meucci. Källa: https://en.wikipedia.org/wiki/Antonio_Meucci
ADDERA
15
책r
Ten years of Adding Intellectual Value Jubileumsfest 10-책rs konferens Hacker meet up
Statsreklamkampanj
VARFÖR JOBBAR DU PÅ ADDIVA? Iryna Systemutvecklare
“Det bästa med Addiva är att det finns enorm potential och möjlighet att utvecklas inom företaget samtidigt som resan i sig bjuder på spännande och intressanta möten och upplevelser. Ingen dag är den andra lik och de projekt som pågår i huset är alla unika på sitt sätt. Addivas kompentens täcker allt ifrån utveckling av egen elektronik/inbyggda system upp till distribuerade system och moderna front-ends, och det gör det roligt att arbeta här. Det mest inspirerande med att arbeta på Addiva är mina härliga och nyfikna kollegor!”
Rickard Elkonstruktör/Idrifttagare
“Det bästa med att jobba på Addiva är den inblick jag fått i branschen som helhet. Att få prova på olika arbetsroller och arbetsuppgifter och vara ute bland våra kunder är en kanonerfarenhet som jag värderar högt. Det gör också att jag utvecklas snabbt!”
ADDERA
17
Peter Krantz Sales & Business Development
“Framförallt att få arbeta med så trevliga kollegor! Affärstänket som skiljer från många kollegor i branschen gör mig stolt att vara en del av. Dessutom är arbetet i en fri roll som säljare och affärsutvecklare väldigt roligt. Jag kan dra nytta av mina erfarenheter som både ingenjör och som företagare och får lära mig nya saker varje dag. Ett av de bästa säljminnena var att ta hem ett projekt för ABB HVDC efter 5 års införsäljningsarbete!”
Jelena Ekonomiansvarig
”Gör vad du älskar – älska vad du gör” – de här orden stämmer till 100% på mig och Addiva. Jag jobbar på Addiva för att jag har ett jobb som jag älskar och fantastiska kollegor som gör att jag känner mig hemma. Jag har flexibel arbetstid och det är viktigt för mig som förälder. Ingen dag är den andra lik. Jag har ett jobb som är utvecklande, varierande och utmanande och det gör att man har kul på jobbet och vill gå till jobbet varje dag. Dessutom har vi tillgång till olika förmåner och rabatter som gör livet lite enklare. Mitt bästa minne är nog stadskampen och resan till Malaga. Stadskampen ligger mig varmt om hjärtat för att det var då jag började på Addiva och vi firade 5-årsjubileum. Vi blev uppdelade i olika lag och det var kul och se hur alla samarbetade och löste olika roliga uppgifter, dessutom fick man springa runt hela Västerås. Det var jätteroligt och kul, samt att man fick lära känna sina fantastiska kollegor. Malagaresan var den bästa kombinationen av jobb och teamwork. Vi hade roligt och njöt av sol och värme och upptäckte det nya landet i trevliga kollegors sällskap.”
18
ADDERA
PRODUKTION AV DRÖNARE. DIY VILL DU OCKSÅ BYGGA DIN EGEN MULTICOPTER? Är du osäker på hur du gör eller vad du behöver för delar? Läs vidare så får du en snabb guide som ger dig en grund att stå på i ditt fortsatta sökande efter information inom denna fantastiska hobby! Artikeln behandlar radiostyrda multicoptrar, vilka delar de består av och lite om vad de kan.
MEN VAD ÄR DÅ EN MULTICOPTER? En multicopter är en flygande maskin som har 3 eller fler propellrar som ser till att maskinen hålls i luften. Några andra namn är tricopter (3 propellrar), quadcopter (4 propellrar), hexacopter (6 propellrar) och octacopter (8 propellrar). Man brukar använda multicopter som samlingsnamn för samtliga dessa och många fler. På senare tid har även namnet drönare börjat användas en del som benämning på dessa maskiner. Det första steget är att bestämma vad du ska använda multicoptern till. Ska du ha den som en plattform för filmning? Köra tävlingar på små tajta banor? Trixa runt och göra flippar, volter, piruetter eller loppar? Eller vill du använda den för långa flygturer lågt bort för att kunna utforska världen runt dig? Alla dessa olika användningsområden ställer unika krav på din multicopter. När du bestämt dig vad du ska ha multicoptern till så är det dags att börja leta reda på delar som du behöver för att bygga ihop den. Det du börjar med är att välja en ram som du tror fungerar. Ska du filma så behöver du en stor ram med många motorer (6-8 ADDERA
»» Quadcopter av långflygartyp för utforskning. Foto: Martin Friberg
eller fler). Storleken på ramar mäter du i millimeter diagonalt från motor till motor, så för att filma så behövs ca 500 mm eller större. Ju större ram du har desto större propellrar kan du använda och desto större lyftkraft får du och du kan då lyfta större och tyngre kameror. För en race- och tricks-multicopter så blir ramen mindre. Då brukar du hamna mellan 180250 mm och en långflygare brukar vara ca 450-550 mm. När ram är bestämd är det dags för motorer och propellrar. Dessa behöver köpas i samråd med varandra då den ena ställer rätt hårda krav på den andra. Långa propellrar och/eller propellrar med kraftig stigning kräver större motorer med mer vridmoment och lägre varvtal. Mindre propellrar med mindre stigning kräver mindre motorer och högre varvtal. Propellrars längd och stigning bestäms i tum. En propellers stigning beskriver hur långt en propeller förflyttar sig framåt (i optimala fall) på ett varvs rotation. Som ett exempel en propeller med 5 tums stigning förflyttar sig 5 tum framåt för varje varv som den snurrar. Mer stigning ger mer lyftkraft. Ett exempel på en propellerbenämning är 1550 eller 15x5. Båda dessa betyder 15 tum lång med en stigning på 5 tum. Är propellern under 10 tum så skrivs ofta något i stil med 5050 eller 5x5. Båda dessa betyder
5 tum lång propeller med 5 tum stigning. Motorernas storlek är lite svårare att hålla sig uppdaterad på men den faktiska fysiska storleken är inte så viktig (dock måste du kolla så att den går att montera ordentligt i den ram du valt). Det som är viktigt är att läsa på i motorernas datablad då du bör veta om motorn kan snurra den propeller du vill ha samt att motorn med den propellern ger den lyftkraft som du önskar. I regel vill du ha multicopterns totala vikt, inklusive allt, gånger två (minst) i lyftkraft. Detta gäller framförallt för de större varianterna (långflygare och film-plattform). Race och tricks vill gärna ha mer. När motor och propeller är valda måste vi åter tillbaka till motorns datablad. Där kan du läsa ut hur mycket ström som en motor drar när den snurrar propellern som du har valt. Med hjälp av denna information så kan du välja ut nästa komponent i bygget. Din ESC. ESC står för ”Electronic Speed Controller” och det är en liten dator som tar emot signaler från radion och gasar motorer där efter. När du väljer din ESC så tar man strömförbrukningen som vi fick från databladet och så lägger vi på ca 25 % och sedan börjar vi leta. Om vi har en motor/propeller-kombination som enligt datablad drar 18 Ampere så lägger vi på 25 %
19
funktion som gör att om någonting ballar ur, batteriet blir dåligt eller att multicoptern tappar kontakten med piloten så flyger den helt enkelt hem och landar där den startade.
»» Diagram - delar i Quadcopter
och så rundar vi lite uppåt så hamnar vi i krokarna runt 25 Ampere. Så ESCer som kan hantera 25 Ampere och uppåt borde fungera ypperligt. Här har vi åter igen lite olika ESC:er beroende på storlek och ändamål på multicoptern. För race eller tricks så finns de som är mindre och extremt optimerade för att vara små och lätta (då vikt är av yttersta vikt), medan för de större (långflygning och filmning) så spelar den fysiska storleken inte lika stor roll så de blir lite större, men att ta i för mycket är onödigt då större betyder tyngre och tyngd är vår värsta fiende trots allt. Detta är viktigt att kolla upp, framförallt om du bygger en av de lite mindre storlekarna. Vi har nu kommit fram till nästa del som blir batteriet. I regel använder man sig av Litium Polymer (LiPo)-batterier. De tre viktiga värdena för batterier är volttalet, kapaciteten i milliAmperetimmar (mah) och C-värdet. Volttalet bestämmer hur fort dina motorer kommer snurra. Varje motor har ett bestämt antal varv per minut per volt som den snurrar. Kapaciteten är helt enkelt hur stor bensintank du vill ta med, men detta är en balansgång mellan vikt och kapacitet. Ju mer kapacitet desto tyngre blir batteriet. Ju mer kapacitet ju längre tid kan du flyga, men ju tyngre multicopter desto kortare tid kan du flyga. Ofta finns en medelväg mellan flygtid och vikt som du kan experimentera fram med just sin farkost, men det kan kräva lite tid. C-värdet är det andra datat att hålla reda på. Detta är ett värde som indikerar hur många Ampere ett batteri kan lämna ifrån sig utan att skadas eller tappa volttalet. C-värdet anges på batteriet tillsammans med kapaciteten, så för att få fram amperetalet så måste du räkna lite. Det gör du
20
genom att du tar kapacitet i mah, delar det med 1000 och tar det svaret multiplicerat med C-värdet. Så ett 2000 mah batteri med ett C-värde på 20 kan lämna (2000/1000)*20 = 40 Ampere. Detta Ampere-värde bör överskrida det värde som din motor drar med den propeller du valt, multiplicerat med antalet motorer du har på din multicopter. Hade vi byggt en helikopter eller ett flygplan så hade vi varit klara här. Dock har vi ett problem med multicoptrar. En människa har ingen möjlighet att styra varje motor individuellt för att få multicoptern att röra sig bra i luften. Till detta behövs en flygkontroller. Det är en liten dator som tar emot alla signaler från din radio, tolkar dessa och ser efter det till att styra motorerna så som det är tänkt. En flygkontroller finns i alla möjliga olika varianter men kan enkelt delas in i två större kategorier. De lite enklare som används av mindre multicoptrar till racing och trickflygning. Dessa har ofta möjligheter till automatiska flyglägen där multicoptern t.ex. automatiskt planar ut, men få använder dessa. Därför behövs bara just tolkningen från mottagare till motorer och därför behövs inte de mer avancerade kontrollerna. Ska du bygga en filmplattform eller en långflygare så gör du klokt i att skaffa de lite värre versionerna. Dessa har i regel GPS och betydligt mer avancerade flyglägen. Till exempel så kan de flesta hantera att du sätter upp en rutt och sedan flyger multicoptern den rutten helt själv utan input. Lägen där multicoptern själv ser till att hålla positionen i luften är också vanligt. Då kan piloten koncentrera sig på att styra kameran för att få den perfekta vinkeln på bilden eller videoklippet. De har också ofta en så kallad ”Return to home”
Det sista vi behöver är en radio med mottagare så att vi kan skicka kommandon över luften till vår multicopter för att få den att göra det vi vill. Här är det enda kravet att vårt radiosystem har minst 4 kanaler. Detta för att vi måste kunna styra minst 4 kanaler för att kunna flyga en multicopter. 6 kanaler är att rekommendera så att du även kan ha möjlighet att ändra mellan olika flyglägen och sedan ha en kanal till något annat också. Bygger du en plattform för filmning kommer du antagligen behöva många fler kanaler för att också kunna styra kamerans alla funktioner. Utöver detta behöver vi olika småsaker som en batterisladd (med samma koppling som batteriet), buntband, dubbelhäftande tejp och lite sådant. Detta var alla de grundläggande delarna som du behöver. Det finns mängder med ytterligare tillbehör som du kan utrusta sin multicopter med, men med delarna beskrivna ovan har vi en som vi kan bygga ihop och flyga. Du kan sedan välja att bygga in FPV (liveströmmad video som gör att du kan se från multicoptern och flyga på det sättet), kameror, gimbal för att hålla kameran stabilt hela tiden, LED-lampor med mera. Möjligheterna är oändliga. När vi nu har alla delar så behöver du sätta ihop allt till en fungerande multicopter. Ett måste är att du har möjlighet till att löda. Kan du inte det innan så är detta det perfekta tillfället att lära sig. Så, hem och bygg nu! Samla information, forska reda på exakt den utrustningen som passar dig, sätt ihop allt och ut och flyg! Text: Martin Friberg Systemutvecklare på Addiva Software Tools and Utilities
ADDERA
LEAN-STARTUP Vad kan vi lära oss av startups och hur identifierar vi om projekt kan dra nytta av Lean-startup metodiken?
BAKGRUND TILL
turerat sätt vinna kunskap om användaren, marknaden, kunden och tekniken. Denna kunskap skall konstant matas in i nästa iteration av hypotesbyggande och hypotesprövning för att styra mot målet vinstgivande verksamhet. Det kan tyckas att detta tankesätt har ett väldigt smalt applikationsområde. Men det finns många guldkorn att vaska fram här och många fler projekt som är av samma karaktär som ett uppstartsbolag än vad man ser vid första anblick.
LEAN-STARTUP Idén har som namnet antyder sina rötter i Toyotas lean-process. Eric Ries, mannen bakom Lean-startup, jobbade ett antal år som programmerare, projektledare och senare även CTO i startups. Han hade gång på gång följt en plan och en budget och ändå byggt sådant som fungerade enligt specifikation men ändå ingen ville ha. Detta såg han som ett enormt resursslöseri. 2004 grundade Eric Ries tillsammans med Will Harvey företaget IMVU. Tanken var att skapa ett insticksprogram till existerande IM klienter*(Instant messaging så som msn, icq). Detta insticksprogram skulle lägga till möjligheten att chatta med avatarer i 3D världar fyllda av användargenererat innehåll. Det var under arbetet med IMVU som Leanstartup-metoden föddes. När IMVU blev en succé 2013 så kunde man presentera en omsättning på 50 miljoner dollar på årsbasis och sade sig då även vara vinstgivande. Företaget är inte publikt men då det fortfarande finns och har appar för både iOS och Android och 40 miljoner aktiva användare så man får anta att det går bra. Vägen dit var allt annat än rak. Idag är inte IMVU ett Add-on till existerande IM klienter utan en fristående klient. Eric Ries har sedan dess blivit grundare för vad som i det närmaste är att betrakta som en rörelse. Med bloggen http://www.startuplessonslearned.com som plattform och med boken The Lean Startup så har Eric fört ut sitt budskap i världen. Företag som till exempel Dropbox säger sig ha använt metoden på sin väg mot framgång. Några av de termer som Eric myntar i boken såsom MVP(minimum viable product) och pivot har blivit så överanvända inom Silicon Valley jargongen att de nästan förlorat sin ursprungliga betydelse. Varje år så hålls även en konferens inom ämnet där företag som anammat metoden
ADDERA
VIKTIG TERMINOLOGI
Fredrik Uppsäll
samlas i workshops och föreläser för varandra om erfarenheter. Ericsson och Microsoft är exempel på bolag som deltagit.
KORT OM METODIKEN OCH VAD DEN SYFTAR TILL Grundtanken i lean är att eliminera slöseri med resurser i tillverkningsprocesser. I lean-startup är tanken densamma men i en helt annan kontext. Men vad är då värdeskapande och vad är slöseri i detta sammanhang? Lean-startup driver tesen att uppstartsbolag saknar historik som de kan använda för att förutspå framtiden. Storslagna planer, gigantiska backlogs och långa prioriteringsmöten är då slöseri. Korta experiment direkt mot kund för att utvärdera idéer och bygga kunskap är värdeskapande. Därför bör ett system för hypotesprövning och utvärdering finnas. Detta skall sedan användas för att på ett metodiskt struk-
Inom Lean-startup finns ett antal centrala termer de mest viktigaste är Startup, MVP (minimum viable product, minsta gångbara produkt), Validerat lärande samt pivot. Nedan ger jag en översikt av dessa. För att förstå dem mer i detalj rekommenderar jag boken The Lean Startup. Startup En startup är en mänsklig institution som är designad att ta fram en ny produkt eller tjänst under extremt osäkra förhållanden. MVP För att kunna experimentera och vinna kunskap så krävs experiment. För att experimentera med kunder så krävs en produkt. Vad denna produkt består av kan variera mycket och här gäller det att hitta kreativa lösningar. Syftet är att med hjälp av tidiga kunder svara på följande frågor. 1. Upplever kunden att den har problemet som du försöker lösa? 2. Om det fanns en lösning kan de tänka sig betala för den? 3. Kan de köpa den från oss? 4. Kan vi bygga något som löser problemet? Problemet är att de flesta hoppar direkt till steg 4 utan att först validera de
21
tidigare punkterna. Eller så anser man sig validera dem med en fin marknadsplan men utan att faktiskt testa något mot den tilltänkta kunden.
IDEAS
LEARN
BUILD
DATA
CODE
MEASURE
»» Methodology diagram
Det är viktigt att spendera så lite tid på sin MVP som bara är möjligt för att kunna möta kunden och lära sig. En MVP är inte en enkät eller liknande. Vi är ofta dåliga på att bedöma våra behov och vårt agerande i sådana situationer. Nej här gäller det att få fram något som känns som en produkt, därav namnet. Men exakt vad som är en MVP går inte att säga. Lika lite som det går att beskriva exakt vad ett experiment består av, det beror på. Men målet är tydligt och vägleder designen. Validerat lärande Alla visioner bygger på ett antal grundantaganden. Problemet är att ju längre bort du kommer från grundantagandet desto grumligare blir bilden och desto mer fel riskerar det att bli. Det är därför viktigt att inte planera allt för långt in i framtiden. Försök istället att vara tydlig med vilka grundantaganden som måste gälla för att visionen skall hålla. Försök sedan så tidigt som möjligt via MVP få in data som bekräftar eller förkastar tesen i ditt grundantagande. Genom att ställa upp hypoteser som går att pröva och sedan rigoröst testa dessa så kommer vi vidare i processen och vinner validerat lärande. Valideringar av teser leder ofta till att visionen blir tydligare och får fler mer detaljerade antaganden som även dessa kan testas. Således fortsätter man iterativt i denna process framåt och mejslar ut den slutgiltiga produkten och planen.
22
Pivot Vad händer då när det visar sig att ett grundantagande är falskt? Har man kommit en bit på vägen ska man då kasta bort allt man gjort ditintills och börja om? Naturligtvis inte, tanken är att man då försöker hitta nya vägar framåt från den punkt man nått, detta kallas pivot. En berömt pivot är när den lilla appen Burbn, som då var en platsdelningsapp liknande Foursquare, byter skepnad. Burbn hade lagt till en hel del extra funktionalitet i förhållande till konkurrenterna. Bland annat möjligheten att ta foton och dela med sina vänner. Man märkte att användarna tyckte appen var rörig men de gillade att dela foton med varandra. Här valde man att göra en pivot och skala av allt annat och fokusera på att göra den bästa fotodelningsapp man kunde tänka sig. Resultatet blev instagram och resten är historia. Detta var ett exempel på en dramatisk pivot. För de allra flesta blir det mindre kursändringar. Kanske styr man om mot ett nytt marknadssegment eller väljer bort features där man märker att mervärdet för kunden inte verkar motsvara vad denne är beredd att betala. Men visionen för Burbn var att ha mer features än konkurrenterna. Sådana visioner lider ofta av ”allt måste med” syndromet. Har man inte allt med så kan man ju inte konkurrera och kan således inte släppa och möta sin kund. Därmed kan man heller inte få sina antaganden validerade och riskerar att bygga en rörig produkt som ingen vill ha. Om Burbn redan tidigt börjat testa om de extra features som man hade utöver konkurrenterna så kanske det gått att utröna ännu tidigare att det var just fotodelningsfunktionen man skulle satsa på. Då kanske man inte behövt kasta bort så mycket jobb. Nu lyckades man ändå men detta var helt avhängt på att man vågade komma ut med en halvfärdig produkt och testa mot riktiga användare. Utan detta steg hade de aldrig fått veta vad de skulle välja bort.
sina team som entreprenörer och ge dem ägande över processen. Dessa intraprenörer får driva innovationsprojekt som startups och bör utvärderas efter hur mycket de lärt sig och hur nära de är att bygga en produkt som kunden vill ha. Dessa team bör vara tvärvetenskapliga och innehålla alla funktioner som krävs för att förverkliga idén. Programmerare, designers och marknadsförare böra alla jobba tillsammans istället för avskilt från varandra. Ingen universallösning Som ni märker är Lean-startup metoden knappast någon silverkula. Den är designad för att lösa ett specifikt problem i en specifik kontext. Om vattenfallsmetoden fungerar bra i ena änden av spektrumet där både problemet och lösningen är välkända. Så ligger Lean-startup längst ut i andra änden av spektrumet där både problemet och lösningen är okända. De flesta projekt befinner sig någonstans mitt emellan dessa två ytterligheter och kan således tjäna på att identifiera vilka delar av projektet som tillhör vilken del av spektrumet och i vilken utsträckning. Vi möter allt oftare öppna frågor. IoT är ett exempel på ett område där vi kan se en framväxande teknologi som letar efter problem att få lösa. Här bör man nog använda sig av just Lean-startup tänk för att gå från lösa visioner mot konkreta problemlösningar för sina kunder. I varje projekt så bör vi således försöka identifiera de grundantaganden som rättfärdigar projektet och försöka validera dessa så tidigt som möjligt innan allt för mycket pengar lagts på att färdigställa en specifik lösning. Text: Fredrik Uppsäll Developer at Addiva Software Tools and Utilities
Entreprenörer och intraprenörer Idag har vi en ganska smal syn på vad det innebär att vara en entreprenör. Det definierande draget är ofta att man äger och driver sitt eget företag. Men inom Lean-startup så väljer man att se att alla driver processer där nyskapande idéer förverkligas som entreprenörer. Även när så sker inom företag. Man bör se
ADDERA
NYA PÅ ADDIVA
»» Addiva ställde ut på rekryteringsmässan 2016. Vi sökte el- och mekanikkonstruktörer, samt apputvecklare.
FREDRIK
VICTORIA
I april börjar Fredrik som konsult inom mekanisk konstruktion. Fredrik är högskoleingenjör med inriktning mot produktutveckling och industridesign. Han har erfarenhet och vana att arbeta i ett flertal CAD-program och har dessutom goda kunskaper inom modelltillverkning. Fredrik kommer senast från Scania där han har konstruerat och utrett upphängning och dämpning av hytter.
Victoria är Marknadskommunikatör/AD/UX och UI Designer. Hon jobbar med sociala medier, reklam kampanjer, in-house design samt UX/UI design. Hon älskar innovativa och kreativa miljöer där hon kan utvecklas i båda ömråderna. Victoria är en problemlösare och en kreativ person som alltid är nyfiken på att lära nytt.
ALDRIG FÖRR HAR ADDIVA VARIT SÅ MÅNGA PÅ JULBORDET SOM 2015!
»» Addiva julbord 2015
ADDERA
23
CONTACT ADDIVA Peter Krantz
Dag Lindahl
Rasmus Friberg
Amel Muftic
Sales & Business Development
Head of Software Tools and Utilities
Business Center Stockholm
Head of Software Products
0708-67 24 57 peter.krantz@addiva.se
0736-10 22 60 dag.lindahl@addiva.se
0768-30 80 70 rasmus.friberg@addiva.se
0708-68 70 13 amel.muftic@addiva.se
Johan Nilsson
John Andersson
Pamela Christensson
Head of Mechanical and Electrical Engineering Services
Head of Software and Embedded Services
Head of HR and Administration
https://www.facebook.com/ AddivaAB/
0705-55 04 88 johan.nilsson@addiva.se
0702-78 35 84 john.andersson@addiva.se
0708-68 54 11 pamela.christensson@addiva.se
https://www.instagram.com/ addivaab/
Följ oss på
https://twitter.com/ AddivaAB Addiva AB
Kopparbergsvägen 8, 722 13 Västerås. Telefon: 021- 471 21 50. E-mail: pamela.christensson@addiva.se