/[projects]/smsdaemon/tester.cpp
ViewVC logotype

Annotation of /smsdaemon/tester.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 69 - (hide annotations) (download)
Fri Jun 13 06:38:43 2008 UTC (15 years, 11 months ago) by torben
File size: 3289 byte(s)
Basic Sms PDU parsing works

1 torben 26 /* using http://sourceforge.net/projects/libserial/
2 torben 59 *
3 torben 26 */
4    
5    
6     #include <string>
7     #include <iostream>
8 torben 38 #include <vector>
9 torben 59 #include "SerialPort.h"
10    
11 torben 26 #include "GsmModem.h"
12 torben 49 #include "Sms.h"
13     #include "TogPlugin.h"
14 torben 54 #include "TrainInfo.h"
15 torben 49 #include "util.h"
16 torben 26
17 torben 59 #include "SmsPdu.h"
18 torben 49
19 torben 26 using namespace std;
20    
21    
22 torben 60 void test_sms(GsmModem& modem, int len)
23     {
24     cout << "----- test_sms( " << len << " ) ------- " << endl;
25    
26     string msg = Util::str_formatint(len);
27 torben 62 msg.append(1, ' ');
28 torben 61 msg.append(len - msg.length(), 'a');
29 torben 60
30     vector<PduInfo> pdu = SmsPdu::CreateSmsPdu("4522337617", msg, true);
31    
32     for (unsigned int i=0; i<pdu.size(); ++i)
33     {
34     cout << "#" << i << endl;
35     cout << "Len: " << pdu[i].len << endl;
36     cout << "Pdu: " << pdu[i].pdu << endl;
37    
38     modem.SendSmsPdu(pdu[i].pdu, pdu[i].len);
39     }
40     }
41    
42    
43 torben 26 int main()
44     {
45 torben 69 string pdu = "06915404950000040A91542233677100008060211202528009AB61F3C8D481622C";
46 torben 68
47 torben 69 SMS sms = SmsPdu::ParseSmsPdu(pdu);
48 torben 68
49 torben 69 cout << "Sender " << sms.sender << endl;
50     cout << "Time " << sms.timestamp << endl;
51     cout << "Msg. " << sms.message << endl;
52    
53 torben 68 return 0;
54    
55    
56 torben 59 SerialPort port("/dev/ttyS1" );
57     port.Open( SerialPort::BAUD_9600,
58     SerialPort::CHAR_SIZE_8,
59     SerialPort::PARITY_NONE,
60     SerialPort::STOP_BITS_1,
61     SerialPort::FLOW_CONTROL_HARD );
62 torben 54
63 torben 59 GsmModem modem(port);
64     modem.Init();
65    
66 torben 60 test_sms(modem, 161);
67 torben 61 /*
68     vector<PduInfo> pdu = SmsPdu::CreateSmsPdu("4522337617", "Hej med dig, igen", true);
69     cout << "Len: " << pdu[0].len << endl;
70     cout << "Pdu: " << pdu[0].pdu << endl;
71 torben 59
72 torben 61 modem.SendSmsPdu(pdu[0].pdu, pdu[0].len);
73     */
74 torben 59
75    
76    
77     /*
78 torben 49 SMS sms;
79     sms.sender = "12345678";
80 torben 54 sms.message = "Tog list";
81 torben 49 DebugGsmModem modem;
82     TogPlugin plugin;
83    
84     plugin.Execute(modem, sms);
85    
86    
87     string msg = Util::str_gsm2latin(modem.GetMessage());
88    
89     cout << "---- " << msg.length() << " ----" << endl;
90     cout << msg << endl;
91 torben 59 */
92 torben 49 /*
93 torben 38 vector<TrainInfo> trains = GetTrainInfo("BJ","Bjerringbro");
94 torben 26
95 torben 38 for (unsigned i=0; i<trains.size(); ++i)
96     {
97     TrainInfo& train = trains[i];
98     cout << "-------------------------------------" << endl;
99     cout << "Time: {" << train.time << "}" << endl;
100     cout << "Update: {" << train.update << "}" << endl;
101     cout << "Type: {" << train.type << "}" << endl;
102     cout << "Destination:{" << train.destination << "}" << endl;
103     cout << "Origin: {" << train.origin << "}" << endl;
104     cout << "Current: {" << train.current << "}" << endl;
105     cout << "Status: {" << train.status << "}" << endl;
106     cout << "Note: {" << train.note << "}" << endl;
107     }
108 torben 49 */
109 torben 38 /*
110 torben 26 SMS sms;
111    
112     sms.message = "Test test2 teste3 test4";
113    
114     cout << "|" << GetSmsCommand(sms) << "|" << GetSmsData(sms) << "|" << endl;
115    
116     return 0;
117    
118    
119     SerialPort port("/dev/ttyS1" );
120     port.Open();
121     GsmModem modem(port);
122    
123     //modem.SendSms("22337617", "Hello, sir!");
124     //
125     vector<SMS> res = modem.ReadSms();
126    
127    
128     for (unsigned i=0; i<res.size(); ++i)
129     {
130     cout << "--- SMS Recieved ---" << endl;
131     cout << "Index: " << res[i].sms_index << endl;
132     cout << "From: " << res[i].sender << endl;
133     cout << "Time: " << res[i].timestamp << endl;
134     cout << "Message:>" << res[i].message << "<" << endl;
135     cout << endl;
136     modem.DeleteSms(res[i].sms_index);
137     }
138    
139     for (int j=0; j<5; j++)
140     {
141     modem.SendSms("22337617","Test");
142     }
143 torben 38 */
144 torben 26 return 0;
145     }

  ViewVC Help
Powered by ViewVC 1.1.20