Stap 5: Set Up the Electric Imp en upload code met behulp van de Imp-Planner
Dit houdt het aandrijven van het Imp schild (gewoon plug de arduino-stack op de computer met een USB-kabel) en met behulp van de elektrische Imp-App te knipperen van de gegevens naar de kaart. Dit wordt gedaan met behulp van een aantal knippert op het scherm van de smartphone, dus u geen speciale bekabeling voor dit deel hoeft.
Ook moet u zich aanmelden op de website van elektrische imp zodat u de Planner Imp kunt.
Zodra u bent ingelogd in kunt u klikken op het tabblad impees en moet u een verwijzing naar uw Imp.
Klik op het tabblad van de Code gevolgd door + een nieuwe imp code eenheid maken. Geef een naam op voor uw code (ik gebruikte Trigger) en klik op OK. U zult dan genomen worden aan de code-editor. Kopieer en plak de onderstaande code in de code-editor.
Het is een vrij eenvoudig stukje code dat één van de zeer elementaire voorbeelden in de Imp tutorial sectie past. Het belangrijkste verschil is dat er drie pinnen van de hardware die kunnen worden geactiveerd door een inbreng van een webpagina, die dit zijn de pinnen aangesloten op de arduino, die op zijn beurt leiden de geluidsbestanden tot. Met uw opdrachtgever Imp aangedreven up u kunt klikken op wat lijkt op een afspeelknop en de code is geüpload naar de Imp via Wifi. Dit is een grote bonus van het GMB - code kunt u op afstand bijwerken en op de vlieg uit overal die een internetverbinding heeft.
Dus hoe krijgen wij de alle belangrijke verbinding met het internet voor onze apparaat?
Klik op het tabblad Planner en moet u één blauwe knooppunt met een adellijke titel Trigger. Dit is uw imp die je hebt geüpload naar de code van de Trigger aan. Klik nu op knooppunt toevoegen en kies HTTP IN. Drag een regel in dit knooppunt en sluit hem aan op het knooppunt van de Trigger. Een pijl wordt weergegeven en vervolgens een pop-upvenster. Klik op verbinden.
Vervolgens klikt u op de rechter bovenhoek van het knooppunt en kopieer het adres van de website die u zal moeten in de volgende stap. Het zal iets als https://api.electricimp.com/v1/xxxxxxxxxxxxx/xxxxxxxxxxx
Een van de dingen die ik geleerd na een paar eerste mislukte pogingen om dit allemaal aan het werk was het belang van het hebben van een "watchdog"-functie in de code van de imp. Dit zorgt ervoor dat het GMB "wakker" en de verbinding met de server verzekert. Zonder dit is het GMB automatisch vanaf de server verbroken na een periode van tijd.
IMP-ersonator code voor triggers
op afstand leiden tot een van de 3 berichten van een wave shield via SD-kaart met behulp van arduino
functie pinOff()
{
hardware.pin9.write(1); schrijven van 1 pin van de trigger uitgeschakeld
hardware.pin7.write(1); schrijven van 1 pin van de trigger uitgeschakeld
hardware.pin5.write(1); schrijven van 1 pin van de trigger uitgeschakeld
}
klasse van de input voor trigger besturingskanaal
klasse input breidt InputPort
{
naam = "TRIGGER"
type = "nummer"
functie set(value)
{
if(value == 0)
{
hardware.pin9.write(1); schrijven van 1 pin van de trigger uitgeschakeld
hardware.pin7.write(1); schrijven van 1 pin van de trigger uitgeschakeld
hardware.pin5.write(1); schrijven van 1 pin van de trigger uitgeschakeld
}
if(Value ==1)
{
schrijven pin lage
hardware.pin9.write(0); schrijven 0 beurten trigger pin op
wacht 1 seconde dan pin uitschakelen
Imp.wakeup (1.0, pinOff);
}
if(Value ==2)
{
hardware.pin7.write(0); schrijven 0 beurten trigger pin op
wacht 1 seconde dan pin uitschakelen
Imp.wakeup (1.0, pinOff);
}
if(value ==3)
{
hardware.pin5.write(0) //writing 0 beurten trigger pin op
wacht 1 seconde dan pin uitschakelen
Imp.wakeup (1.0, pinOff);
}
}
}
Pin 9,7 en 5 als een open afvoer output met interne pull up configureren
hardware.pin9.configure(DIGITAL_OUT_OD_PULLUP);
hardware.pin7.configure(DIGITAL_OUT_OD_PULLUP);
hardware.pin5.configure(DIGITAL_OUT_OD_PULLUP);
in eerste instantie te hoog ingesteld
hardware.pin5.write(1);
hardware.pin7.write(1);
hardware.pin9.write(1);
functie watchdog() {}
Imp.wakeup (5 * 60, watchdog);
server.log("watchdog");
}
Geregistreerd bij de server
Imp.configure ("Activeren", [input()], []);
watchdog();
Einde van code.