Stap 6: CODE II - ontvangst van een SMS-bericht
Vervolgens laten we gaan over hoe we een tekstbericht ontvangt. We maken intensief gebruik van de bibliotheek LGSM, dus het helpen kan om te lezen over die een beetje. Er zijn een aantal grote online bronnen als u wenst om dat te doen.
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.
En dat is min of meer het! Nu laten we verenigen naar de tweetal te maken van onze pager...