Étape 3: Firmware
Si vous n’êtes pas familier avec la particule (anciennement Spark) Photon Conseil, vous êtes dedans pour un festin. Il est méchant facile à utiliser avec et encore plus facile d’apporter des modifications à votre firmware une fois que vous avez tout câblé vers le haut et montée par la porte. Parce que le firmware de l’aggloméré peut être flash via votre réseau wifi, il est inutile en fait être branché directement sur elle comme des microcontrôleurs. Cela signifie que vous pouvez tester votre code plus facilement s’il est en fait le programme d’installation de votre appareil et vous pouvez modifier et mettre à jour le programme depuis votre bureau, si nécessaire.
Si vous avez besoin de se familiariser avec le Photon, je vous suggère de commencer ici : https://www.particle.io/
Ils ont beaucoup de grandes ressources, mais si vous avez encore beaucoup à apprendre sur microcontrôleur, vous pourriez trouver utilisation au site de l’Arduino ainsi : https://www.arduino.cc/. Ils ont toutes sortes de conseils, des didacticiels et des bibliothèques que vous pouvez utiliser.
J’ai inclus quelques images du code ci-dessus (et nous l’espérons avoir posté sur Github, peu de temps), mais je vais me promener à travers la logique générale ci-dessous si vous souhaitez essayer ce codage vous-même (sans aucun doute la meilleure façon d’apprendre).
CODE PROCÉDURE PAS À PAS / /
#include "HttpClient/HttpClient.h" << il s’agit d’une bibliothèque que vous pouvez accéder par l’intermédiaire de particules qui permet de formater et d’envoyer des requêtes HTTP. Nous allons utiliser cela pour accéder au script PHP en cours d’exécution sur notre serveur.
void setup() << La fonction d’installation s’exécute en premier et établit toutes les choses que nous avons seulement besoin de faire une fois. Dans cette méthode nous allons (1) commencer notre communication en série pour le débogage, (2) mettre en place notre analogique lire NIP et (3) mettre en place notre indicatrice de LED à.
void loop() << la fonction boucle contient toutes les opérations récurrentes du code. C’est où l'on voit si les boutons sont actuellement poussés. J’ai ajouté un retard de 50 ms entre chaque cycle par le biais de cette fonction à savoir pas inutilement sur la puce. Ensuite, je prends 10 lectures de la broche analogique et ces valeurs moyennes. Cela nous donne notre valeur lue.
<< De là, nous déterminer si cette valeur correspond à notre valeur de base causé par la résistance de l’originale ou une valeur prédéterminée qui vient de se terminer le circuit avec un des boutons à travers une résistance différente.
<< Si on détermine que la valeur correspond à un bouton, la fonction sendEmail() est appelée.
Sub sendEmail(String recipient) << ici, nous contactons le PHP script en cours d’exécution et passez le nom de l’employé qui touche a été poussé. En outre, avant que l’email est envoyé, j’allume le voyant LED pour informer l’utilisateur que le message a été reçu correctement, puis il s’arrête si vous ne pouvez pas envoyer plusieurs messages à la fois. Après le délai, la LED s’éteint à nouveau.