Stránka 1 z 2

SIM900 ovladanie vystupou sms

Napsal: 28 úno 2018, 15:06
od sstann
Nazdar, nemate niekto skusenosti alebo neviete mi poradit jednoduchý sposob ako vyhodnocovat sms správy? Resp. ked príde sms na SIM900 aby som vedel sms vyhodnotit a následne zapnut/vypnut vystup.
Skúsal som to cez Serial.find() no to funguje len pri prvej sms. Ked dorazí sms zapnem led ale nasledne s dalsou sms ju nedokázem vypnúť. vďaka za rady.

Re: SIM900 ovladanie vystupou sms

Napsal: 01 bře 2018, 09:54
od petan
Rešíš, jak příjmout data z modulu, nebo jak přijatá data vyhodnotit?
Porozhlídni se tady: https://www.arduino-forum.cz/viewforum.php?f=35 Je tu na to samotná kategorie.

Re: SIM900 ovladanie vystupou sms

Napsal: 01 bře 2018, 10:16
od sstann
Riesim vyhodnotenie dat (textu). Ako pisem ked som pouzival Serial.find() tak to slo ale len zapnut, niekedy sa podarilo aj vypnut led neviete cim by to mohlo byt ? Prislo mi to ako jednoduchy sposob.

Re: SIM900 ovladanie vystupou sms

Napsal: 01 bře 2018, 12:09
od pavel1tu
http://bits.mdminhazulhaque.io/arduino/ ... duino.html
http://www.raviyp.com/embedded/222-usin ... s-commands

Z jednoho jsem použil postup a normálně dálkově zapínáme topení, popřípadě vypínáme.

Re: SIM900 ovladanie vystupou sms

Napsal: 01 bře 2018, 18:23
od sstann
A nevedel by si my v kratkosti vysvetlit druhy link tie if? Preco to je prave tak ?

Re: SIM900 ovladanie vystupou sms

Napsal: 01 bře 2018, 19:05
od pavel1tu
Je to v tom videu, ale když myslíš .... tak popořadě

Já (a to jsem dost trotl na programování) jsem pochopil, že jsou 2 způsoby jak reagovat na příchozí SMS
1) periodické vyčítání SMS, zjištění, které jsou a které nejsou přečtené a pak podle nich reagovat
2) zde uvedeným AT příkazem (AT+CNMI=2,2,0,0,0) příchozí SMS jakoby "zahazovat" ale zároveń je poslat po komunikaci do připojeného zařízení - můj amatérský překlad z videa, tak mne nesuďte

Ta SMS se uloží do "Buff"
Pak se v těch podmínkách porovná zda nepřišel text "@C1", "@C2" nebo "CMD" - to je to větvení za if - pak se může vykonat ten příkaz spuštěný tou SMS, zde se jen vypíše text.
to while(1) zde asi jen zajišťuje cyklický běh donekonečna :-)

PS: mě se s tímto SIM800 trochu kousal, tak jsem tam dal pár ms zpoždění a jede tuo už od podzima. Mimo cyklus vyčítání SMS a případného spínání topení před příjezdem, zařízení odesílá každých 24h stav napětí záložní baterie, stav alarmu a teplotu v chatě - nasazeno v Krkonoších asi na 5ti chatách mých známých zatím k plné spokojenosti - je to společná práce, já vypomohl hlavně s drátařinou a asi s 80% kodu

Re: SIM900 ovladanie vystupou sms

Napsal: 01 bře 2018, 19:36
od sstann
ano, ale co je toto Buff[BuffIndex-2] predpokladam ze Buff bude pole, len nerozumiem preco to odpocítava BuffIndex-2 atd.

Re: SIM900 ovladanie vystupou sms

Napsal: 01 bře 2018, 19:50
od pavel1tu
To se čte znak z nějakého místa ?
Taky nechápu proč se začíná buffindex=5 ale to jsem nezkoumal

Re: SIM900 ovladanie vystupou sms

Napsal: 01 bře 2018, 20:08
od pavel1tu
Nech si vypsat celý ten bufff a pochopíš....

Kód: Vybrat vše

+CMGR: "REC READ","+42xxxxxxxxx",,"18/03/01,20:00:17+01"
Test zprava 2
Celá SMS se totiž vysype včetně toho +CMT:, čísla odesílatele, času datumu .... on hledá postupně v tom řetězci určité znaky za sebou a pokud je tam najde, vyhodnotí to.
Když se v celé SMS nenajdou (256 znaků) tak se nic nestane

Další způsob ... možná to testnu zítra:
http://www.ayomaonline.com/iot/sim800-c ... -with-sms/ - zde rozebere SMS a porovnává jen čistý text z SMS

Re: SIM900 ovladanie vystupou sms

Napsal: 01 bře 2018, 20:09
od sstann
A ked to je v cykle while a potrebujem to pouzit v kode kde potrebujem pouzívat aj ine sucasti kodu nielen tuto slucku ak ma chapes nevadi ze je to zacyklene ? Proste potrebujem aby program fungoval aj mimo tohoto. Napr. aby som mohol posielat sms pri pohybe a sucasne ovladat na dialku rele moduly