Arduino a GSM shield

V dne┼ínej dobe je pokrytie slovenska GSM sign├ílom ve─żmi vysok├ę ─Ź├şslo, tr├║fnem si poveda┼ą, ┼że nad 90% v z├ívislosti od oper├ítora. Pre─Źo to spom├şnam? Lebo vyu┼żitie Arduina a GSM Shieldu m├┤┼że by┼ą ve─żmi zauj├şmav├ę spojenie. V dne┼ínom ─Źl├ínku nebudem uva┼żova┼ą na ─Źo v┼íetko sa to d├í vyu┼żi┼ą, ale pouk├í┼żem na probl├ęm, ku ktor├ęmu som sa dostal a ako sa mi ho podarilo vyrie┼íi┼ą.

GSM Shield

Z├íkladn├Żm prvkom bude samozrejme Arduino a u┼ż spom├şnan├Ż GSM Shield. Ja konkr├ętne som si objednal to ─Źo vid├şte na obr├ízkoch. Ide o najlacnej┼íie rie┼íenie v cene cca 7.5 libry za kus. Shield pou┼ż├şva chip SIM800L a dostupn├ę s├║ modely bu─Ć s ant├ęnou z plo┼ín├ęho spoja alebo s malou ant├ęnou, podobnou ak├║ mate napr├şklad na Wi-Fi r├║tri. Samotn├Ż Shield ma ve─żmi mal├ę rozmery. Z jednej strany je umiestnen├Ż samotn├Ż chip a konektor pre ant├ęnu a druhej s├║ konektory pre pripojenie a slot pre mikro sim kartu.

sim800l2

sim800l4

Pri h─żadan├ş n├ívodov pre tento Shield som zistil, ┼że aj samotn├Żch ─Źipov je na svete nieko─żko. Ja konkr├ętne mam chip s ozna─Źen├şm SIM800L a pre v┼íetky by mali fungova┼ą na internete n├íjden├ę kni┼żnice.

Zapojenie

Pred t├Żm v┼íak ne┼ż nie─Źo budete sk├║┼ía┼ą, odpor├║─Źam si predom pre┼ítudova┼ą ako na to, nie ako som na to i┼íiel ja, zhurta. Lebo moj├şm prv├Żm probl├ęmom bolo ako vlastne tento Shield zapoji┼ą. Tak┼że na doske n├íjdete 7 pinov:

  • 5V
  • GND
  • VDD
  • SIM_TXD
  • SIM_RXD
  • GND
  • RST

Neviem pre─Źo je tam 2x GND ale bud├ş┼í. Samozrejme z├íklad je pripoji┼ą nap├íjacie nap├Ątie 5V a GND. A potom prepoji┼ą TX a RX piny. Uno obsahuje taktie┼ż TX a RX piny ale na nich to ne┼ílo a u┼ż viem pre─Źo. Tieto piny sl├║┼żia na komunik├íciu s po─Ź├şta─Źom. Po dlhom h─żadan├ş som zistil, ┼że v s├║bore GSM.cpp s├║ zadefinovan├ę piny ale o tom tro┼íku nesk├┤r.

Kni┼żnice

─Äal┼í├ş probl├ęm s ktor├Żm som sa stretol pri rozbeh├ívan├ş boli samotn├ę kni┼żnice, teda ktor├ę pou┼żi┼ą a ako ich pou┼żi┼ą. Nechcem sa tu rozpisova┼ą ko─żko a ako som ich sk├║┼íal, od toho v├ís chcem ochr├íni┼ą. Nakoniec som sa dostal asi k tak├Żm ofici├ílnym, ktor├ę pos├║vam aj v├ím. Bohu┼żia─ż aj tie po stiahnut├ş z origin├ílneho zdroja mi ne┼íli a musel som si ich poopravi┼ą. Presnejesie zakomentovat alebo vymazat riadok s

const prog_char *p = (const prog_char *)ifsh;

a nahradit ho s

const char PROGMEM *p = (const char PROGMEM *)ifsh;

A teraz hore pop├şsan├ę moje probl├ęmy prepoj├şm a pok├║sim sa v├ím pop├şsa┼ą ako som ich vyrie┼íil. Tak┼że vr├ítim sa k probl├ęmu ako zapoji┼ą jednotliv├ę piny. Po zd─║havom h─żadan├ş som do┼íiel k rie┼íeniu, ktor├ę je pop├şsan├ę v pou┼żit├Żch kni┼żniciach. Konkr├ętne s├║bor GSM.h, hne─Ć hore:

//De-comment this two lines below if you have the
//first version of GSM GPRS Shield
//#define _GSM_TXPIN_ 4
//#define _GSM_RXPIN_ 5
//De-comment this two lines below if you have the
//second version og GSM GPRS Shield
//#define _GSM_TXPIN_ 2
//#define _GSM_RXPIN_ 3

Ako je z anglick├ęho koment├íra jasne, treba odkomentova┼ą potrebn├ę riadky a n├ísledne pripoji┼ą GSM Shield. Alebo ak u┼ż m├íte pripraven├Ż svoj k├│d a dan├ę piny v├ím nevyhovuj├║, zadefinujte si svoje. Po tomto by u┼ż mal GSM Shield fungova┼ą. Sta─Ź├ş otvori┼ą jeden z prilo┼żen├Żch pr├şkladov a sk├║┼ía┼ą.

Mega probl├ęm

Ke─Ć┼że som sa so svoj├şm projektom pohol ─Ćalej, zistil som, ┼że Arduino Uno je mi m├ílo (kv├┤li ramke), preto som si objednal Arduino Mega a chcel som pokra─Źova┼ą ─Ćalej na ┼łom, len┼że na ┼łom u┼ż GSM Shield ne┼íiel, tak som za─Źal laborova┼ą.

Zistil som, ┼że v GSM.h treba zakomentova┼ą ─Źas┼ą pre UNO a odkomentova┼ą ─Źas┼ą pre MEGA. N├ísledovne:

//#define UNO
#define MEGA

A v s├║bore HWserial.h odkomentova┼ą

#define MEGA

Po tomto by GSM Shield mal fungova┼ą ale nefungoval. Tak som sk├║┼íal ─Ćalej. Po prezeran├ş t├Żch k├│dov som zistil, ┼że Uno pou┼ż├şva pre komunik├íciu s GSM Shieldom kni┼żnicu SWserial (Software Serial) ale Mega u┼ż HWserial (Hardware Serial) ─Źo mi bolo divn├ę, ┼że pre─Źo. Len tak pre sk├║┼íku som si otvoril pr├şklady, ktor├ę tam s├║ pre SWserial a potom mi to do┼ílo, respekt├şve mi to bolo vysvetlen├ę pre─Źo to nejde. P├┤vodne som pre piny RX a TX pou┼żil piny 2 a 3 ale tie Mega nem├┤┼że pou┼żi┼ą ako RX. Mus├şte pou┼żi┼ą piny ako napr├şklad 10, 11, 12, 14, 15 preto┼że tieto umo┼ż┼łuj├║ preru┼íenia. Preto som svoj k├│d upravil tak, ┼że v┼żdy pou┼żijem piny 10 a 11 a p├┤jde to aj na Arduino Uno aj Mega, ale ne┼ílo! Pre─Źo? Lebo pri pou┼żit├ş HWserial sa nepou┼ż├şvaj├║ vami vybrat├ę piny ale ┼ítandardne piny RX a TX, ktor├ę ma Mega oproti Uno o 3 viac. Po tomto mi u┼ż GSM Shield funguje aj na Arduino Mega.

Po viacer├Żch sk├║┼íaniach som zistil, ┼że na Mege m├┤┼żete komunikova┼ą s GSM shieldom rovnako ako s Uno, teda so SWserial, av┼íak pre Megu mus├şte v hore uveden├Żch s├║boroch necha┼ą zadefinovan├║ mo┼żnos┼ą Uno, a pou┼żi┼ą piny dovo─żuj├║ce preru┼íenia.

Pozor, pri HWserial mus├şte RX GSM pripoji┼ą na TX Arduina a TX GSM na RX Arduina, ale pri SWserial si nekonfigurujete, kde ma Arduino TX a RX piny, ale kde m├íte pripoji┼ą TX a RX piny GSM Shieldu. Ke─Ć┼że ma Mega 3 komunika─Źn├ę kan├íly sk├║sil som to na v┼íetk├Żch, no fungovalo mi to len na RX1 a TX1.

Arduino Uno

  • GSM.h – odkomentova┼ą UNO, zakomentova┼ą MEGA
  • HWserial.h – zakomentova┼ą MEGA
  • Pou┼żi┼ą zadefinovan├ę piny alebo si ich m├┤┼żete zmeni┼ą

Arduino Mega (Software Serial)

  • GSM.h – odkomentova┼ą UNO, zakomentova┼ą MEGA
  • HWserial.h – zakomentova┼ą MEGA
  • Pou┼żi┼ą zadefinovan├ę piny alebo si ich m├┤┼żete zmeni┼ą na 10 a vy┼í┼íie

Arduino Mega (Hardtware Serial)

  • GSM.h – odkomentova┼ą MEGA, zakomentova┼ą UNO
  • HWserial.h – odkomentova┼ą MEGA
  • Pou┼żi┼ą vo─żne piny RX1 a TX1

V├Żstup

A ako sa spr├íva GSM shield, ke─Ć funguje spr├ívne? Po otvoren├ş s├ęriovej linky by mal v├Żstup vyzera┼ą nasledovne.

GSM Shield testing.

status=READY

ak nefunguje spr├ívne vyp├ş┼íe

status=IDLE

Taktie┼ż aj pod─ża di├│d na GSM shielde m├┤┼żete zisti┼ą ─Źi je v┼íetko OK. D2 (RING) by mala neust├íle svieti┼ą a D6 (NET) by mala v pravideln├Żch intervaloch blika┼ą. Pri nefunk─Źnosti je to podobne, len v pravideln├Żch cykloch obe di├│dy spolo─Źne zhasinaj├║.

Zoznam odkazov

eBay GSM Shield
GSM Kni┼żnica

Na stiahnutie

Original kni┼żnice
Kni┼żnice pre Uno
Kni┼żnice pre Mega SW
Kni┼żnice pre Mega HW