Städdag

Städdag idag. Ja och så är jag lite poorly sådär. Kanske är det bara ålder som gör sig påmind. Kanske är det influensa. Kanske är det en uttröttad jävel bara. Men städar gör jag. Inte kontor. Men lägenhet. Det går hyfsat. Kanske för att gårdagskvällen blev soffan framför tv’n. Kanske inte. Snorar vidare.

Men kommer igång med låtsasjobb. nä, det gör jag inte. Sitter mest. Lyssnar på IoT  POD. Den stora behållningen är faktiskt en av sponsorernas inslag, Rejlers. Vinner solklart första pris i nämnandet av mest floskler. Definitivt. Har aldrig tidigare i mitt liv hört ett sådant enastående ordbajseri. Och då har jag ändå lyssnat på en del annat i mitt liv. Den gyllene ordbasjkorven är deras. Definitivt. Vinsten kommer att bli svår att överträffa.

För övrigt är det väl inte så mycket att lyssna på heller. Egentligen. Men går att lyssna på. Upplever det som proffsigt såklart. Nope, VSCP, lär väl aldrig nämnas där. “IoT protokollet som fanns före IoT”. Om just det, som ju är sant, är en bra sak eller en dålig sak vet jag nu inte. Svärfar och K’s brorsa flinade lite åt det där. Själv gillade jag det.

Igår kändes det som “fan jag skiter i VSCP”. Det är inte ofta som det händer. Att den känslan kommer över mig. Men så känns det inte idag. Konstigt vad en natts sömn kan göra. Men kanske borde jag skriva in mig på ett behandlingshem och bli kvitt mitt VSCP beroende? Om det finns några sådana behandlingshem. Gör det det?

Men vad är det då som får mig att hänga kvar. Jo det har med det där gemensamma formatet att göra, japp och en gemensamma kommunikationen. Ja, hela IoT världen gapar såklart. Va då!? Sen fortsätter man att göra en lösning för x1, en lösning för x1, en annan lösning för x3, en till för y3, en för version åtta va z1 också såklart, en för a3, en för google1234243865t73800943775093884990095883009, an för UI989, och två för Å45, en internationell som hete AA45 och en Svensk/Finsk för Å45 ja och sådär hela vägen in i himlen.

Jo jo jo jo “MQTT är en IoT server” – Nog hör man väl det till leda. Ja precis som en webserver är en internetserver då. Så långt. Men tänk nu om ingen använt HTML som sidbeskrivning i det som ramlar ut från webservrarna. Att alla kommit upp med sin egen version av ett sidbeskrivningsspråk. Den ena dummare än den andra. Hade värdet varit detsamma för webservrar som det de facto är idag? Ja i läsrana hade man såklart fått gjort en lösning för x1, en lösning för x1, en annan lösning för x3, en till för y3, en för version åtta va z1 också såklart, en för a3, en för google1234243865t73800943775093884990095883009, an för UI989, och två för Å45, en internationell som hete AA45 och en Svensk/Finsk för Å45 ja och sådär hela vägen in i himlen. Känns det igen? Nehej. Fortsätt då…

Allt det här handlar om att uppkopplade enheter pratar med varandra. MQTT är en transportlösning, en serverlösning, en bra sådan. Men en IOT server? Knappast. Tillsammans med något annat kanske. Men det är det där “något annat” som är mest intressant. Det är därför VSCP jobbar med just med det. Var är alla andra?

Men är då inte VSCP bara en till sån där “egen lösning”. Jo så kan man se det såklart. Men alla fall en lösning som gör ett försök att standardisera hur t.ex. ett mätvärde skickas, eller en påslag av en apparat, ja och gör det på ett sådant sätt att det fungerar på en liten skitenhet utan minne men också på en stor jävla enhet men minne så att den kan drunkna i minne. NEJ VSCP ÄR INTE ETT HEMAUTOMATIONSPROTOKOLL. Men inte ett IoT protokoll heller. VSCP är ett m2m protokoll. Ett språk som maskiner kan använda för att prata med varandra.

Titta på den här

Den visar hur VSCP beskriver en given “hårdvara”. Japp, en given hårdvara. Det kan vara en TV, ett kylskåp, en bil, en lampa, en pump, eller vad tusan som helst. Allt kan beskrivas såhär. Japp Allt. “Hårdvara” kan lika väl vara en annan “mjukvara” eller ett fenomen. “Vad som helst” kan beskrivas såhär.

Att beskriva “vad som helst” är såklart inget problem. Man bara beskriver “vad som helst” på något sätt man kommer på att beskriva “vad som helst” på. Så sätter du 999 personer på uppgiften så kommer det att bli 999 olika sätt att beskriva detta “vad som helst” på. Men problemet är egentligen inte att det blir 999 olika sätt som vad som helst beskrivs på. Problemet är att “det” som skall jobba mot vad som helst antingen måste välja att jobba mot “vad som helst” på ett av 999 sätt eller lära sig att jobba mot “vad som helst” på 999 olika sätt. Jobbigt. Liksom.

Så om man kom överens om en abstraktion av “vad som helst” ja då skulle man kunna låtsas att allt omkring en ser ut så. Ja man skulle till och med kunna använda den där abstraktionen på någon av de där 999 sättet om nu någon redan lagt ned jobbet och inte ville kasta bort det.

Fast det är klart. den där abstraktionen borde fungera för hög och för låg. Alltså måste den vara sjuhelvetes enkelt. Annars blir det jobbigt för de som kräver “enkelt”. Men samtidigt måste den vara lite avancerad för de där mer avancerade sakerna. Det finns mycket krångligt där ute som kan betraktas som vad som helst.

VSCP löser detta på följande sätt.

  • Allt kan beskrivas av en samling 8-bitars register.
  • Vill man veta vad som finns i ett register behöver man läsa det.
  • Vill man ändra innehållet i ett register så behöver man skriva i det.

Så VSCP kan beskriva allt som finns i världen, allt från en blomma, en bil till en människa genom att specificera ett antal register. Det enda som krävs för att du skall kunna hämta informationen är att en läsa information är implementerad som kan läsa ett byte och det enda som krävs för att ändra något i den där registeruppsättningen är en funktion för att skriva ett byte.

  • Läsa ett byte.
  • Skriva ett byte.

är det som behövs i VSCP för att jobba mot “vad som helst” på den lägsta nivån.

Det här är vad VSCP kalla Register Abstraction Model.

VSCP’s register abstraction model kräver att  det på alla “vad som helst” finns en uppsättning register som innehåller viss information. De två viktigaste delarna som de här register utrymmena innehåller är GUID, ett globally unique id för enheten på 16 byte, och en 32-byte area som innehåller en pekare till en Module Description File.  GUID’et identifierar enheten på ett globalt unikt sätt Ungefär som en MAC adress gör för en Ethernet krets. Faktum är att de kan kopplas. MDF pekaren kan peka på ett internt lagringsutrymme eller vara en URL som pekar på en MDF fil som i XML form beskriver den här “vad som helst” enheten.

Registerinnehållet för enheten beskrivs såklart i den här filen. Men på registernivå kan det bli krångligt ibland. Ett flyttal t.ex. kan kräva åtta register positioner. Krångligt och onödigt att hålla reda på om det enda man är intresserad av är att det i de där åtta registerpositionerna finns ett temperaturmätvärde.

För att göra livet lättare för de som vill se världen i form av strängar, flyttal, logiska enheter så beskriver (eller kan beskriva) MDF’en “vad som helst” enheten med högnivå variabler i form av abstraktioner. Det enda de är är en pekare till ett register där de ligger, hur många register de använder, samt vilken sort de är.

Så nu har vi en “vad som helst” enheten som antingen kan beskrivas med en massa 8-bitars register eller med mer komplexa dataenheter men där det enda som behövs är en läs operation och en skriv operation.

Här kan man alltså skriva en applikation som konfigurerar vilken enhet som helst. Läs bara mdf’en från enheten och sen är det bara att låta användaren fylla i uppgifterna. Ja eller den andra maskinen. TV, bil, klockradio kan ha ett och samma konfigurationsprogram.

MDF’n kan också innehålla wizards som steg för steg hjälper till att fylla i register/abstractions värden för att åstadkomma något specifikt.  Allt beskrivet på ett abstract sätt så att applikationen som verkligen går igenom stegen kan skapas i vilket språk som helst på vilken plattform som helst. Fungerar alltså lika bra i C/C++ som I JavaScript.

Naturligtvis kan XML/JSON filer skickas in på den här nivån om man vill. Lagren ovanför abstraktionen kan vara vilka som helst. En read och en write är det enda som fortfarande behövs.

Ja faktum är att register abstraction modellen är så lågviktig att den med lätthet lever bredvid en annan propritär lösning. Man kan äta kakan och ha den kvar således.

Men varför?

Ja det får du fundera ut själv…

ps VSCP är såklart så mycket mer än det här. Det finns event, klasser/typer, bootloaderspecifikationer, beslutsmatriser och en massa annat. ds

ps2 Varför jag skriver detta i min Svenska blog har jag heller ingen bra förklaring på. Kanske har jag feber helt enkelt. ds2

VSCP – 16 år idag.

vscp_new
VSCP fyller sexton år idag. Det är alltså många år sedan Behzad Ardakani, jag och Marcus Rejås satt i Gävle en sommar och skissade fram det som var början det här protokollet.
 
För att du som läser skall få en uppfattning hur det är att jobba på ett projekt i sexton år så kan du tänka dig att du går upp två timmar tidigare än alla andra varje morgon, traskar iväg till simhallen och simmar fram och tillbaks tills skola eller jobb börjar. Sen jobbar du hela dan, men när skolan eller jobbet är slut så går du tillbaks och simmar till elva/tolv eller i alla fall så länge du orkar. Ja och det där gör du varje dag, helg som vardag i sexton år. Ja och åtminstone hälften av de där åren simmar du hela dagarna också. Längd efter längd, fram och tillbaks, och fram och tillbaks och du gör det där i en otempererad tjugofemmetersbassäng.
 
Du måste tro på att något händer till slut. Eller också är du bara galen. Ja och det är såklart stor risk att det är så. Att du är galen. Att det du gör bara är ett evigt dunkande av huvudet i väggen. Det är ju ändå vad alla säger om dig hur som helst. Men det gör iof alltid människor som inte själva orkar. Det vet varenda en som summit fram och tillbaks och fram och tillbaks och sen till slut slagit ett världsrekord. De som gjort det där men aldrig kommit bättre sjua vet också. Du är själv. Tills det händer något. Och att vägen skulle vara målet är bara struntprat. Nonsens. Att alla hejar på David i kampen mot Goliat är också bara struntprat. Det fungerar bara som efterkonstruktion.
 
Ja och som galen kan man bli ihågkommen som en sådan där som Lim-Johan eller Joll, ja ni vet han med Jolls trädgård (http://www.helahalsingland.se/halsingland/ljusdal/jolls-tradgard-en-sevardhet). Döda original som i alla fall då åtminstone blir ihågkomna. Ja det är i alla fall mer än man kan säga om alla deras belackare. Vem minns dom? Så också det är väl alltid något.
 
Men oftast minns vi såklart inte de flesta som simmar och simmar och simmar. Vi och alla andra är kuggar i ett stort maskineri och gör det vi måste göra. Det är inte svårare än så. Vi är en del i allt som händer ändå. Svårt att se där inne bland kugghjulen.
 
Man tror på något. Man vill realiserar det. Tror man på något stort så tar det såklart lång tid att realisera det du vill göra. Då lyckas man antingen få andra att hänga med och tro på den vision man har, vilket gör att det går snabbare att realisera det man vill göra eller också gör man inte det. Och gör man inte det måste man göra alltihop själv såklart. Om det nu skall bli gjort. Men gräver man några spadtag varje dag i sexton år så blir det ändå en jävla grop. Det måste man också inse.
 
Så sexton år. En lång tid. Kanske räcker inte ens ett liv för att realisera det här projektet. Jag börjar bli gammal . Men skall man sluta försöka? Än känns det inte så för mig. Tio år till klarar jag i alla fall. Tror jag. Kanske. Det är lite som den där majkasen vi hade i Edsbyhem när jag var barn. Jag började bygga den i januari. Sågade ner träd efter Voxnan och släpade dit och lastade på efter skolan. Samlade pengar till fyrverkeriet i granskapet i början av april. Tre dagar före sista april var alla ungar med och byggde majkase. Ja och den blev stor och fin och en succé. Alla blev glada. Det är det man får hoppas på.
 
 

VSCP nominerat

Screenshot from 2016-01-12 08:36:29

VSCP kom med i Postscapes framröstning av bästa IoT Open Source lösning igen.  Så rösta. Man kan rösta en gång per dag. Problemet med alla sådana här framröstningar är att de är ungefär som Luciaframröstningar. Man skall ha många vänner för att vinna. Men det är som det är. Någon ny kanske i alla fall får upp ögonen för VSCP.

Roligt är också att ett projekt konstruerat av en Indisk VSCP utveckare också finns med. UIMagician. Med UIMagician kan man konstuera UI’s för VSCP och andra plattformar.

Tittar man runt så ser man att det är en hel del Svenska projekt nominerade. Det borde kanske tas upp någonstans av någon som orkar.

IoT with the Best 16/1 & Discount

tumblr_nxw7ecll4G1tl8u0ko1_400

I (Ake) will speek on the Learn IoT with the Best conference ned Saturday. Pressrelease is below.  If you want to join in (yes you can listen to other talks than mine) enter the “ParadiseIoT” discount code when registering and you will get a 50% discount on the attendance fee.

Press release

LEARN IOT WITH THE BEST
Saturday, January 16, 2016, 10:00 a.m. to 6:00 p.m. (EDT)

A full-day online conference with one-to-one mentoring sessions specialized in IoT right
in the comfort of your homes.

After Learn AI With The Best, the team is back on Saturday, January 16th with Learn IoT
With The Best.

Learn IoT With The Best is a full-day online conference tailored for developers who want to explore the IoT universe deeper.
Right in the comfort of their homes, the participants will enjoy an empowering interactive
experience through a friendly platform specially designed for this event. Certainly, the
attendees will be supplied with a set of tools to interact with the best IoT experts:
• a chatroom to ask live questions during the conferences;
• Q&A forum after the conferences during which both experts and attendees can share
knowledge and information;
• one-to-one live mentoring sessions with the chosen expert(s);
• downloadable presentations at the attendees’ disposal;
• 6-month guaranteed access to the conferences, Q&A forum and one-to-one sessions.
More than 300 attendees are expected to listen and interact with at least 12 technical experts selected worldwide and coming from various backgrounds: IoT meetups speakers, startup CTOs, and Technical Evangelists in large groups such as Microsoft and Amazon.
Useful information
Official Website: http://iot.withthebest.com/
Date: Saturday, January 16th – 10am to 6pm (EDT)
Venue: Online
Twitter & Official Hashtag: @LearnWTB / #IoTWTB
Themes: IoT / Wearables/ m2m/ IoT Cloud/ IoT Platform/ Smart Cities/ Connected Objects.
Who will be speaking ?
Skilled developers, tech evangelists, CTOs in IoT startup and so on…
Who can participate?
Skilled developers, designers, data analysts, makers, startupers and entrepreneurs interested in
IoT.
About BeMyApp
BeMyApp is the first developer relations’ agency providing companies with tailored
hackathons, dev-oriented meetups, conferences, incubators and online contests.
More information on the official website: iot.withthebest.com
Press Contact: Sirine EL BEKRI, sirine@bemyapp.com +33 6 24 08 49 44

Att fylla femton

13070402-celebrating-and-party-design-with-festive-balloons-floating-with-confetti-and-streamers-as-a-symbol-

Mitt projekt VSCP fyller femton år idag. Femton år är en lång tid. Man kan inte driva ett projekt under så många år och göra det utan egentlig framgång utan att vara galen. I alla fall antagligen inte. Alltså, inte lite galen, sådär man skriver. Förmildrande och lite sött sådär. Vem vill inte vara “lite galen”. Nej man måste nog defacto vara helt galen för att gå igenom det här. Dag efter dag i femton år. 5475 dagar. Dåligt med pengar. Sexton timmars arbetsdagar. Vardag som helg. Sällan en klapp på axeln. Vinter som sommar. I uppgång och i nedgång.

Jag brukar säga att det jag gör bara handlar om att förändra världen. Ja jag brukar faktiskt säga “jag skall förändra världen“. Det är mitt mål med VSCP. Jag tror verkligen på att det jag gör kan förändra världen. Ja och jag vet att det provocerar. Att det flinas öppet och i smyg när man säger sådär. “Vem fan tror han att han är?” Därför älskar jag att säga just det mer än allt annat. Verkligen älskar det.

Det har aldrig funnits en enda människa som har förändrat världen utan att ha bestämt sig för att göra det. Japp. Å andra sidan finns det säkert miljoner som jag som säger att de skall förändra världen men sen ändå inte lyckas med det. Men faktum är att vi alla försöker. Också i det finns en vinst. Det vet varje idrottare. Ingen vinner en enda match som inte tror den kan vinnas innan den har spelats. Att kämpa och tro på något är en seger det också. Att inte göra det är den verkliga förlusten.

Men galen måste man vara. Turligt nog finns en trösterik lycka i att vara just det.

Så femton år idag. Om jag orkar femton år till vet jag inte. Troligen inte. Men lever man så kanske. Det är fortfarande roligt det här varje dag. Nåja. Nästan. Det är mest kamp.

Enklast är det såklart att följa de andra. Göra lika. Satsa på det som är hett just nu. De har varit många de där heta projekten under de här femton åren. De har kommit och gått. De flesta har de facto dött också. Alla? Ingen har ens någon aning längre om att de en gång ens har funnits. Så fungerar det ju. De vrommar förbi en som snabba, nya, skinande bilar de där projekten. Pengastinna. Omskrivna. Själv tuffar man fattigt på. Man ser dom sen där längre fram i diket. Ingen skriver om det.  De som följer. Icketänkare.  De som alltid följer de som det skrivs mest om har redan hittat någon annan att följa.

Så grattis på dig VSCP idag. Ett projekt och ett liv. Något att tro på och hålla fast vid. Ett år till skall vi väl i alla fall klara av. På något sätt. Det tar tid det där att förändra världen.

VSCP for dummies

accra_testing

Det ramlar in ordrar. Lossnar lite. Eller mycket. Bra såklart. Men än är det en bit kvar till världsherravälde. Som sig bör. Men det där kommer. Det känns som om det här året kommer att ge tillbaks en del. Helst mycket. Det är vi värda här i huset. Ja tamefan.

För någon som håller på med något som ingen förstår vad det är så kan det kanske tyckas konstigt att folk faktiskt vill köpa. Det talar för sig själv att jag hittills fått bara en order från ett företag i Sverige. Man måste vilja förstå för att kunna förstå. Men jag orkar inte med de ignoranta längre. Eller det handlar väl snarare om att de flesta bara följer strömmen. Det är tur för sådana som mig att världen finns. Den innehåller fler som orkar försöka förstå.

Men vad gör jag då?

Ja tänk dig att du köper ett nytt intelligent kylskåp. De brukar brumma igång eller hur? Sen är det inte så mycket mer. Men säg nu att det har mitt system inbyggt. VSCP. Japp då talar det om att det finns när det installeras.

“Hej jag är ditt nya kylskåp”

Ja det kanske inte pratar, eller ja varför inte, men troligare är att det säger det där genom en dator, en platta eller en mobiltelefon.

Sen har ju det där kylskåpet manualer och steg för steg anvisningar, användaranvisningar inbyggda såklart. De finns där jämt. Telefonnummer, webbadress och email till tillverkaren också. Småsaker. Men håll med om att det är rätt praktiskt. Och så sparar det en jävla massa träd.

Men intelligenta kylskåp kan naturligtvis göra en massa intelligenta saker. Så det berättar vad det kan göra för dig

1.)  “Jag kan….”
2.)  “Jag kan….”
3.)  “Jag kan….”
4.)  “Jag kan….”

så du startar en steg för steg process för att få det att göra det de säger att det kan. Ja som

“beepa mig på telefonen om dörren är öppen för länge, om temperaturen går ner för mycket, om strömmen försvinner”

“ja eller talar om att det nog håller på att gå sönder, skall jag ringa en reparatör?”

Men det kan såklart också jobba tillsammans med spisen och tvättmaskinen och varmvattenberedaren. Ja om spisen körs gör det väl inte så mycket om temperaturen tillfälligt går upp en grad i kylskåpet. Samma sak när värmeelementet i tvättmaskinen är igång. Ja och varmvatten beredaren och kylen kan ju turas om att sluka energi. Ja så man kan gå ner till en lägre säkring. Spara pengar. Spara miljö. Kan köras på solcellerna på taket.

Sen kan du såklart se hur mycket energi den där burken drar varje dag. Hur många gånger dörren öppnats per dygn. När!? Vill man veta det? Av vem? Så att dörren kan låsas innan nattmackedags. Ja jag skulle behöva det. Ja det kanske till och med lär sig att på fredagar klockan sjutton kommer någon hem och matar in en jävla massa varma saker från ICA  så det är kanske läge att börja sänka temperaturen redan vid sexton för att vara beredd liksom. Beredd på kylskåps vis.

Ja sådär intelligent som det här kylskåpet är så borde det sannerligen stänga dörren själv också om den är öppen för länge. Eller i alla fall tala om för ägaren hur mycket han/hon skulle tjäna på att inte ha dörren öppen så mycket. Eller nått.

Det bästa av allt. När du köper spisen, tv’n, radioklockan, mikrovågsugnen, lampan, bilen, så fungerar deras inställningar på exakt samma sätt. Har du gjort det en gång, ställt in en sak, så ser det lika ut på nästa burk eller maskin eller vad det nu är. Steg för steg tas du igenom inställningar för allt. “Jag vill…” “OK gör ett, gör två, gör tre…”. Klart!

Ingen konstigt med det liksom. Inget konstigt alls egentligen.

Ja ja ja säger du. Javisst säger jag.

Jag gör grejer som verkar utan att synas. De sitter i skåp och boxar (eller i ett kylskåp då) och gör sin grej. Men hade jag stålar skulle jag nog höra några grejer som syntes också. Japp plocka in dom yngsta mest hungriga från någon designlinje och köra. Dom som visat att de tänker annorlunda.  Ja man måste kunna material och vad det går att göra om man skall skapa det som är häftigt. Men man skall inte kunna så mycket att det är en begränsning. Man måste också vara beredd att tänja på gränserna.Tills gummibanden nästan går sönder. Men bara nästan.

“Går det där?”
“Ja tamefan kanske.”
“Fast ingen har någonsin gjort det förut.”
“Desto bättre, det är just det vi letar efter.”

Att förändra världen är inte för lipsillar och försiktiga.