Arduinolyzer.js: Förvandla din Arduino till en logik Analyzer (4 / 8 steg)

Steg 4: Node.js Server



Här är serverns huvuduppgifter:

  • Initiera serieporten och starta Arduino
  • Starta en HTTP-server
  • Servera den index.html -sidan (och alla statiska sidor från "/")
  • Svara på AJAX POST till "/ starta" genom att leverera data till Arduino via serieport objektet
  • Registrera en motringning för att lyssna till Arduino för slutförande
  • Får och paketera Arduino data till en JSON objekt och skicka den till klienten via socket.io

Detta sker i ett hundratal rader kod tack vare befintliga npm moduler. Som servern accepterar en kommandoradsparameter, namnet på serieporten (/ dev/tty * på mac/unix och COM * på Windows).

[Varning: detta är min första gången du använder serialPort paketet. Jag hade inte några problem, men jag har inte den känslan av att verkligen förstå det ännu, i det som gör mig illa till mods. Ibland har Felsökningskonsolen konstiga tecken i den när Arduino startar. Det kan bero på den TTY inte att spolas, eller det kan bero på något jag inte förstår om seriell port timing. Behaga låta mig veta om du har några problem.]

Innan server.js startar HTTP-tjänsten med Express app lyssnare, initierar det seriell port som första argument på kommandoraden. Det måste finnas en tre sekunder timeout väntar på enheten för att starta upp. Jag lade till ytterligare förebyggande åtgärder för att vänta på "initierade" strängen från Arduino innan användaren kan skicka data.

Klient till Server-kommunikation

Det finns bara två ändpunkter exponeras av servern, POST till "/ starta" och få från "/".

Klienten till servern samtal via AJAX hanteras av en formidabel formulärobjektet. Express app slutpunkten "localhost: 8080 / start" fångar POST överföring via formulärobjektet, som kommer in som text JSON objekt inföding. Jag egentligen behöver inte ett objekt, jag kunde ha använt en textsträng, men jag lämnade viss flexibilitet. Jag ens registrera inte en .on() återuppringning med objektet POST, jag helt enkelt hänvisa till parametern "fält" under parse() samtalet.

Sidan index.html serveras med hjälp av Express statisk sida server modul. Allt i allmänheten / mapp kan serveras på så sätt inklusive CSS- och JS moduler.

Server till Arduino kommunikation

Eftersom klienten färdigformaterade kommandosträngen, servern helt enkelt skriver det till den seriella porten som-använder serialport.write() via objektet analyzer .

Arduino till Server-kommunikation

Svaret från Arduino kommer i på den seriella porten .on('data') motringning i objektet analyzer

Server till klientkommunikation

Data återuppringning hanterar också förpackning data till en JSON objekt och skjuta den till klienten via ett socket.io tryck. (Detta är alla mycket spännande och uppfriskande jämfört gör web push tillbaka i slutet av 1990-talet!)

Jag la några log kommandon så att jag kan titta på dataströmmar från både Arduino och klienten. Jag använder också morgan paketet för att spårar HTTP-begäranden.

Se Steg
Relaterade Ämnen

Förvandla din Arduino till en 4 röst wavetable synth med endast ett fåtal komponenter...

Flera synthesizer projekt har gjorts för Arduino, men få har kunnat utnyttja den fulla kraften av Arduino processorn. DZL från GeekPhysical skrev en 4 röst wavetable synthesizer som är en av de mer avancerade mjukvara baserad synthar för Arduino. Det...

ArduFlake: Förvandla din Arduino till den bästa gåvan av alla!

Vänligen rösta på mig i tävlingen Holiday Gift och gör det glöda tävling!Först, detta började som en gåva, och inte en instructable. Så snälla ursäkta vissa hand waving här och där som jag inte har några bilder av etsningen och borrning delar.För det...

Kompilera om (Rename) och Flash HIDUINO med ISP att förvandla din Arduino till en HID (usb-midi) enhet

HIDUINO är en firmware (kod) gjorda för att köras på mikrokontroller Atmega8u2 (Arduino UNO Rev 2- och tidigare- eller Mega2560) och Atmega16u2 (Arduino UNO Rev3).Dessa är de som ansvarar för att få datorn och styrelser att prata med varandra. När de...

Förvandla din Arduino till en magnetisk kortläsare!

Alla har använt en magnetkortsläsare, tror jag. Jag menar, Vem bär pengar dessa dagar? De är inte svåra att få tag på, antingen, och under en resa till min favorit lokala elektronik affär, jag hittade en lagerplats full av dessa killar. So... naturli...

Förvandla din Arduino in an ISP

lära sig att förvandla din Arduino till en AVR i System programmerare. Detta gör att du kan bränna bootloaders på nya marker eller programmet AVRs utan en bootloader.Steg 1: materialFör att börja du behöver:* Arduino (jag kommer att använda Uno)* AVR...

Förvandla din mollskinn till en haj dinosaurie monster med 3D tryckta delar

Detta projekt ingår i ett kort och roligt samarbete med kollega Pier 9 sänds konstnärer i Residence Bernie Lubell, Maddy Maxey och Andrew Thurlow. I början av vår hemvist fick vi alla dessa coola lilla bärbara datorer. För ett litet projekt beslutat...

Titta på TV-kanaler från hela världen gratis på ditt hem TV och förvandla din TV till en billig hem-PC

Med hjälp av en $50 Android Mini PC (hittas via Amazon eller eBay), ex-pats eller alla som vill berika sina kunskaper i främmande språk titta på utländska TV-stationer på deras hem TV. Android Mini PC ansluter till en HDTV uppsättning, och med tilläg...

Hur till: ansluta din Arduino till Internet som en webbserver

SAKERNAS INTERNET... < kö blixtar och åska >Det är vad alla coola barnen gör dessa dagar. Varför ska de ha allt roligt? Låt oss ställa in en Arduino som en webbserver som vem som helst, var som helst kan visa. Varför skulle vi göra en sådan sak? Möj...

Förvandla din konst till en Quilt

Konst! Tyg!Jag tror ett sovrum är så mycket mer mysigt när det är anpassat till din specifika smak och preferenser. Visst, det är billigare att köpa ett täcke från en stor låda butik. Men att skapa ett vackert täcke för att pryda din säng är ett säke...

Förvandla din telefon till en svart ljus hacka

Förvandla din telefon till en svart ljus hacka. Dess super lätt att göra!Allt som krävs är en smartphone med en ljus, tre bitar av små band och två sharpies. En blå, en lila.Ta den första bit tejp, placera den över kameran flash på baksidan av telefo...

Förvandla din Tablesaw till en rikthyvel

Det finns några verktyg som kan vara svårt att komma med, antingen de är för dyra, svårt att hitta används, eller bara inte som vanligt för DIY'ers. Jag har hittat att lamellfräsar är bland dessa verktyg.Lyckligtvis finns det ett enkelt sätt att förv...

Vill du förvandla dina foton till en skulptur?

Kreativa människor älskar att göra nya saker och att föreställa sig nya prylar.Förresten, nu har vi en hel del teknik som kan hjälpa oss att utveckla miljontals coola saker. Jag gillar bilder och Selfies väldigt mycket och jag skulle älska att ha dem...

Förvandla din Arduino Uno till en USB-HID-Mididevice

medan bygga en Arduino Uno baserat Midi-Controller för Ableton Live, jag kom över HIDUINO projektet (http://code.google.com/p/hiduino/). Det kan du vända din Arduino Uno (eller någon annan enhet med en AVR-USB-chipset som 8u2) i en förarlös HID/MIDI-...

SensoDuino: Förvandla din Android till ett trådlösa sensorer nav för Arduino

Uppdateringar23 nov 2013: SensoDuino 0.160 får ett ansikte kvar.19 nov. 2031: yttrande: fantastiska synergin mellan Arduino & Android.19 nov 2013: SensoDuino 0.159 är ute. Sensorer som stöder Android telefon datum (y, m, d) och tid (h, m, s). Stöd fö...

Förvandla din laserpekare till en "spot-flash light" :)

Hi... i denna ultra lätt instructable kommer jag visa dig, varm för att ändra din laserpekare till en (plats) flash lätt.Delar du behöver:1. laserpekare2. kameralinsen från små "Spion" kamera3. limma pistol eller tejpOch det är det :)... passar...

Förvandla din Doodles till skatter!

Någonsin vill lägga din doodles på något rad men inte kunde riktigt lista ut? Tja, Techshop har fått lazer balkar och saker att göra dessa doodle drömmar!De saker som du behöver för detta projekt:En TechShop medlemskapEn doodleBalsa eller annat virke...

Förvandla din Wii till en webbserver

Steg 1: Hämta WWS AppInnan vi börjar Observera att din wii måste ha homebrew kanalen installerat för att detta ska fungera. (Om du vill ha mig att jag kan göra en instructable på hur man gör detta)1. gå till http://wiibrew.org/wiki/Wii_Web_Server och...

Förvandla din telefon till en Robot

Att införa PhoneBOT!En billig, enkel och snabb metod för att konvertera en Android-telefon till en kan programmeras om robot. Ingen ytterligare hårdvara (mikro-styrenheter, motor förare, etc.) krävs!Du kommer att kunna köra en färdiga PhoneBOT från d...

Förvandla dina ritningar till en 3D-modell!

Hej alla, tack för att titta på mitt projekt. I detta projekt ska vi Rita ett mönster och förvandla det till en pennhållare! Här är de saker du behöver.SharpieLinjalenBlankt papperKameran (det kan vara en smart telefon)Dator med en Internetanslutning...