Bygg Internett av ting, med Tessel Node.js Development Board

Bygg Internett av ting, med Tessel Node.js Development Board / DIY

Tessel er en ny rase av utviklingsbrett som kjører helt på Node.js Hva er Node.JS og hvorfor skal jeg bryr meg? [Webutvikling] Hva er Node.JS og hvorfor skal jeg bryr meg? [Webutvikling] JavaScript er et bare programmeringsspråk på klientsiden som kjører i nettleseren, ikke sant? Ikke nå lenger. Node.js er en måte å kjøre JavaScript på serveren på; men det er så mye mer også. Hvis ... Les mer, og etter en vellykket kickstarter, har de nå nådd poenget med å være tilgjengelig for alle. Hva er det nøyaktig, hvordan er det forskjellig fra andre hobbykort, og hvilke potensielle bruksområder har den?

Hva er Tessel?

Tessel er et rent Node.js-utviklingsbrett, så alt er skrevet i JavaScript og kjører med en super rask Node-motor utviklet av Google. Det er $ 99 inkludert ditt valg av en grunnmodul, eller $ 125 med en avansert modul som RFID.

Når det gjelder maskinvare, har Tessel:

  • 180 MHz ARM prosessor
  • 32 MB SDRAM
  • 32 MB flash lagring
  • 20 GPIO-pinner
  • Innebygd WiFi (selv om signalet er svakt, så det anbefales at du legger til din egen antenne)

Den innebygde WiFi-en er en beundringsverdig funksjon: I en enkel kommando hadde jeg min Tessel koblet til hjemmenettverket, hvor detaljene deretter blir lagret separat til alle programmer du legger til, slik at det automatisk kobles til igjen hver gang.

For tiden er det ikke nødvendig med spesiell IDE (eller forutsatt) å programmere for Tessel. Siden det er standard JavaScript, kan du bruke hvilken som helst tekstredigerer eller en programmeringsorientert redigeringsprogram som Sublime Text (sjekk ut anmeldelsen. Prøv ut Sublime Text 2 For Kryssplattform Kode Redigering Trenger Prøv Sublime Tekst 2 For Kors-plattformskoden Redigeringsbehov Sublime Text 2 er en korsplattformskodeditor som jeg nylig har hørt om, og jeg må si at jeg er veldig imponert til tross for beta-etiketten. Du kan laste ned hele appen uten å betale en krone ... Les mer) for syntaksutheving . Opplasting av kode til Tessel gjøres via kommandolinjen i en enkel kommando. Som med en hvilken som helst Node-applikasjon, finnes det tusenvis av programmeringsbiblioteker - for eksempel en enkel webserver - tilgjengelig for å slippe inn i applikasjonen din ved hjelp av NPM (nodepakken).

Det finnes 14 forskjellige maskinvaremoduler for å legge til ekstra funksjoner som infrarød eller RFID, selv om noen ikke er frakt. De jobber på samme måte som Arduino skjold, som slår seg inn i en av de fire modulproppene på Tessel. Hvis det går av på samme måte som Arduino har, bør vi forvente å se tredjeparts tillegg ganske snart.

På bildet nedenfor: RFID- og IR-modulene koblet til Tessel via 3 av de 4 ekspansjonsportene.

Sammenligning med Raspberry Pi

Mye av hva Tesselen kan gjøre kan allerede oppnås med en Raspberry Pi nettopp kjøpt en Raspberry Pi? 11 ting du trenger å vite har nettopp kjøpt en bringebær Pi? 11 ting du trenger å vite I denne videoen forklarer vi alt du trenger å vite om du nettopp har kjøpt en Raspberry Pi, eller tenker på å kjøpe en. Les mer: En Pi kan kjøre Node.js, for eksempel, ganske sakte (vi prøvde i Heimcontrol-hjemmautomatiseringsprosjektet. Hjemmautomatiseringsguide Med Hempebønner Pi og Arduino Hjemmautomatiseringsguide med Raspberry Pi og Arduino Hjemmautomatiseringsmarkedet er oversvømmet med dyrt forbrukssystemer, inkompatible med hverandre og kostbart å installere. Hvis du har en Raspberry Pi og en Arduino, kan du i utgangspunktet oppnå det samme ved ... Les mer); og den har et sett med GPIO-pinner for interaksjon med sensorer. På samme måte som Pi, opererer Tessels GPIO-pinner med maksimalt 3,3 volt, men styret gir strøm for 5 volt.

Enkel bruk er den viktigste forskjellen. Installere Node.js på en Raspberry Pi er ikke en enkel oppgave, og selv med grafiske skrivebordsfunksjoner er deaktivert, kjører Node i en snegls tempo. Du må SSH inn i Pi eksternt for å redigere filer, og så er det spørsmålet om konfigurering av trådløst nettverk. Sette opp trådløst nettverk på Raspberry Pi. Opprett trådløst nettverk på Raspberry Pi. Nesten hvert Hindbær Pi-prosjekt vil kreve en nettverkstilkobling , og stor fleksibilitet kan oppnås ved å ignorere Ethernet-porten til fordel for en trådløs USB-dongle. Les mer .

Opplasting av din Node.js-kode til Tessel er en enkelt kommando, som kobler til WiFi. Og ved å kjøre Node innfødt, er det mye raskere.

Selvfølgelig kan du ikke bruke Tessel som en generell form for billig datamaskin som Pi. The Pi er en jack-of-all-trades og en mester av ingen; Tessel er en mester på bare kjører knutepunkt. Pi har også betydelig mer RAM, og mer diskplass for appene dine takket være SD-kortlagring.

Sammenligning med Arduino

Arduino Hva er Arduino: Alt du trenger å vite (i video) Hva er Arduino: Alt du trenger å vite (i video) Hva er en Arduino og hvorfor bør du bryr deg? I denne videoen prøver jeg å svare på det spørsmålet og mer. Les mer er en ekstremt billig mikrokontroller (du kan til og med bygge en selv), tilgjengelig i en rekke formfaktorer. Med et tankevekkende antall opplæringsprogrammer og tilleggsfunksjonalitet tilgjengelig via standardkomponenter samt breakout boards, er den en ideell lavprisstarter i elektronikkverdenen. Den bruker et spesielt programmeringsspråk som er hentet fra C og et tilpasset utviklingsmiljøprogram (IDE), men det er ikke mindre vanskelig å plukke opp enn Node / JavaScript, spesielt hvis du allerede har en liten opplevelse.

Programmering i Node er lettere for ting som å reagere på sensorer, takket være det hendelsesbaserte paradigmet. Med Arduino betyr reaksjon på sensorer at du legger til en funksjon for å lese verdien hver loop-syklus. Med knutepunktet knytter du ganske enkelt til et arrangement, som deretter avfyres når et signal blir oppdaget.

Behandlingseffekten og minnet til Arduino er ganske begrenset i forhold til Tessel - det vil ikke håndtere noe programvare-tungt. Selv den største av de sanne Arduino-kortene tilbyr kun 128 kB flashminne med 8 kB RAM.

Når det er sagt, hvis prosjektet ditt er tungt elektronikkbasert, eller du trenger mer grunnleggende tilgang til ting som forstyrrelser og timings, vil du kanskje holde fast ved en Arduino. Kostnaden er også en stor forskjell, selvfølgelig.

Det dårlige

I teorien skal Tessel jobbe med de fleste NPM-pakker. I praksis er det buggy, og på tidspunktet for skrivingen var verken Express eller Sockets.io helt funksjonelle på grunn av inkompatibiliteter i kjerne HTTP-moduler. Jeg har ingen tvil om at disse blir løst i tide, men akkurat nå er det litt begrensende.

Selv om utvidelsemodulets maskinvare er en fin pakke, er Infra-Red-funksjonaliteten nesten ikke så enkel å jobbe med som Arduino One. Introduksjon av TV-djevelen, en enkel fjernkontroll Arduino Prank. Introduksjon av TV-djevelen, en enkel fjernkontroll Arduino Prank Les mer - det krever bruk av dekodede buffere, i stedet for standardsignaltypen + Hex-koden vi er vant til. Igjen, forbedringer er lovet her senere nedover linjen.

WiFi-antennen har også et fryktelig utvalg - vi snakker samme rom, ideelt - og forbedrer det innebærer en stygg bit av litenskala lodding (selv om instruksjoner om hvordan å gjøre hack er veldig tydelige). Dokumentasjon foreslår også at WiFi-brikken kan ha problemer med 802.11n-hastigheter og 5 GHz-nettverk, selv om jeg i det minste kunne få den tilkoblet mitt 802.11n 2.4GHz-nettverk. Inkludert en bryter for antennehakk med den eksterne kontakten som er loddet, ville vært mye verdsatt, og ikke alle er sikre på et loddejern.

Hva er Tessel bra for da?

Tingenes Internett. Tessel har mye å like om det, men det er tidlige dager ennå. Ombord WiFi betyr at den er perfekt for en ny generasjon sammenkoblede enheter; mens Node-støtte fra bakken skal sikre rask og enkel implementering av JSON APIer eller enkle serverstabler.

Tessel er en å se - en potensiell utfordrer til å ta kronen fra Arduino, selv - men jeg vil holde ut for nå til noen rynker har blitt stryket ut. Og hvis du bestemmer deg for å kjøpe en, finner du noen gode Tessel DIY opplæringsprogrammer fra oss for å se etter i horisonten.

Utforsk mer om: JavaScript, Programmering.