pic microcontroller UART communication -4(PIC to Modem Communication using UART MikroC)
මයික්රෝකොන්ට්රෝලරය GSM Modem එකක් සමග සම්බන්ද කර සංනිවේදනය කිරීම
මයික්රෝකොන්ට්රෝලර සමග RS232 ක්රමය යොදාගෙන සංනිවේදනය කිරීම සදහා සම්බන්ද කරන අනෙක් ප්රධානම උපාංගය වන්නේ GSM
Modem
වේ.මෙය මයික්රෝකොන්ට්රෝලරය සමග සම්බන්ද කර සංනිවේදනය කිරීමට යොදාගැනීමට පෙර GSM
Modem
එකක් යනු කුමක්ද යන්න සහ ඒ මගින් කුමක් කල හැකිද යන්න පළමුව විමසා බැලිය යුතුය
GSM Modem එකක් යනු
GSM යනු Global System for Mobile Communications යන්න කෙටිකර දැක්වීමයි.ඒ අනුව පැහැදිලිවන කරුන නම් මෙම උපකරනය යොදාගනු ලබන්නේ Mobile Communications (ජංගම සංනිවේදන කටයුතු) සිදුකර ගැනීම සදහා වේ. ඒ අනුව මේ සදහා ජංගම දුරකථනවල මෙන් සිම් කාඩ්පතක් යොදාගනු ලබන අතර mobile service provider (dialog,mobitel වැනි) දායකත්වය හරහා ක්රියාත්මක වේ.මේ අනුව මෙමගින්ද SMS ,MMS යැවීම වැනි ජංගම දුරකථනයෙන් සිදුකරන කාර්යන් සිදුකර ගත හැක.ඒ අනුව GSM Modem එක ජංගම දුරකථනයක් මෙන් පෙනේ.
ජංගම දුරකථන ක්රියාත්මක වන්නේ රේඩියෝ තරංග වලින් වේ.ඒ අනුව රේඩියෝ තරංග යොදාගෙන සංනිවේදනය කරන ආකාරය විමසා බලමු. මෙහිදී සිදුකරන්නේ ජංගම දුරකතන වලින් අදාල සංඥාව (එය SMS ,MMS හෝ voice එකක් විය හැක) නිර්මාණය කරනු ලබයි. ඉන් අනතුරුව මෙම සංඥාව වහක තරංගයක් සමග මුහුර්ජනය කර රේඩියෝ තරංගයක් බවට පත් කර අනෙක් අන්තයට (වෙනත් ජංගම දුරකතනයකට) යවනු ලබයි.මෙම මුහුර්ජන කාර්ය සිදු කරන පරිපථය මොඩියුලේටර් පරිපථ (modulation circuit) ලෙස හැදින් වේ.අනෙක් අන්තයේ ඇති උපකරනය විසින් කරනු ලබන්නේ සංඥාව සමග මුහුර්ජනය වී ඇති තරංගය ඉවත් කර සංඥාව ලබාගෙන ඊට අදාල ප්රතිදානය ලබා දීමයි (SMS එකක් නම් ජංගම දුරකතනයේ තිරයේ ප්රදර්ශනය කිරීම). මෙම මුහුර්ජන තරංගය ඉවත්කර අදාල සංඥාව ලබාගන්නා කාර්ය සිදු කරන පරිපථ ඩිමොඩියුලේටර් පරිපථ ලෙසහැදින් වේ.
(රේඩියෝ තරංග නිර්මාණය කිරීම සදහා කිසිදු විශේෂිත පරිපථ අවශ්ය නොවන අතර ඕනෑම විදුලි සංඥාවක් සංනායකයක් තුලින් ගමන් කර වූ විට ඉබේම රේඩියෝ තරංගයක් නිර්මාණය වේ.රේඩියො තරංග සොයාගත් කාලයේ සිට මේ දක්වා රේඩියෝ තරංග නිර්මාණය කිරීම සදහා යොදාගනු ලබන්නේ මෙම ක්රමය වේ. )
මෙහි Modem යන්නේ අර්තය මොඩියුලේටර් ,ඩිමොඩියුලේටර් කරන පරිපථය යන්නයි.ඒ අනුව GSM Modem එකක් යනු ජංගම දුරකතනය මෙන් රේඩියො තරංග යොදාගෙන සංනිවේදන කටයුතු කල හැකි උපකරනයකි.
GSM උපකරන අතර සංනිවේදනය
ඉහත පැහැදිලි කිරීම්
අනුව පෙනෙන කාරය නම් GSM උපකරන අතර
සංනිවේදය කිරීම සදහා යොදාගන්නා මාධ්යය රේඩියො තරංග වන බවයි.මෙම රේඩියෝ තරංග බොහෝ
සංනිවේදන කටයුතු සදහා යොදාගනු ලබයි. රූපවාහිනීය,ගුවන් විදුලිය, ජංගම දුරකතන අතර
සංනිවේදනය මෙම රේඩියෝ තරංග යොදාගන්නා ප්රධානම අවස්ථාවන් වේ.මෙහිදී පැන නගින ප්රධානම
කරුන නම් මෙම තරංග පැටලෙන්නේ නැතිවකෙලෙසද
යොදාගන්නේ යන්නයි.ඒ සදහා යොදාගෙන ඇති ක්රමය වන්නේ රේඩියෝ තරංග යොදාගන්නා සංනිවේදන
ක්රමය අනුව ඒවාට වෙනස් වූ සංඛ්යතයන්
ලබා දීමයි.ඒ අනුව රූපවාහිනීය තරංග විසුරවා හැරීමට එක් සංඛ්යතයක්ද, ගුවන් විදුලිය
තරංග විසුරවා හැරීමට එක් සංඛ්යතයක්ද, ජංගම දුරකතන
අතර සංනිවේදනය සදහා තවත් සංඛ්යතයක්ද ලෙස සංඛ්යත වෙන් කිරීම සිදුකර ඇත.මෙහිදී එම
අදාල සංනිවේදනය සදහා ඇති උපකරන නිර්මාණය කරන්නේ ඊට අදාල සංඛ්යතයන්ගෙන් යුක්ත තරංග
ග්රහනය කර ගැනීමට හැකි වෙන ලෙස වේ.උදාහරනයක් ලෙස GSM උපකරන අතර සංනිවේදනය සදහා වෙන් කර ඇති සංඛ්යතයන් වන්නේ 900MHz හා 1800MHz වේ.ඒ අනුව GSM උපකරන නිර්මාණය කර
ඇත්තේ මෙම සංඛ්යතය ග්රහණය කරගැනීමට හැකි වන පරිදි වේ.
(සාමාන්යයෙන් රේඩියෝ තරංග යොදාගෙන සංනිවේදනය කරන විට එක් සංඛ්යතයක් පමණක් යොදාගෙන සංනිවේදනය නොකරනු ලබයි.එනම් මෙහිදී කරනු ලබන්නේ එක් එක් සංනිවේදනය සදහා සංඛ්යත පරාසයන් වෙන් කර තිබීමයි.ඒ අනුව GSM උපකරන යොදාගෙන සංනිවේදනය කිරීම සදහා යොදාගෙන ඇති සංඛ්යත පරාසයන් වන්නේ 890 - 915 MHz ,925 - 960 MHz,1710 - 1785 MHz , 1805 - 1880 MHz වේ.මෙහිදී බාවිතයේ පහසුවතකා මෙම සංඛ්යත පරාසයන්ගේ මැද සංඛ්යතයන්ගෙන් මෙම පරාස හදුන්වනු ලබයි. )
දෙදනකු අතර සංනිවේදනයක් සිදුකිරීමට නම් එම දෙදනාම දන්නා පොදු භාෂාවක් තිබිය යුතුය.එසේම GSM උපකරන අතර සංනිවේදනය සිදු කිරීම සදහාද එලෙස පොදු සංනිවේදන භාෂාවක් තිබිය යුතුය.AT command යනු GSM උපකරන අතර සංනිවේදනය සිදුකරන භාෂාව වේ.ඒ අනුව GSM උපකරන මගින් කරනු ලබන්නේ AT command යොදාගෙන සංඥාව නිර්මාණය කර එය රේඩියෝ තරංගයක් බවට පත්කිරීම සහ රේඩියෝ තරංගය නැවත AT command වලින් යුක්ත සංඥාවක් බවට පත්කර සංනිවේදනය කරලීමයි.
පහත දැක්වෙන්නේ GSM
උපකරන වල බහුලව යොදාගැනෙන AT command වේ.
AT command යොදාගෙන සංනිවේදනය කිරීම පැහැදිලි කර ගැනීම සදහා GSM Modem එක පරිඝණකය සමග සම්බන්ද කර සංනිවේදනය කරන ආකාරය විමසා බලමු.මෙහිදී SMS එකක් send කිරීම සහ read කිරීමට අදාල AT command පමණක් යොදාගනු ලබයි.
GSM
Modem එක පරිඝණකය සමග සම්බන්ද කර සංනිවේදනය කිරීම
මේ සදහා fargo maestro 10 GSM Modem එක පරිඝණකය සමග සම්බන්ද කර සංනිවේදනය කරන ආකාරය විමසා බලමු.
(සාමාන්යයෙන් රේඩියෝ තරංග යොදාගෙන සංනිවේදනය කරන විට එක් සංඛ්යතයක් පමණක් යොදාගෙන සංනිවේදනය නොකරනු ලබයි.එනම් මෙහිදී කරනු ලබන්නේ එක් එක් සංනිවේදනය සදහා සංඛ්යත පරාසයන් වෙන් කර තිබීමයි.ඒ අනුව GSM උපකරන යොදාගෙන සංනිවේදනය කිරීම සදහා යොදාගෙන ඇති සංඛ්යත පරාසයන් වන්නේ 890 - 915 MHz ,925 - 960 MHz,1710 - 1785 MHz , 1805 - 1880 MHz වේ.මෙහිදී බාවිතයේ පහසුවතකා මෙම සංඛ්යත පරාසයන්ගේ මැද සංඛ්යතයන්ගෙන් මෙම පරාස හදුන්වනු ලබයි. )
දෙදනකු අතර සංනිවේදනයක් සිදුකිරීමට නම් එම දෙදනාම දන්නා පොදු භාෂාවක් තිබිය යුතුය.එසේම GSM උපකරන අතර සංනිවේදනය සිදු කිරීම සදහාද එලෙස පොදු සංනිවේදන භාෂාවක් තිබිය යුතුය.AT command යනු GSM උපකරන අතර සංනිවේදනය සිදුකරන භාෂාව වේ.ඒ අනුව GSM උපකරන මගින් කරනු ලබන්නේ AT command යොදාගෙන සංඥාව නිර්මාණය කර එය රේඩියෝ තරංගයක් බවට පත්කිරීම සහ රේඩියෝ තරංගය නැවත AT command වලින් යුක්ත සංඥාවක් බවට පත්කර සංනිවේදනය කරලීමයි.
AT command යොදාගෙන සංනිවේදනය කිරීම
AT command යොදාගෙන සංනිවේදනය කිරීම පැහැදිලි කර ගැනීම සදහා GSM Modem එක පරිඝණකය සමග සම්බන්ද කර සංනිවේදනය කරන ආකාරය විමසා බලමු.මෙහිදී SMS එකක් send කිරීම සහ read කිරීමට අදාල AT command පමණක් යොදාගනු ලබයි.
මේ සදහා fargo maestro 10 GSM Modem එක පරිඝණකය සමග සම්බන්ද කර සංනිවේදනය කරන ආකාරය විමසා බලමු.
ප්රථමයෙන්
මෙම GSM
Modem එක
ඉහත දක්වා ඇති ආකාරයට පරිඝණකයේ serial port එක හරහා පරිඝණකය සමක සම්බන්ද කල යුතුය.ඉන් අනතුරුව
GSM
Modem එකේ
Baud
Rate එක
9600 ලෙස සකස්කර ගත යුතුය.මේ සදහා device maneger වෙත ගොස් එහි ports යටතෙන් අදාල modem එක තොරා ඒ මත right click කර properties වෙත ගමන් කර මෙම සකස් කිරීම් සිදු කර ගත හැක.
ඉන් පසු Hyperterminal මෘදුකාංගයේ ද Baud Rate එක 9600 ලෙස සකස්කර
එයද විවෘත කර ගැනීම කල යුතුය.ඒ අනුව පරිඝණකය හා GSM Modem එක අතර සංනිවේදන සිදුකිරීමට හැකිදැයි
බැලීමට ඇති විධානය වන්නේ “AT” වේ.මෙහිදී Hyperterminal මෘදුකාංගයේ AT ලෙස ටයිප් කර ENTER කල විට modem එකෙන් “OK “ ලෙස ලබා දේ නම් GSM Modem එක හා පරිඝණකය නිවැරදිව
සම්බන්ද වී ඇති අතර දැන් පරිඝණකය යොදාගෙන GSM
Modem එක මගින් SMS එකක් send
කිරීම සහ read කිරීම සිදු
කල හැක.
පහත දැක්වෙන්නේ SMS එකක් send කිරීමට අදාල AT command වේ.
1. AT+CMGF=1<ENTER> මෙම විධානය
දෙනු ලබන්නේ messge එකේ text format එකසකස් කිරීම සදහා
වේ.මෙ විධානය දුන් පසු Modem එක විසින්
පහත දක්වා ඇති ආකාරයට reply දෙනු ලබයි.
Response1:+CMGF:
Response2: OK
2. ඉන් පසු දෙවන
පියවර ලෙස AT+CMGS=”PONE NUMBER” <ENTER> කල යුතුය එවිට modem එක මගින් “< “ලෙස reply එකක් දෙනු ලබයි.දැන්
අප විසින් යැවිය යුතු message එක Type කර <CTR+Z> කල යුතුය.එවිට message එක
නිසියාකාරව අප විසින් සදහන් කල PONE NUMBER එකට send වූයේ නම් Modem එක විසින් පහත දක්වා
ඇති ආකාරයට reply දෙනු ලබයි.
Response:+CMGS: 27 [මෙය reference number එක ලෙස හැදින්වේ ]
Response:+CMGS: 27 [මෙය reference number එක ලෙස හැදින්වේ ]
Response: OK
SMS එකක් Read කිරීම
Modem එකට message එකක් ලැබුන විට +CMTI “SM”, 1 ලෙස reply එකක් Modem එක විසිනු දෙන් ලබයි.ඒ මගින් message එකක් ලැබුන බව දැනගත හැක.මෙහි 1 ලෙස දක්වා ඇති අංකය index අංකය වේ.ඒ මගින් message එකක් Read කිරීම, Delete කිරීම ආදිය කල හැක.පහත දැක්වෙන්නේ message එකක් Read, Delete කිරීමට ලබා දිය යුතු AT command වේ.
Delete a
specific Message from the SIM
Command: AT+CMGD=X
[Where X is index number]
Response: OK
Read a
specific SMS message from the SIM
Command: AT+CMGR=X
[Where X is index number]
Response1: +CMGR: X,”REC UNREAD”,”+94xxxxxxxxxx”,
This is the message text
Response2: OK
Response1: +CMGR: X,”REC UNREAD”,”+94xxxxxxxxxx”,
This is the message text
Response2: OK
පහත දැක්වෙන්නේ මෙලෙස
ලැබෙන Message වල format එක වේ.
+CMGR: <index>,
<status>, <from address>, <mr>, <scts> <CRLF> <data>
Index – The memory index number, use this index to
read or delete this message.
Status – Message එක READ කල එකක්ද නැතහොත් UNREAD Message එකක්ද යන්න සටහන් කරනු ලබයි
From address – Message එක ලැබුන අංකය පෙන්නුම් කරනු ලබයි
mr - The reference number of this message. බොහෝ modems වල මෙම field එක empty වේ.
Scts - The time when the message is forwarded to this phone or modem.
Data – Message එක අන්තර්ඝත වේ.
Status – Message එක READ කල එකක්ද නැතහොත් UNREAD Message එකක්ද යන්න සටහන් කරනු ලබයි
From address – Message එක ලැබුන අංකය පෙන්නුම් කරනු ලබයි
mr - The reference number of this message. බොහෝ modems වල මෙම field එක empty වේ.
Scts - The time when the message is forwarded to this phone or modem.
Data – Message එක අන්තර්ඝත වේ.