Arduino Candygrabber (7 / 9 stap)

Stap 7: Flash-client en toepassing


Nu dat we onze socket klaar hebben we kunnen naar beneden en vuil met de ActionScript 3.0-code. U kunt de code aan het eind van deze stap downloaden. Na een een heleboel gedachte besloten heb ik niet te gaan voor detail en uitleggen hoe ik schreef de klasse en wat het doet. Het toepassingsgebied van dit instructable is niet om je te leren over klassen, ontwerppatronen en OOP (object georiënteerd programmeren). Ik kom liever concentreren op hoe het te gebruiken. Toen ik begon codering ik besloten om een ontwerppatroon MVC (Model/View/Controller) gebruiken voor de klasse en als het groeide een gerealiseerde dat misschien was het niet het beste idee en dat ik moeten een ander meer eenvoudige en schaalbare gebruiken had ontwerp patroon. Maar wordt graag doorgaan met het project heb ik besloten te houden aan. Maak je geen zorgen de klasse zal werken toch. Ik zal de nieuwe klassen posten zodra ik klaar ben met hen.

Dus open Flash en twee nieuwe flash-bestanden te maken. Een als ActionScript 3.0 en deze de naam Client.fla, en de andere voor Adobe AIR met de naam ArduinoAIR.fla. Vervolgens twee ActionScript-bestanden maken en roep hen ClienDocument.as en ArduinoAIRDocument.as. De client bevat een component TextArea InputText onderdeel met de naam "inputMessage", "msgArea", twee knoppen onderdeel met de naam "sendButton" en "reconnectButton", drie componenten van de schuifregelaar genaamd "motorX", "motorY", "motorZ" en vier dynamische tekstvelden genaamd "red5StatusTxt", "sharedStatusTxt", "socketStatusTxt" en "queueStatus" genoemd.
AIR app heeft dezelfde onderdelen, behalve het heeft ook een extra knop onderdeel met de naam "sendArduinoButton". Wanneer u deze instellen u moet verwijzen elk flash-bestand naar de documentklasse. Document klassen in duidelijke termen worden gebruikt om uw code handmatig verplaatsen van de tijdlijn naar een externe acrionscript-bestand. Dus voor de Client.fla moet de documentklasse ClientDocument.as, en voor moeten ArduinoAIR.fla worden ArduinoAIRDocument.as. OK. Nu open ClientDocument.as en opdat zien wat we hier hebben.

In de eerste paar regels definieert we de klassen die we gaan gebruiken.
De dingen die we geïnteresseerd zijn in de openbare opstelplaats die clientdocument() dus laat gaan door elk van hen en uitleggen wat ze doen.

De eerste drie regels verbergen de TextAreas en winnaar van de trofee. De 4. lijn initialiseert de Red5Broadcast klasse die de streaming behandelt en uitzending van de video. We moeten geven het de locatie van de red5 server, de naam van de toepassing van de red5 en TextField waarin de status van de stream wordt weergegeven. Dan we hebben aan het weergaveoverzicht toevoegen anders niet zou het laten zien van de video-stream.
Vervolgens communiceert Flash met de php-aansluiting via een klasse XMLSocket die deel uitmaakt van de flitser. Ik heb een Model-klasse die zal omgaan met alle nodige luisteraars en verzending van gebeurtenissen wanneer de gegevens worden ontvangen. Het heet XMLSocketModel en initialiseren we het deze manier:

We moeten de URL doorgeven waar is onze socket, onze socket nummer, en als de laatste parameter van het type app. De URL die ik gebruik is arduinoproject.no-ip.org. Ja, ik gebruik www.no-ip.org service. Deze manier heb ik de mogelijkheid te hebben een hostname voor mijn dynamische IP. Net registreren, kies een hostnaam en hun programma op uw computer installeren. Het laatste wat dat we geven is "client" omdat we nu aan onze cliënt flash-bestand werken. Merk op dat alle parameters moeten worden ingevuld.

De volgende regel initialiseert de View class. Het wordt gebruikt om de binnenkomende gegevens weergeven en het verandert wanneer zij ontvangt de gebeurtenissen uit de klasse Model verzonden.

Wanneer we de xmlSocketView initialiseren gaan we tot het de TextArea genaamd "msgArea" als parameter. Dat vertelt het waar onze binnenkomende gegevens moeten worden weergegeven. De volgende regel vertelt welk Model het naar gebeurtenissen luisteren moet.

Dus xmlSocketView xmlSocketModel voor evenementen luisteren moeten.

Vervolgens hebben we onze Controller-klasse te initialiseren. Dit is waar alle van de magie gebeurt. De klasse van de Controller is waar alle besluiten en zijn gemaakt en alle van de opdracht worden uitgegeven. Ook zijn de knoppen die we op het podium gonna hebben luisteraars in de controller afvuren opdrachten wanneer wij hen onder druk, de controller ook wijzigingen als bovenbedoeld van de gebeurtenissen van de klasse Model ontvangen. Dus eerst initialiseren we de Controler. In de volgende moet regel vertellen we het Model die het luisteren naar. Weer is als met de weergave klasse we vertellen het Model xmlSocketModel. Dan we het vertellen dat er videoBroadcast = uitzending .  We voegen de knoppen, de "queueStatus" TextField voor het weergeven van de wachtrij, de "winnerStamp" videoclip waarin wordt weergegeven als de cliënt wint.
Eindelijk initialiseren we de sharedObject die de opdrachten van de motor met de AIR app zullen uitwisselen. De parameters zijn uw domeinnaampad, de naam voor het gezamenlijke object en de "sharedStatusTxt" TextField waar de status van de gedeelde verbinding wordt weergegeven.

Nu gaan we een kijkje nemen in de code voor de lucht-app.

Neem een voorzichtig kijkje op publieke functie ArduinoAIRDocument().

De code is bijna hetzelfde als in de client flitsdossier behalve wanneer we de xmlSocketModel klasse we initialiseren moeten "Lucht" als de laatste parameter doorgeven.

De nieuwe ding dat we hier moeten gebeurt in de regels 8 tot en met 10.

Hier initialiseren we de socketModel. De socketModel is de klasse Model voor het communiceren met arduino. Het maakt gebruik van de klasse Socket flash's. Lijn 9 initialiseert de socketView die de klasse van de weergave voor de socketModel. Wanneer we initialze het er geschiedde de TextArea "msgArea", want dat is ook waar we zullen bevatten de opdrachten die we arduino verzenden en welke arduino keert terug naar de lucht app. lijn 10 vertelt de socketView te luisteren naar gebeurtenissen uit de socketModel.

Het xmlSocketAppController strekt zich uit van de xmlSocketController , zodat we het bijna dezelfde manier initialiseren.

De laatste drie coderegels Initialiseer de socketAppController oftewel de controller voor de socketModel. Het zal de communicatie tussen de AIR app en arduino via poort 5333 behandelen. Poort 5333 zal worden geopend door TinkerProxy.

Nu hebben we om onze bestanden te publiceren. De Client.fla voor Flash Player 10 en AIR app publiceren.

Gerelateerde Artikelen

Glas van computers op basis van Arduino Uno

Glas van computers op basis van Arduino Uno

Aan mijn meesters graduate project ("Gowing Computers, aansluiten van organen, knippen het snoer") van Konstfack College van kunstnijverheid en Design (keramiek en glas/CRAFT) heb ik gemaakt 3 glazen computers op basis van de specificaties van d
Arduino temperatuurgevoelig Fan

Arduino temperatuurgevoelig Fan

Ik en een paar leden van de groep hebben besloten dat voor de zomer, zou gunstig zijn voor het maken van een ventilator die worden ingeschakeld bij 70 graden Fahrenheit en in intensiteit met de hitte blijft toenemen. Dus is dat wat we deden. :)Stap 1
LPD8806 VUMeter met PC & Arduino + GUI

LPD8806 VUMeter met PC & Arduino + GUI

Als u dit project please vote voor het in de "sensoren Contest 2016" en "Rainbow Contest 2016" als het kostte me een hoop tijd te maken (de knop rechts boven die zegt "Stem").Ik heb altijd al een soort van LED VU-Meter omdat
Arduino & Neopixel Coke fles partij licht

Arduino & Neopixel Coke fles partij licht

Dus mijn zoon Doon plekken een zeer koele partij licht van oude cokes flessen en de slissend ingewanden van Glow Sticks maakte, en vraagt als kunnen we één voor zijn aanstaande School examens zijn Over Blowout PartAYYY!!! Ik zeg zeker, maar niet zou
Arduino Rocket datalogger

Arduino Rocket datalogger

Heb je ooit wilde onderzoeken van elk aspect van uw model raketten vlucht voor slechts £15?In dit instructable ik bevatten code en instructies voor een Arduino raket datalogger voor het meten van de hoogte van de raket, versnelling, temperatuur en ro
Standalone Arduino hoogtemeter

Standalone Arduino hoogtemeter

Hier is een standalone hoogtemeter werken met Arduino die u in RC project gebruiken kunt, hiking, auto's... waar u :)Het toont op het eerste scherm van de altittude, de temperatuur en de luchtdruk, en in de tweede, de Minimale / maximale hoogte berei
Arduplane - Arduino gebaseerd rc vliegtuigen

Arduplane - Arduino gebaseerd rc vliegtuigen

RC vliegtuig is een van de grootste speelgoed dat iedereen wil om mee te spelen. Maar het kopen van een mogelijk duurder laat onze handen vies en lichaamsbouw men voor onszelf met behulp van de Arduino micro controllers. Laat onze eigen zender en ont
Parking System met Ethernet in arduino

Parking System met Ethernet in arduino

Dit is de Parking systeem met Ethernet en arduino.Ethernet is WIZnet W5500 Ethernet shiled.Het is zeer gemakkelijk mogelijk met behulp van het ethernet. Ethernet of internet is oorspronkelijk met behulp van de mededeling van de TCP/IP-Protocol.En oor
Interfacing borstelloze DC-Motor (BLDC) met Arduino

Interfacing borstelloze DC-Motor (BLDC) met Arduino

dit is een tutorial over hoe interface en uitvoeren van een borstelloze DC-motor met behulp van Arduino. Als u vragen hebt of opmerkingen gelieve te in commentaren of mail naar rautmithil [at] gmail [dot antwoorden] com. Kan je ook contact met mij op
Arduino wachtwoord beveiligingssysteem met magnetische deur sensoren

Arduino wachtwoord beveiligingssysteem met magnetische deur sensoren

In deze handleiding Instructables zal ik u tonen hoe maak je je eigen wachtwoord beveiligingssysteem met behulp van de Arduino uno bestuur en sommige schakelopties magnetische deur. Ik maakte mijn eigen circuit met behulp van de ATmega328 micro contr
Elektrische vingerafdruk lock-Arduino compatibele

Elektrische vingerafdruk lock-Arduino compatibele

Elk bedrijf hebben verschillende depatments, verschillende banen hebben verschillende vereisten. Onlangs is onze financiële officieren enkele problemen opgetreden.Hun papieren bestanden vereisen high van vertrouwelijkheid en veiligheid, enkele belang
Fiets - aangedreven arduino waterzuiveringsinstallatie (met UVC licht)

Fiets - aangedreven arduino waterzuiveringsinstallatie (met UVC licht)

Dit instructable toont hoe de macht van een UV-C waterzuivering met een fiets en arduino controle. Een dynamo aan de achterzijde van de fiets laadt een batterij (die wij hebben in eerste instantie al betalen voor dit project), die loopt van de arduin
Controle van een OWI robotarm met Arduino

Controle van een OWI robotarm met Arduino

de OWI rand robotarm is een goedkope en geweldig 5-mate-van-vrijheid robotic arm dat alleen kost $37. Het is een grote kit met een kind op te bouwen en meer dan een paar uur tot finish zal niet duren. Uit de doos, kan het alleen worden gecontroleerd
DIY | Ambilight met behulp van de Arduino Nano

DIY | Ambilight met behulp van de Arduino Nano

In dit Instructable zal ik onderwijzen u hoe kunt u uw eigen (b) ambilight voor onder $40!Houd in gedachten dat de Ambilight werkt alleen op een PC met de Bambilight software.U moet de volgende onderdelen:Individueel adresseerbare RGB LED-strip - bes