Stap 1: Klaar uw Software!
Natuurlijk in de lijn van software-ontwikkeling zijn er een oneindige hoeveelheid manieren om te gaan over het maken van een programma dat uw biedingen doen, dus I highly recommend alles in mijn code te begrijpen en vragen, als het beste ding om te doen leren is! Dit is een zeer ingewikkeld onderdeel toe te voegen foto's, want er zo veel foto's voor elke kleine stap is. Toch raak niet ontmoedigd als de coolste projecten van het meest toetsenbord komen bashing!
Overzicht van de software:
Voor de gebruiker te kunnen om alles te doen op afstand,
Er zijn twee dingen die moeten worden verzorgd: de toepassing van server-sided, en de toepassing client-zijdige. De server sided toepassing verzorgt alle achter de scène dingen, zoals het maken van actie op basis van gebruiker input en database waarden, alle logische behandeling (bijvoorbeeld als de deur zich in de vergrendelde toestand, raken de vergrendelknop zal enkel throwback een uitzondering als 'Deur is al vergrendeld'), en alle andere maatregelen die behandeling zoals het uitvoeren van een script dat wordt uitgevoerd een motor. De clienttoepassing kant zal door onze gebruiker worden gebruikt. Het omvat alles wat uit geven de gebruiker een optie Unlock/vergrendelen of zelfs het geven van hen een aardig gebruikersinterface als een website om mee te werken. In de meeste en in ons geval, de server sided toepassing zullen een veel hardere uitdaging. It's gonna zeer uitdagend voor mij om u juist stap voor stap door alles vanwege hoe onbeperkt de implementaties zijn! Maar ik zal altijd uw vragen beantwoorden en u te begeleiden naar voltooiing :)
Microsoft Azure:
Een zeer groot deel van dit is Microsoft Azure het cloud computing-vermogen. We moeten een brug maken tussen de gebruiker en of Raspberry Pi Lock, die zullen onze Microsoft Azure Dedicated Server. Een dedicated server is in feite een computer zit omhoog met racks van andere computers op sommige Microsoft-Hub, dat we kunnen controleren met behulp van het protocol van verbinding met extern bureaublad die kan worden gebruikt op PC's, Macs en Linux-besturingssystemen. U kunt zich aanmelden voor een gratis Microsoft Azure proef hier aan de slag: http://azure.microsoft.com/en-us/. Het eerste ding dat u zult moeten doen is het opzetten van een Dedicated server. Kies het pakket wat u alstublieft zoals onze server is pas onder zware druk te staan wanneer we meerdere sloten nemen! Installeer op uw Dedicated server, MYSQL, die is een open source Database Utility door Oracle. (Sorry Microsoft geen SQLServer voor deze kerel: D). Microsoft-documentatie zoals steun, goed haven 3306 open en ervoor te zorgen dat beide UDP en TCP te nemen wordt uitgaande en binnenkomende verkeer toegestaan. MYSQL wilt u een database maken en configureren van de tabellen op basis van hoe u de uitvoering van het Java-programma hieronder besproken. Het idee van de sleutel is dat onze Database wordt gehost op een IP-adres zoals 232.33.64.32:3306, en kan worden benaderd, en Queryed met behulp van onze Java-programma hieronder! Eens te meer raak niet overweldigd, Microsoft heeft een TON van documentatie voor het werken met hun dedicated servers en is zeer gemakkelijk te begrijpen.
EEN punt van advies: Bij het afhalen wat plug-inpakket voor Microsoft Azure, zorg ervoor dat het een venster Server als het is veel makkelijker voor de gemeenschappelijke gebruiker, maar als je een Linux-GOD doen wat je wilt ^. ^
Server Sided toepassing:
We moeten eerst het maken van een mechanisme voor het beheren van onze Raspberry Pi microcomputer, dus het alle aspecten van het slot controleren kan. Wij zullen uitvoeren met behulp van een Java-programma, het programma zal moeten zitten kundig voor bijhouden van de status van de lock(unlock/locked), zitten kundig voor uitvoeren van scripts die rijden op de motor, lees gebruikersinvoer uit de webpagina die de gebruiker zal worden gebruikt. Voordat we verder gaan, hebben wij aan opstelling van een database die alle ingangen van de gebruiker in de vorm van een getal houden zal. Dus wanneer de gebruiker de ontgrendelknop op hun telefoon raakt het zal schrijven een 0 aan de database, en als ze de vergrendelknop raken zal het een 1 schrijven naar de database. Het programma zal dan moeten controleren van de status van het slot en vergelijken om de waarde van de database, als ze hetzelfde die geen actie heeft ondernomen zijn, maar als ze de programma verschillen weet de gebruiker heeft slaat een knop en onderneemt de respectieve, nadat de actie is genomen, het de status van het slot zal bijwerken en vervolgens de waarde van de database moet gelijk zijn aan de statuswaarde ook. Dit is het basisidee van het programma dat is gekoppeld aan het einde van dit verslag (Kiel SQL). Er is één meer component van de server applicatie die is het mechanisme waarmee de motor bewegende worden zal zijdig. Dit zal worden bereikt met behulp van twee verschillende scripts gemaakt in Python. Een script zal bewegen de stappenmotor in de benodigde hoeveelheid stappen, en anderzijds het zelfde nauwkeurige ding in de tegenovergestelde richting zal doen. Deze scripts worden uitgevoerd door de Java-programma, wanneer de waarde van de database en de statuswaarde verschillend zijn zoals eerder is besproken. Al deze combinatie maakt de server sided aspect van dit project. Uiteraard zul je installeren van Java voor dit om te werken, en uw Azure Dedicated Server goed te configureren! Ook de Stepper.py hieronder is een algemeen overzicht, kunt u heel gemakkelijk in 2 aparte scripts maken (ontgrendelen en vergrendelen).
De bestandsbijlagen genoemd: Stepper.py en SmockSQL.java laten zien wat ik deed!
Client zijdige toepassing:
De gebruiker moet een mechanisme waarmee hij u de waarden van de database, bewerkt kan zodat het Java-programma weet wanneer een actie is nodig om te worden genomen. Vele manieren kan het bereiken van dit einddoel, één worden met de gebruiker die zich aanmeldt bij de server met de database en het wijzigen van de waarde, maar dit is vervelend en is niet praktisch voor onze gebruikers. Zo zullen we het creëren van een website waarop ze kunnen inloggen op hun account en controle van de deur met een zeer bekende sluis en ontgrendelen knop. Deze knop opent het slot en zullen binnen een JSP-pagina, die in feite een Java-gebaseerde web-applicatie. Het doel van deze pagina is dus wanneer de gebruiker hits de Unlock/Lock-knop, de benodigde query naar de database worden uitgevoerd en de waarde van de database zal worden bijgewerkt op basis van de hit van knop. Vervolgens onze Server dubbelzijdige Java zal lezen van deze bijgewerkte waarde en de nodige actie uit te voeren. De JSP-pagina met de Java-toepassing code die wordt gebruikt voor dit project aan het einde van dit verslag zo goed.
De bestandsbijlagen genoemd: de rest van de Java-bestanden zijn JSP-pagina's die u tonen wat ik deed! U kunt deze JSP serverlets implementeren in webpagina's met behulp van Netbeans, en implementeren van het als een WAR-bestand op onze Microsoft Azure VPS.
Dit concludeert vrijwel alle Software van het project. Naar de volgende fase!