You can make it all work without worrying about decoding the pdu's, dont be scared off by them!
Provided you always send commands in a set way, a protocol if you like, then it wont matter that its not text.
IE..
617658DE06BDDD alarm on
617658DE06BDCD66 alarm off
You just check a few key points in the above, ie
617 658D E06B DDD alarm on
617 658D E06B DCD66 alarm off
Just check for 658d, if you have that you have the alarm word,then check for DDD, if you have then its on, if DCD then its off, if not any, its a user/sms/command error.
Thats how I have mine working now.
And sending a sms back is easy too, ie...
serout portb.6,t1200,["atz",13] ' wake up thephone
pause 500
serout portb.6,t1200,["at+cmgs=",#ln,13] ' tell it we want to send a txt
pause 2000
serout portb.6,t1200,["0011000C91"] ' start of the pdu data
for x=1 to 12 ' send it the destination phone number, 12 digits international format
serout portb.6,t1200,[pduphn(x)]
next
serout portb.6,t1200,["00F0AD"] ' next part of header
' ****** Put all the above in a subroutine, every message you send will need the same header, all you need to send a different message is to change the next lines
serout portb.6,t1200,["C8329BFD06DDDF723619"] ' hello world
pause 9000 ' wait for phone to send
You can just change the hello world to whatever you want, remember if you change the length, you need to tellthe phone the incoming data is a different length.
use 'pdu spy' to create the pdu text you need.




Bookmarks