Stap 4: Code I: een SMS-bericht ontvangen
Vanaf hier op uit het is alle code tot implementatie, maar laten we niet overhaast dingen wanneer we gewoon krijgen om elkaar te kennen. De code is niet uw gemiddelde dagelijks Arduino C++ omdat we iets krachtiger gebruikt: één LinkIt. De bibliotheken zijn veel ruimer en de technologie geavanceerder. Maken van een telefoongesprek met een micro-controller recht uit de doos kan een beetje vreemd lijken. We gebruiken de bibliotheek LGSM vrij uitgebreid, zodat het wellicht nuttig om te lezen over die een beetje.
Vangen van een SMS-bericht
Ten eerste willen we vangen een SMS-bericht. Na de logica binnen de functie loop...
if(LSMS.available()) // Check if there is new SMS {
Deze reus is als blok wordt gecontroleerd om te zien of een nieuw tekstbericht beschikbaar. Als het is, laten we blijven gaan en parse het.
LSMS.remoteNumber(p_num, 20); // display Number part Serial.println("There is new message."); Serial.print("Number:"); Serial.println(p_num); Serial.print("Content:"); // display Content part
Wij drukken vervolgens wat basis debugging info. Wanneer dit ding is geïmplementeerd, we waarschijnlijk niet veel zorg over de uitgang voor seriële, maar het is altijd raadzaam om af te drukken dit uit in het geval dat we willen terug te gaan en een kijkje nemen.
while(true) { int v = LSMS.read(); if(v < 0) break; dtaget[len++] = (char)v; Serial.print((char)v); }
Volgende die we gonna het SMS-bericht te lezen. Het is een beetje moeilijk omdat met dit ingesloten technologie, het is niet zo eenvoudig als "String = textMessage.read();'. In plaats daarvan moeten we de bytes lezen van het tekstbericht teken voor teken, vorming van een array van karakters, dat is onze uiteindelijke boodschap. Dit wordt gedaan in het bovenstaande while lus.
LSMS.flush(); // delete message
Nu, om ruimte te besparen op het apparaat, we 'spoelen' of het bericht verwijderen.
if(( dtaget[0] == 'E' && dtaget[1] == 'X' && dtaget[2] == 'C' && dtaget[3] == 'U' && dtaget[4] == 'S' && dtaget[5] == 'E' ) )
Ten slotte, laten we doen een fundamentele logica controle om ervoor te zorgen dat het tekstbericht zegt 'EXCUUS'. Dit zal ervoor zorgen dat wij eigenlijk willen activeren het verzinsel, versus we zijn net wat willekeurige tekst.
En thats it! Nu laten we gaan naar hoe we gaan om te activeren dat telefoontje naar ons uit onze augurk halen...