Stap 3: Firmware
Als u niet vertrouwd met deeltje (voorheen Spark bent) foton Board, bent u in voor een behandelen. Het is eenvoudig slecht begonnen met en zelfs gemakkelijker wijzigingen aanbrengen in uw firmware zodra u alles bekabeld en gemonteerd door de deur te krijgen. Omdat de spaanplaat firmware kan flash via uw wifi-netwerk, hoeft u eigenlijk te worden aangesloten rechtstreeks op het als uit microcontrollers. Dit betekent dat u uw code gemakkelijker testen kunt terwijl het is eigenlijk ingesteld in uw apparaat en u kunt tweak en updaten van het programma vanaf uw bureau als nodig zijn.
Als u krijgen vertrouwd gemaakt met het foton wilt, stel ik voor u hier: https://www.particle.io/
Ze hebben een heleboel grote middelen, maar hebt u nog steeds een veel te leren over microcontroller, zou je gebruik in de Arduino website ook: https://www.arduino.cc/. Ze hebben allerlei tips, tutorials en bibliotheken die u kunt gebruiken.
Ik heb ook enkele foto's van de bovenstaande code (en zal hopelijk er binnenkort geplaatst op Github), maar ik zal lopen via de algemene logica hieronder als u zou willen proberen het coderen van jezelf (zeker de beste manier om te leren).
CODE WALKTHROUGH / /
#include "HttpClient/HttpClient.h" << dit is een bibliotheek dat u opent via het deeltje dat helpt opmaken en verzenden van HTTP-verzoeken. We zullen dit gebruiken voor toegang tot de PHP-script dat wordt uitgevoerd op onze server.
void setup << De setup functie loopt eerste en stelt alle dingen die we slechts moeten één keer te doen. In deze methode gaan we (1) starten onze seriële communicatie voor foutopsporing, (2) ingesteld onze analoge pin lezen en (3) ingesteld onze LED indicator pin uit.
void loop << de lus functie bevat alle terugkerende bewerkingen van het Wetboek. Dit is waar we zien als knoppen worden momenteel geduwd. Ik heb toegevoegd in een 50 MS vertraging tussen elke cyclus via deze functie kan alleen over de chip niet onnodig te belasten. Ik neem 10 lezingen van de analoge pin en gemiddelde van deze waarden. Dit geeft ons onze Lees waarde.
<< Vanaf hier, wij bepalen of deze waarde komt overeen met onze waarde van de basislijn veroorzaakt door de oorspronkelijke weerstand of een vooraf gekozen waarde dat afkomstig is van de voltooiing van het circuit met een van de knoppen door een verschillende weerstand.
<< Als vaststaat dat de waarde komt overeen met een knop die de functie sendEmail() wordt aangeroepen.
ongeldig sendEmail(String recipient) << hier wij contact opnemen met het PHP script uitvoeren en doorgeven van de naam van de werknemer die knop heeft geweest geduwd. Bovendien, voordat de e-mail wordt verzonden, kom ik op de indicator LED laat de gebruiker weten dat het bericht is goed ontvangen, dan pauzeert zodat u kan geen meerdere berichten tegelijk verzenden. Na de vertraging wordt de LED weer uitgeschakeld.