Reginald: en UDP-övervakning bot; kontroll via Internet (6 / 26 steg)

Steg 6: Reginalds kod



Det finns två separata program för detta projekt. Arduino (Server) sida och GUI (klient) sida.

Sammanfattning; för att framgångsrikt driva koden för Reginald, måste du utföra följande:

  • Ladda ner allt som krävs. (Arduino och bearbetning IDE, zip-filen på denna Instructable sida och bibliotek)
  • Konfigurera bearbetning genom att placera biblioteken i rätt katalog i mappen bearbetning
  • Konfigurera skissen för GUI
  • Att kunna ladda upp koden till Arduino

För GUI, du kommer att kräva bearbetning IDE (det ser bekant, Arduino IDE baseras på bearbetning IDE), den ControlP5 och Hypermedia biblioteket.

Jag antar att du redan har Arduino IDE, hämta zip i denna instructable sida och följ länkarna för att hämta lämpliga SW:

Bearbetar IDE:
http://Processing.org/download/

ControlP5 bibliotek:
http://www.sojamo.de/libraries/controlP5/

Hypermedia bibliotek (Klicka på "Processing library"):
http://ubaa.net/Shared/Processing/UDP/

Om bearbetning och bibliotek:

Behandlingen är ett bra sätt att enkelt skapa program som öppnar oberoende windows för att fånga användarhändelser. När ett program är klar, är det en struntsak att exportera programmet i en körbar fil. Det finns många sätt att fånga användarinteraktion.

ControlP5 biblioteket hjälper till att skapa de olika knapparna och widgets används i GUI jag gjort. ControlP5 är en överlägsen bibliotek för GUI skapandet. Det är lätt att använda, mycket skarp och omfattande. Med bearbetning och ControlP5, du kan enkelt skapa en kraftfull och har rika användargränssnitt.

Hypermedia biblioteket hanterar all UDP-meddelanden.

Vad gör jag med biblioteken?

När du har laddat ner allt, måste du placera de två biblioteken på rätt plats så att behandling kan hitta dem. Packa upp arkiven (Hypermedia kommer att hämta som en "udp.zip" fil) och Följ vägen:
processing-X.X.X\modes\java\libraries
inom bearbetning mappen i dina nedladdningar. Den "x representerar versionsnumret för bearbetning du har laddat ner. Placera mapparna för biblioteken här.

Nu konfigurera skissen för GUI:

För att konfigurera skissen för GUI, allt man behöver göra är att ta tag i mappen: "GUIClient" från .zipen fil och sätta det någonstans på sin dator.
Inom bearbetning IDE, välja att öppna en skiss och bläddra till mappen "GUIClient". Ange mappen och välj skissen inuti. Ett nytt fönster för bearbetning bör ladda upp med kod. Kör programmet.
Efter att ha valt "Kör", kan ett fel visas inom bearbetning konsolen om programmet inte kan öppna uttaget korrekt. Detta kan förväntas; sedan rätt IP-adress och port sannolikt har inte angetts ännu.

Kryptera Reginald:

Reginald vill inte styras av vem som helst, så han är krypterad med sitt eget lösenord. Se bilderna 4 och 5 för att se en demonstration av detta.

När du skickar kommandot "vakna", ser Reginald detta som en begäran om tillgång. Vid den tidpunkten, finner han din IP-adress och portnummer som du har skickat och skickar en hälsning till dig. Vid denna punkt, kommer han att begära ett lösenord för åtkomst. In i rätt lösenord och du kan ha kontroll. Blir du nekad men om lösenordet är felaktigt.

Om du försöker kontrollera Reginald från en fjärrplats, kanske Tänk på att du inte får Reginalds hälsning och bekräftelse av tillgång. Detta beror på om du är ansluten till wifi för en skola eller ett företag, brandväggen för det wifi kan blockera meddelanden Reginald försöker skicka dig. Men detta påverkar inte funktionaliteten. Om du anger helt enkelt i "vakna" följt av ditt lösenord, får du tillgång inom 15 sekunder. Reginald kommer helt enkelt anta att du har fått paketen. Detta är en av nackdelarna med att UDP i stället för TCP. TCP ser till att paketet tas emot UDP helt enkelt skickar paketet och inte oroa sig för. Men denna brist på kontroll gör UDP mycket snabbare och lätt, vilket jag gillar.

Tider som dessa är där "Låsa Switch" är praktiskt. Om jag skulle skicka "vakna" med "Låsa Switch" oduglig, sedan trycka på tangenterna "w" och "a" skulle skicka kommandon. Detta kan förvirra Reginald, och du skulle nekas försöker skriva in ditt lösenord.

Redigera den 6: e mars, 2013 ***

Bearbetning har sedan dess uppdaterat deras SW från 1.5.1 till Beta 2.0. Om du har version 2.0 eller högre, använda GUIClient2.0 inom zip-filen. Den enda skillnaden är nyckeln fånga metod, du kan läsa om det här:
http://Processing.org/reference/Key.html

Se Steg
Relaterade Ämnen

Android-baserade hemautomation via internet och Ethernet-

Detta är ett projekt för att bistå äldre och funktionshindrade personer att leva mer oberoende.Mitt projekt ge några funktioner som styr hushållsmaskiner använder android smartphone via internet och även Ethernet. Det att de inte flyttar till växeln,...

Mobil Garage dörröppnare via internet

Min garageport är en tubulär motor, med en fjärrkontroll till mottagare i en 433 MHZ. fjärrkontroll batterier tar slut en dag, men inte långt efter jag tillbaka batteriet hitta fjärrkontrollen mottagaren är dåligt. Efter några dagar att manuellt öppn...

Arduino kontroll via en webbtjänst med Teleduino

Konvertera din Arduino till en sofistikerad kontroll webbplattform med hjälp av Teleduino.Teleduino är både en produkt och en tjänst. När Teleduino skissen har laddats på din Arduino ("produkten"), den sedan ansluter till Teleduino servern vänta...

Styra Intel Edison med anpassade Android app via Internet.

¡Hello alla, jag hoppas att detta projekt kommer att hjälpa dig att göra din egen Smart Home kontrollerad via Internet!Projektet består i ett Smart Home system kontrolleras via Internet av en Android-applikation designad av mig. Steg framåt jag förkl...

Prata med din enhet via internet

Du talar, och enheten kommer att lyssna... även om enheten är halvvägs över hela världen!Detta instructable kommer att lära dig hur du använder en röst erkännandesystem baserade på Intel RealSense kameran för att skicka vilsam kommandon via internet...

Monitor kamera och Relay kontroll över Internet

Många av oss har smartphones, iPads eller netbooks som vi tar med oss och det skulle vara bra att checka in på plats, i ett kafé eller när du reser. Nu använder vi raspberry pi 2 för övervakning kamera och Styrrelä över internet. Allt är förklara för...

Styra en Servo via Internet

Detta Instructable Visa dig hur man styr ett servo över Internet, med en Spark Core. Detta Instructable drivs av en gnista kärna och och en liten Servo som ingår i Spark Maker Kit (en normal servo fungerar samma). Denna tutorial är för nybörjare att...

Servo motorisk kontroll via bluetooth med potentiometer

I detta projekt vi servo motorstyrning med potentiometer via bluetooth.Två kommer att göra Arduino styrelsen via bluetooth trådlös haberleştirerek kontroll. Förvaltar en av modulerna för detta (master) medan den andra lyckades (slavar) måste vara i l...

Radar (joystick kontroll) via Labview(+Arduino)

I själva verket min enhet är remake av denna radar: http://howtomechatronics.com/projects/arduino-rada...Men jag tror att göra en remake är värt det, eftersom även trots min version inte är den snygg, jag använder inte sådana fattiga "teknik" so...

Världens första fjärrkontrollen mänskliga via Internet

Jag har nyligen studerat denna sak kallad elektrisk muskel stimulering (EMS) som i grund och botten använder el för att orsaka muskler att flytta. Efter att lära om detta bestämde jag mig att införliva detta i mitt dorisholmats I.O. projekt genom att...

Puls övervakning ansökan via e-post

En puls sensor kan du spåra din puls när du vill. Tänk att kunna spåra din puls när du kör eller sova utan behov av specialutrustning. Detta kan hjälpa dig att veta hur hälsosam din hjärta är och att upptäcka avvikelser bygger på kontinuerliga mätnin...

Mobilapplikation för övervakning och kontroll Arduino, använder kito.io IOT plattform

Övervaka och kontrollera din Arduino från din kito Mobile App.Jag har utvecklat en IOT plattform för att hjälpa DIY beslutsfattare som gör precis som med utan att behöva veta Xcode, Android, JavaScript annat än vet hur man skriver Arduinos skisser; s...

Köpa Biodynamic viner via Internet

Jordbrukare som har blivit missnöjda om mark degraderingar, hittade begreppet Biodynamic viner snarare gynnsamt. Detta är ett vin som tillverkas med hjälp av biodynamiskt jordbruk metoder. Det innebär både metoder för odling och även bearbetning och...

Remote control kontrolleras via Internet

Detta är en ganska komplex handledning, även om jag ska försöka göra det så lätt att förstå för en bred mängd programmerare.Innan, Tänk på att du behöver minst en Altair.Steg 1: teori Först och främst bör vi veta att IR-ljuset är helt enkelt ljus med...

Arduino relay kontroll över internet

Välkommen!Steg 1: Gör en skissAnvänd skissen för att ansluta reläet till Arduino.Skissen kommer att hjälpa dig när du ska skriva koden, så att du vet vilka stift måste du kontrollera med koden.Jag använder en Arduino med W5100 Ethernet Shield Network...

Hur att träffa riktiga människor via internet

Hej där!Jag kommer inte berätta hur man plocka upp flickor i barer, inte heller hur man klä eller agera som någon mer attraktiva än du är...Jag hittade ett intressant sätt att få kontakt med personer som verkliga livet bara genom att surfa på nätet.n...

Styra tre eluttag från en dator trådlöst

hittade jag en billig trådlös fjärrkontroll som styr tre oberoende eluttag.Med sändaren kretskortet och ansluta den till en LaunchPad utveckling styrelse kunde jag fjärrstyra tre 110V uttag med hjälp av en PC. Systemet kan fungera på fyra kanaler så...

Luftfuktighet och temperatur reagerar Lightsource

Detta projekt kom ur min önskan att få en aktiv temperatur avläsning när jag är i mitt rum. att inte vara förtjust i att titta på en liten skärm över rummet, jag ville ha något jag bara kunde känna i mitt rum. med en enkel blick på ljuset i rummet ku...

Hamsterloop

Vill du få din hamster från ena änden av hans bur till den andra i millisekunder? Här är vad du behöver. Och alla för kostnaden och komplexiteten för en ny Ferrari.Tanken på en Hyper-loop, driver människor i hög hastighet mellan San Francisco och LA...