Novinky: Pridal som novú sekciu na webe - Turistika
Sitepoint logo

SIM900 GSM modul – ovládanie garážovej brány cez mobil

Kamoš ma poprosil, či by som vedel vyrobiť ovládanie na garážovú bránu cez mobil. WiFi sa použiť nedala, takže som vybral SIM900 modul z čínskej ľudovodemokratickej republiky za cca 13€ a pustil sa do toho. Najskôr návrh – chcel som sa vyhnúť potrebe preprogramovať zariadenie keď treba zmeniť/doplniť/zmazať číslo v zozname oprávnených čísel. Čísla teda putovali do EEPROM a cez SMS sa dá zoznam upravovať. No a potom jednoducho len zatelefonovať na číslo v zariadení, a ak ste vyvolení, sezam sa otvorí 🙂 Na výstupe je relé, ktoré na pol sekundy zopne a simuluje stlačenie tlačítka, ktoré je vnútri garáže na manuálne otvorenie.

Fyzické zapojenie je jednoduché, lebo som vybral SIM900 modul ktorý je vo formáte Arduino shieldu. Na záver som doplnil napájanie Arduina priamo z GSM shieldu – je tam síce len 4.1V, ale to MCU v pohode stačí. Na napájanie treba adaptér ktorý skutočne vie dodať 2A, lebo presne toľko v špičkách odoberá GSM modul, hlavne pri registrovaní do siete. Dá sa to vykryť aj vhodným elektrolytom (povedzme 2200uF / 6.3V a viac). Najskôr som sa so shieldom zoznámil priamo cez USB/UART prevodník, vyskúšal čo treba, exportoval debug výstupy a až potom som začal programovať.

Pin D9 sa používa na zapnutie GSM modulu, D7/D8 na sériovú komunikáciu cez SoftSerial s rýchlosťou 19200 Bd. Kamoš pracuje v Rakúsku a to ma donútilo napísať program tak, aby nevyžadoval fixnú dĺžku telefónneho čísla, takže medzinárodná predvoľba môže byť kľudne +1 aj +421. Nijako som neošetroval chyby registrácie do siete – možno keď sa niečo ukáže v prevádzke. Na správu zoznamu treba poslať SMS v nasledovnej forme (zmenené voči aktuálnej implementácii):

  • PRIDAJ +421911123456
  • VYMAZ +421905987654
  • VYNULUJ
  • POSLI

Ak by bolo treba dodatočné zabezpečenie, zrejme by sa dalo do SMS pridávať aj časť IMEI alebo niečo podobne unikátne. PRIDAJ pridá ďalšie číslo do zoznamu povolených (nekontroluje či tam už náhodou nie je!), VYMAZ číslo zo zoznamu odstráni (nahradí ho hviezdičkami ****). VYNULUJ vyprázdni zoznam a dá len jedno natvrdo nakódované číslo (majiteľ). POSLI odošle odosielateľovi SMS aktuálny zoznam povolených čísel. To by malo bohato stačiť na správu. Pri zavolaní modul hneď „zloží“. Žiadne info SMS sa neposielajú – lebo na čo. No a tu je môj program – takmer nekomentovaný, napol po anglicky – tak študujte, čudujte sa a upravujte 🙂 Prípadne otázky do diskusie.

PS: skoro rok som sem nič nepridal, to je ostuda…

Formát dát v EEPROM – položka začína znakom +, končí $. Koniec zoznamu je #. Vymazané číslo ***.

Ukážka výstupu na sériovej konzole po štarte modulu a prijatej SMS a hovore:


Napísať komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *