Etape 1: Obtenir le prêt de votre logiciel !
Bien sûr dans la ligne de développement de logiciels, il y a un nombre infini de façons de faire un programme à faire votre appel d’offres, donc je recommande vivement comprendre tout dans mon code et poser des questions, comme la meilleure chose à faire est d’apprendre ! Il s’agit d’un composant très compliqué d’ajouter des images, car il n’y a tellement de photos pour chaque petit pas. Néanmoins ne vous découragez pas car les projets plus cool proviennent de clavier le plus frappant !
Aperçu du logiciel :
Pour l’utilisateur de pouvoir tout faire à distance,
Il y a deux choses qui doivent être pris en charge : l’application côté serveur et l’application côté client. Le serveur verso application prend en charge tous le derrière les choses de la scène, comme la création d’action basé sur les valeurs d’entrée et de la base de données utilisateur, toute manipulation logique (par exemple si la porte est dans l’état verrouillé, frapper le bouton de verrouillage sera throwback juste une exception comme "La porte est déjà verrouillé") et toute autre action manutention telles que l’exécution d’un script qui exécutera un moteur. Notre utilisateur utilisera l’application côté client. Il comprend de quoi que ce soit de donner à l’utilisateur une option Unlock/Lock ou même en leur donnant une belle Interface utilisateur comme un site Web pour travailler avec. Dans la plupart et dans notre cas, le serveur demande face sera bien un défi plus difficile. Il va être très difficile pour moi de vous prendre précisément étape par étape à travers tout à cause de l’illimité comment les implémentations sont ! Mais je vais toujours répondre à vos questions et vous guider jusqu'à la fin:)
Azure de Microsoft :
Une très grande partie de cela est cloud de Microsoft Azure capacité de calcul. Nous avons besoin de créer un pont entre l’utilisateur et son Raspberry Pi Lock, qui sera notre serveur dédié de Microsoft Azure. Un serveur dédié est fondamentalement un ordinateur sur lequel est assis avec grilles d’autres ordinateurs à certains Hub de Microsoft, que nous pouvons contrôler à l’aide du protocole de connexion Bureau à distance qui peut être utilisé sur PC, Mac et les systèmes d’exploitation Linux. Vous pouvez vous inscrire pour un gratuit Microsoft Azure du procès ici pour commencer : http://azure.microsoft.com/en-us/. La première chose que vous ferez met en place un serveur dédié. Choisissez ce que paquet vous s’il vous plaît que notre serveur ne sera pas sous contrainte lourde jusqu'à ce que nous intégrons plusieurs verrous ! Sur votre serveur dédié, installer MYSQL, qui est un open source de base de données Utility par Oracle. (Microsoft Désolé aucune SQLServer pour ce mec: D). Prenant la documentation de Microsoft comme aide, ouvrir correctement le port 3306 et assurez-vous que les deux UDP et TCP le trafic entrant et sortant est autorisé. Sur MYSQL, vous voulez créer une base de données et configurer ses tables basées sur comment vous mettre en œuvre le programme Java ci-dessous. L’idée clé est que notre base de données est hébergé sur une adresse IP comme 232.33.64.32:3306 et peut être consultée et Queryed en utilisant notre programme Java ci-dessous ! Une fois de plus, n’obtiennent pas accablé, Microsoft a fourni une tonne de documents de travail avec leurs serveurs dédiés et est très facile à comprendre.
Un seul POINT de Conseil : Lors de la cueillette de ce paquet pour Microsoft Azure, assurez-vous qu’il est un serveur de fenêtre car il est beaucoup plus facile pour l’utilisateur commun, mais si vous êtes un Dieu Linux faire ce que vous voulez ^. ^
Serveur à côtés Application :
Nous devons d’abord créer un mécanisme de contrôle notre micro-ordinateur Raspberry Pi, donc il peut contrôler tous les aspects de la serrure. Nous permettra d’accomplir à l’aide d’un programme Java, le programme devra être en mesure de garder une trace de l’état de la lock(unlock/locked), être en mesure d’exécuter des scripts qui animent l’entrée utilisateur moteur, lecture de la page Web que l’utilisateur utilisera. Avant de continuer, il faut configurer une base de données qui contiendra toutes les entrées d’utilisateur sous la forme d’un nombre. Donc lorsque l’utilisateur clique sur le bouton de déverrouillage sur leur téléphone il va écrire un 0 à la base de données, et si ils ont frappé le bouton de verrouillage il va écrire un 1 à la base de données. Le programme aura ensuite vérifier l’état de la serrure et la comparer à la valeur de base de données, si elles sont les mêmes, que rien n’a été fait, s’ils diffèrent du programme sait néanmoins l’utilisateur a appuyer sur un bouton et prendra les mesures respectives, après que la mesure est prise, il mettra à jour l’état du verrou et ensuite la valeur de la base de données doit être égal à la valeur d’état aussi bien. Il s’agit de l’idée de base du programme qui est attaché à la fin du présent rapport (blouse SQL). Il y a une composante plus du serveur face demande qui est le mécanisme par lequel le moteur seront mobile. Cet objectif sera réalisé à l’aide de deux différents scripts en Python. Un script se déplacera le moteur pas à pas dans la quantité nécessaire d’étapes, et l’autre va faire exactement la même chose en sens inverse. Ces scripts doivent être exécutés par le programme Java, lorsque la valeur de base de données et la valeur d’État sont différentes, comme discuté plus tôt. Tout cela combiné créera le serveur face aspect de ce projet. Évidemment, vous devrez installer Java pour cela pour travailler et configurer votre serveur dédié de Azure correctement ! Aussi le Stepper.py ci-dessous est un aperçu général, vous pouvez créer en 2 scripts séparés très facilement (déverrouiller et verrouiller).
Les fichiers joints appelée : Stepper.py et SmockSQL.java vous montrent ce que j’ai fait !
Client à côtés Application :
L’utilisateur a besoin d’un mécanisme par lequel il peut modifier les valeurs de la base de données, afin que le programme Java sait quand une action est nécessaire pour être pris. Bien des égards peut accomplir cet objectif final, un être ayant l’ouvrir une session utilisateur sur le serveur sur lequel la base de données et modification de la valeur, mais c’est fastidieux et n’est pas pratique pour nos utilisateurs. Si nous allons créer un site Web sur lequel ils peuvent connecter à leur compte et contrôler la porte avec une serrure très familier et bouton de déverrouillage. Ce bouton de déverrouillage et le verrouillage sera dans une page JSP, qui est essentiellement une application web basée sur Java. Le but de cette page est donc lorsque l’utilisateur clique sur le bouton de déverrouillage/verrouillage, la requête nécessaire à la base de données sera exécutée et mettra à jour la valeur de la base de données basé sur le hit de bouton. Puis notre serveur Java face lira cette valeur mise à jour et exécuter l’action nécessaire. La page JSP avec le code de son application Java utilisé pour ce projet à la fin du présent rapport, ainsi.
Les fichiers joints appelé : le reste des fichiers Java sont des pages JSP qui vous montrent ce que j’ai fait ! Vous pouvez implémenter ces serverlets JSP dans les pages Web à l’aide de Netbeans et en le déployant comme un fichier WAR sur nos VPS Azure de Microsoft.
Voilà qui termine quasiment tous les logiciels du projet. À la Phase suivante !