Tessel är en ny typ av utvecklingskort som körs helt på Node.js, och efter en framgångsrik Kickstarter har de nu nått punkten att vara tillgängliga för alla. Vad är det exakt, hur skiljer det sig från andra hobbybrädor och vilka potentiella användningsområden har det?
Vad är Tessel?
Tessel är ett rent Node.js-utvecklingskort, så allt är skrivet i JavaScript och körs med en supersnabb Node-motor utvecklad av Google. Det är $99 inklusive ditt val av en grundmodul, eller $125 med en avancerad modul som RFID.
När det gäller hårdvara har Tessel:
180 MHz ARM-processor 32 MB SDRAM 32 MB flashlagring 20 GPIO-stift Inbyggd WiFi (även om signalen är svag, så det rekommenderas att du lägger till din egen antenn)
Den inbyggda WiFi är en beundransvärd funktion: med ett enkelt kommando hade jag min Tessel ansluten till mitt hemnätverk, vars detaljer sedan sparas separat i alla program du lägger till, så att den automatiskt återansluts varje gång.
För närvarande krävs (eller tillhandahålls) ingen speciell IDE för att programmera för Tessel. Eftersom det är standard JavaScript kan du använda vilken textredigerare som helst, eller en programmeringsorienterad redigerare som Sublime Text (kolla in min recension) för syntaxmarkering. Uppladdning av kod till Tessel görs via kommandoraden i ett enkelt kommando. Som med alla Node-applikationer finns det tusentals programmeringsbibliotek tillgängliga – såsom en enkel webbserver – tillgängliga för att komma in i din applikation med NPM (Node Package Manager).
Det finns 14 olika hårdvarumoduler för att lägga till extra funktioner som infraröd eller RFID, även om vissa ännu inte levereras. De fungerar på ett liknande sätt som Arduino-sköldar och går in i en av de fyra modulpluggarna på Tessel. Om det tar fart på samma sätt som Arduino har, bör vi förvänta oss att se tredjepartstillägg ganska snart.
Bilden nedan: RFID- och IR-modulerna anslutna till Tessel via 3 av de 4 expansionsportarna.
Jämförelse med Raspberry Pi
Mycket av det som Tessel kan göra kan redan uppnås med en Raspberry Pi: en Pi kan till exempel köra Node.js, om än väldigt långsamt (vi försökte i Heimcontrol-hemautomationsprojektet); och den har en uppsättning GPIO-stift för att interagera med sensorer. På samma sätt som Pi, fungerar Tessels GPIO-stift på maximalt 3,3 volt, även om kortet ger ström för 5 volt.
Användarvänligheten är den huvudsakliga skillnaden. Att installera Node.js på en Raspberry Pi är inte en lätt uppgift, och även med grafiska skrivbordsfunktioner inaktiverade går Node i snigelfart. Du måste SSH in i Pi på distans för att redigera filer, och sedan är det frågan om att konfigurera trådlöst nätverk.
Att ladda upp din Node.js-kod till Tessel är ett enda kommando, liksom att ansluta till WiFi. Och genom att köra Node inbyggt går det mycket snabbare.
Naturligtvis kan du inte använda Tessel som en allmän billig dator som Pi. Pi:n är en jack-of-all-trades och ingen mästare; Tessel är en mästare på att bara köra Node. Pi har också betydligt mer RAM-minne och mer enhetsutrymme för dina appar tack vare dess SD-kortlagring.
Jämförelse med Arduino
Arduino är en extremt låg kostnad mikrokontroller (du kan till och med bygga en själv), tillgänglig i en mängd olika formfaktorer. Med ett häpnadsväckande antal tutorials och ytterligare funktioner tillgängliga via standardkomponenter såväl som breakout-kort, är den en idealisk lågkostnadsstartare i elektronikens värld. Den använder ett speciellt programmeringsspråk som härrör från C och en anpassad utvecklingsmiljöapplikation (IDE), men det är inte mindre svårt att ta till sig än Node/JavaScript, särskilt om du redan har lite erfarenhet.
Programmering i Node är lättare för saker som att reagera på sensorer, tack vare det händelsebaserade paradigmet. Med Arduino innebär att reagera på sensorer att lägga till en funktion för att läsa av värdet varje loopcykel. Med Node kopplar du helt enkelt till en händelse, som sedan avfyras när en signal detekteras.
Bearbetningskraften och minnet hos Arduino är ganska begränsad jämfört med Tessel – den kommer inte att hantera något mjukvaru-tungt. Även det största av de riktiga Arduino-korten erbjuder bara 128KB flashminne med 8KB RAM.
Som sagt, om ditt projekt är starkt elektronikbaserat eller om du behöver mer grundläggande tillgång till saker som avbrott och timings, kanske du vill hålla dig till en Arduino. Kostnaden är också en stor skillnad, förstås.
Det dåliga
I teorin borde Tessel arbeta med de flesta NPM-paket. I praktiken är det buggigt, och i skrivande stund var varken Express eller Sockets.io fullt fungerande på grund av inkompatibiliteter i kärn-HTTP-moduler. Jag tvivlar inte på att dessa kommer att fixas i tid, men just nu är det lite begränsande.
Även om expansionsmodulens hårdvara är ett trevligt paket, är den infraröda funktionaliteten inte alls lika enkel att arbeta med som Arduino – den kräver användning av avkodade buffertar, snarare än standardsignaltypen + Hexkod vi används till. Återigen utlovas förbättringar här längre fram.
WiFi-antennen har också en fruktansvärd räckvidd – vi pratar helst om samma rum – och att förbättra den innebär en otäck bit av småskalig lödning (även om instruktionerna om hur man gör hacket är mycket tydliga). Dokumentationen tyder också på att WiFi-chippet kan ha problem med 802.11n-hastigheter och 5GHz-nätverk, även om jag åtminstone kunde få det anslutet till mitt 802.11n 2,4GHz-nätverk. Att inkludera en strömbrytare för antennhacket med den externa sockeln förlödd skulle vara mycket uppskattat, och inte alla är säkra på en lödkolv.
Vad är Tessel bra för då?
Sakernas internet. Tessel har mycket att tycka om, men det är tidiga dagar ännu. Inbyggd WiFi betyder att den är perfekt för en ny generation av sammankopplade enheter; medan nodstöd från grunden bör säkerställa snabb och enkel implementering av JSON API:er eller enkla serverstackar.
Tessel är en att titta på – en potentiell utmanare att ta kronan från Arduino, till och med – men jag skulle vänta tills några av rynkorna har strukits ut. Och om du bestämmer dig för att köpa en, hittar du några fantastiska Tessel DIY-tutorials från oss att hålla utkik efter vid horisonten.
Om författaren
James Bruce (720 publicerade artiklar)
James har en BSc i artificiell intelligens och är CompTIA A+ och Network+ certifierad. När han inte är upptagen som Hardware Review Editor, gillar han LEGO, VR och brädspel. Innan han började på MakeUseOf var han ljustekniker, engelskalärare och datacenteringenjör.
Mer från James Bruce
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
