Arduino MKR GSM 1400 Project

Goedemorgen, ik ben nu al een tijdje bezig met de Arduino, en ben ik vond het tijd voor m'n eerste echte project.

Ik wil via een sms een aantal relais schakelen, dit is een voorbeeld project wat is aangepast heb naar mijn eigen wensen.

Het project werkt alleen wil ik graag de sms commando's aanpassen en daar kom ik zelf niet uit.
Op dit moment leest de sketch alleen het eerste karakter van de sms, ik zou graag een sms commando met meer tekens willen gebruiken. Is het dan handig om de sms eerst helemaal in de seriële monitor te printen en dan van uit daar weer op te vragen en te controleren of het commando gedefinieerd is?

bijgevoegd is de werkende code.

mijn code is een afgeleide van:

Zover ik zo snel even zie, "The sketch uses the ASCII code of the numbers 1 and 2 in the swtch ... case structure." wat dus wil zeggen dat hij switcht op de ascii code nummers, ik heb al gemerkt dat switchen op een string niet lukt op de arduino (althans mij nog niet gelukt), maar je zou dus met een "if else" statement kunnen werken..

Ik wil je wel wat op weg helpen als je de code die je zelf al hebt kan laten zien, kan ik je wel de goede richting uit helpen.

[Edit] Je kan hier wat meer info vinden, https://www.arduino.cc/en/Tutorial/GSMExamplesReceiveSMS
Het lijkt erop dat je de karakter per karakter moet uitlezen, dus je kan deze zelf concateneren om er een string van te maken die je dan kan vergelijken met commando's die je zelf maakt:

To read a message, use sms.read(). Here, you'll store each character from the message into the variable c and print it out as it gets read.

while(c=sms.read())
Serial.print(c);

Hoi the_mechanic1987, welkom.

Schijnbaar duurde het te lang voor je een antwoord kreeg, en heb je ook een Engelstalige thread gestart met dezelfde vraag.
Dat is niet erg aardig.
Want nu lijkt het alsof je geen geduld hebt en onmiddellijk antwoorden op je vragen verwacht, ik ben er vrij zeker van dat je dat zo niet bedoelde.
Verder ga je nu allerlei antwoorden krijgen van verschillende mensen die je graag willen helpen, maar er geen idee van hebben dat je ergens anders al geholpen word, en ze weten ook niet of je daar al veel verder bent, en wellicht ook een heel andere kant opgestuurd bent.
En dus zet je nu een aantal behulpzame mensen voor niets aan het werk, geheel onnodig en zonde van ieders kostbare tijd.

Hier in het forum zie je bovenaan een menu, waar onder andere het item RESOURCES te vinden is.
Als je dat aanwijst, klapt er wat uit, en zie je REFERENCE daartussen staan.
In de reference kun je heel veel terug vinden, onder andere een uitgewerkt antwoord op jouw vraag (klik!).
In dat uitgewerkte voorbeeld, word een bericht naar de seriële poort gestuurd.
Maar je kunt die lijn ook veranderen om een string te bouwen waar je wat mee kunt doen, of op een andere wijze jouw data verwerken (want een string is wellicht al te ingewikkeld om te bereiken wat jij voor ogen hebt).
Heel erg ingewikkeld is dit niet, maar alle begin is moeilijk dus zul je je er door moeten worstelen.

Of een switch...case statement met een string niet werkt weet ik niet, ik heb dat zelf nog niet geprobeerd.
Maar enkele karakters zijn niets anders dan getallen, en dat werkt uitmuntend.
Daarmee kun je prima een livestream van de seriële poort verwerken (dat is trouwens iets heel anders als wat jij hier wil doen, jouw toepassing is helemaal niet tijdgebonden).
Aangezien jij weet wat je wil ontvangen, en bij kunt houden bij welk karakter uit de reeks je bent, moet je daar prima mee uit de voeten kunnen.
Met een switch...case statement kun je prima getallen uit een serieel bericht halen en verwerken, want dat doe ik ook in een sketch die ik hier al jaren bij wijze van test heb draaien.
Die sketch ga ik niet delen, want ik heb m voor een bepaald doel gebouwd wat ik voor mezelf wil houden.
Ik heb er denk ik een week of 2 in m'n hobby uurtjes aan gewerkt, en daarna nog wat toestanden aan toegevoegd.