Сергей Купавцев
/
GSMandSdWork
gsm and sd card
main.cpp@0:f7e73515c3fc, 2019-07-02 (annotated)
- Committer:
- Sergey_K
- Date:
- Tue Jul 02 07:47:25 2019 +0000
- Revision:
- 0:f7e73515c3fc
- Child:
- 1:441cdd24333e
123
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Sergey_K | 0:f7e73515c3fc | 1 | //It is the code of the GPRS communication by the use of the Sim800 module. |
Sergey_K | 0:f7e73515c3fc | 2 | //This code has work is "to upload data on data.sparkfun.com in every 5 seconds. |
Sergey_K | 0:f7e73515c3fc | 3 | //To check the uploaded data the URL is "data.sparkfun.com/streams/roYVdJgWrXUpxVpDYJpA". |
Sergey_K | 0:f7e73515c3fc | 4 | |
Sergey_K | 0:f7e73515c3fc | 5 | #include "mbed.h" |
Sergey_K | 0:f7e73515c3fc | 6 | #include <string> |
Sergey_K | 0:f7e73515c3fc | 7 | #include "gsmWork.h" |
Sergey_K | 0:f7e73515c3fc | 8 | #include "lcdWork.h" |
Sergey_K | 0:f7e73515c3fc | 9 | #define GSMRX PA_9 |
Sergey_K | 0:f7e73515c3fc | 10 | #define GSMTX PA_10 |
Sergey_K | 0:f7e73515c3fc | 11 | #define SAMPLE_FLAG1 (1UL << 0) |
Sergey_K | 0:f7e73515c3fc | 12 | #define SAMPLE_FLAG2 (1UL << 9) |
Sergey_K | 0:f7e73515c3fc | 13 | |
Sergey_K | 0:f7e73515c3fc | 14 | |
Sergey_K | 0:f7e73515c3fc | 15 | |
Sergey_K | 0:f7e73515c3fc | 16 | typedef struct { |
Sergey_K | 0:f7e73515c3fc | 17 | uint8_t *lcdData; |
Sergey_K | 0:f7e73515c3fc | 18 | } mail_t; |
Sergey_K | 0:f7e73515c3fc | 19 | |
Sergey_K | 0:f7e73515c3fc | 20 | Mail<mail_t, 32> mail_box; |
Sergey_K | 0:f7e73515c3fc | 21 | |
Sergey_K | 0:f7e73515c3fc | 22 | |
Sergey_K | 0:f7e73515c3fc | 23 | uint8_t request[50] = "Hello!I am SIM800,I send you request from stm32"; |
Sergey_K | 0:f7e73515c3fc | 24 | uint8_t counter=0x00; |
Sergey_K | 0:f7e73515c3fc | 25 | uint8_t receiveMsg[50]; |
Sergey_K | 0:f7e73515c3fc | 26 | char answer[300]; |
Sergey_K | 0:f7e73515c3fc | 27 | //(const char*) receiveMsg[10]; |
Sergey_K | 0:f7e73515c3fc | 28 | bool pressedButton = false; |
Sergey_K | 0:f7e73515c3fc | 29 | int i; |
Sergey_K | 0:f7e73515c3fc | 30 | InterruptIn button(USER_BUTTON); |
Sergey_K | 0:f7e73515c3fc | 31 | |
Sergey_K | 0:f7e73515c3fc | 32 | DigitalOut myLed(LED1); |
Sergey_K | 0:f7e73515c3fc | 33 | |
Sergey_K | 0:f7e73515c3fc | 34 | |
Sergey_K | 0:f7e73515c3fc | 35 | Serial sim800(GSMRX,GSMTX); //Serial communication of the sim800 and pc. |
Sergey_K | 0:f7e73515c3fc | 36 | Serial pc(SERIAL_TX,SERIAL_RX); |
Sergey_K | 0:f7e73515c3fc | 37 | |
Sergey_K | 0:f7e73515c3fc | 38 | |
Sergey_K | 0:f7e73515c3fc | 39 | Thread gsmTask; |
Sergey_K | 0:f7e73515c3fc | 40 | Thread lcdTask; |
Sergey_K | 0:f7e73515c3fc | 41 | |
Sergey_K | 0:f7e73515c3fc | 42 | void buttonPressed() |
Sergey_K | 0:f7e73515c3fc | 43 | { |
Sergey_K | 0:f7e73515c3fc | 44 | counter++; |
Sergey_K | 0:f7e73515c3fc | 45 | request[49]=counter; |
Sergey_K | 0:f7e73515c3fc | 46 | pressedButton=true; |
Sergey_K | 0:f7e73515c3fc | 47 | |
Sergey_K | 0:f7e73515c3fc | 48 | |
Sergey_K | 0:f7e73515c3fc | 49 | } |
Sergey_K | 0:f7e73515c3fc | 50 | void buttonReleased() |
Sergey_K | 0:f7e73515c3fc | 51 | { |
Sergey_K | 0:f7e73515c3fc | 52 | myLed=!myLed; |
Sergey_K | 0:f7e73515c3fc | 53 | pressedButton=false; |
Sergey_K | 0:f7e73515c3fc | 54 | |
Sergey_K | 0:f7e73515c3fc | 55 | } |
Sergey_K | 0:f7e73515c3fc | 56 | |
Sergey_K | 0:f7e73515c3fc | 57 | void simAnswer() |
Sergey_K | 0:f7e73515c3fc | 58 | { |
Sergey_K | 0:f7e73515c3fc | 59 | /*if (answer.indexOf("RDY") > -1) |
Sergey_K | 0:f7e73515c3fc | 60 | { |
Sergey_K | 0:f7e73515c3fc | 61 | |
Sergey_K | 0:f7e73515c3fc | 62 | |
Sergey_K | 0:f7e73515c3fc | 63 | |
Sergey_K | 0:f7e73515c3fc | 64 | } |
Sergey_K | 0:f7e73515c3fc | 65 | else if (answer.indexOf("OK") > -1) |
Sergey_K | 0:f7e73515c3fc | 66 | { |
Sergey_K | 0:f7e73515c3fc | 67 | |
Sergey_K | 0:f7e73515c3fc | 68 | } |
Sergey_K | 0:f7e73515c3fc | 69 | else if (answer.indexOf("ERROR") > -1) |
Sergey_K | 0:f7e73515c3fc | 70 | { |
Sergey_K | 0:f7e73515c3fc | 71 | |
Sergey_K | 0:f7e73515c3fc | 72 | } |
Sergey_K | 0:f7e73515c3fc | 73 | else if(answer!="") |
Sergey_K | 0:f7e73515c3fc | 74 | { |
Sergey_K | 0:f7e73515c3fc | 75 | |
Sergey_K | 0:f7e73515c3fc | 76 | }*/ |
Sergey_K | 0:f7e73515c3fc | 77 | |
Sergey_K | 0:f7e73515c3fc | 78 | } |
Sergey_K | 0:f7e73515c3fc | 79 | |
Sergey_K | 0:f7e73515c3fc | 80 | |
Sergey_K | 0:f7e73515c3fc | 81 | |
Sergey_K | 0:f7e73515c3fc | 82 | |
Sergey_K | 0:f7e73515c3fc | 83 | void sendAt(const char *AT,int ATdelay) |
Sergey_K | 0:f7e73515c3fc | 84 | { |
Sergey_K | 0:f7e73515c3fc | 85 | sim800.printf("%s\r\n",AT); |
Sergey_K | 0:f7e73515c3fc | 86 | } |
Sergey_K | 0:f7e73515c3fc | 87 | |
Sergey_K | 0:f7e73515c3fc | 88 | void startGPRS() |
Sergey_K | 0:f7e73515c3fc | 89 | { |
Sergey_K | 0:f7e73515c3fc | 90 | |
Sergey_K | 0:f7e73515c3fc | 91 | } |
Sergey_K | 0:f7e73515c3fc | 92 | //LCD DISPLAY WORK++++++++++++++++++++++++++++++++++ |
Sergey_K | 0:f7e73515c3fc | 93 | void lcdStartWork() { |
Sergey_K | 0:f7e73515c3fc | 94 | |
Sergey_K | 0:f7e73515c3fc | 95 | while(1) |
Sergey_K | 0:f7e73515c3fc | 96 | { |
Sergey_K | 0:f7e73515c3fc | 97 | if(pressedButton==true) { |
Sergey_K | 0:f7e73515c3fc | 98 | |
Sergey_K | 0:f7e73515c3fc | 99 | |
Sergey_K | 0:f7e73515c3fc | 100 | |
Sergey_K | 0:f7e73515c3fc | 101 | myLed=!myLed; |
Sergey_K | 0:f7e73515c3fc | 102 | |
Sergey_K | 0:f7e73515c3fc | 103 | mail_t *mail = mail_box.alloc(); |
Sergey_K | 0:f7e73515c3fc | 104 | mail->lcdData = request; |
Sergey_K | 0:f7e73515c3fc | 105 | mail_box.put(mail); |
Sergey_K | 0:f7e73515c3fc | 106 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 107 | pressedButton=false; |
Sergey_K | 0:f7e73515c3fc | 108 | |
Sergey_K | 0:f7e73515c3fc | 109 | |
Sergey_K | 0:f7e73515c3fc | 110 | } |
Sergey_K | 0:f7e73515c3fc | 111 | wait(0.3); |
Sergey_K | 0:f7e73515c3fc | 112 | } |
Sergey_K | 0:f7e73515c3fc | 113 | |
Sergey_K | 0:f7e73515c3fc | 114 | } |
Sergey_K | 0:f7e73515c3fc | 115 | //GSM MODULE WORK_________________________________ |
Sergey_K | 0:f7e73515c3fc | 116 | void gsmStartWork() { |
Sergey_K | 0:f7e73515c3fc | 117 | |
Sergey_K | 0:f7e73515c3fc | 118 | while(1) |
Sergey_K | 0:f7e73515c3fc | 119 | { |
Sergey_K | 0:f7e73515c3fc | 120 | osEvent evt = mail_box.get();; |
Sergey_K | 0:f7e73515c3fc | 121 | if (evt.status == osEventMail) { |
Sergey_K | 0:f7e73515c3fc | 122 | mail_t *mail = (mail_t*)evt.value.p; |
Sergey_K | 0:f7e73515c3fc | 123 | uint8_t*receiveMsg = mail->lcdData; |
Sergey_K | 0:f7e73515c3fc | 124 | printf("lcdData: %s\n\r" , *receiveMsg); |
Sergey_K | 0:f7e73515c3fc | 125 | mail_box.free(mail); |
Sergey_K | 0:f7e73515c3fc | 126 | sim800.printf("AT\r\n"); |
Sergey_K | 0:f7e73515c3fc | 127 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 128 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 129 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 130 | } |
Sergey_K | 0:f7e73515c3fc | 131 | sim800.printf("AT+SAPBR=3,1,Contype,GPRS\r\n"); |
Sergey_K | 0:f7e73515c3fc | 132 | |
Sergey_K | 0:f7e73515c3fc | 133 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 134 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 135 | } |
Sergey_K | 0:f7e73515c3fc | 136 | |
Sergey_K | 0:f7e73515c3fc | 137 | sim800.printf("AT+SAPBR=3,1,APN,internet.mts.ru\r\n"); |
Sergey_K | 0:f7e73515c3fc | 138 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 139 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 140 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 141 | } |
Sergey_K | 0:f7e73515c3fc | 142 | sim800.printf("AT+SAPBR=3,1,USER,mts\r\n"); |
Sergey_K | 0:f7e73515c3fc | 143 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 144 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 145 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 146 | } |
Sergey_K | 0:f7e73515c3fc | 147 | sendAt("AT+SAPBR=3,1,PWD,mts",0); |
Sergey_K | 0:f7e73515c3fc | 148 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 149 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 150 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 151 | } |
Sergey_K | 0:f7e73515c3fc | 152 | sendAt("AT+SAPBR=1,1",0); |
Sergey_K | 0:f7e73515c3fc | 153 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 154 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 155 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 156 | } |
Sergey_K | 0:f7e73515c3fc | 157 | sendAt("AT+HTTPINIT",0); |
Sergey_K | 0:f7e73515c3fc | 158 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 159 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 160 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 161 | } |
Sergey_K | 0:f7e73515c3fc | 162 | sendAt("AT+HTTPPARA=CID,1",0); |
Sergey_K | 0:f7e73515c3fc | 163 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 164 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 165 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 166 | } |
Sergey_K | 0:f7e73515c3fc | 167 | sendAt("AT+HTTPPARA=URL,157.230.245.76:1880/message",0); |
Sergey_K | 0:f7e73515c3fc | 168 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 169 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 170 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 171 | } |
Sergey_K | 0:f7e73515c3fc | 172 | sendAt("AT+HTTPPARA=CONTENT,application/octet-stream",0); |
Sergey_K | 0:f7e73515c3fc | 173 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 174 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 175 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 176 | } |
Sergey_K | 0:f7e73515c3fc | 177 | sendAt("AT+HTTPDATA=51,10000",0); |
Sergey_K | 0:f7e73515c3fc | 178 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 179 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 180 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 181 | } |
Sergey_K | 0:f7e73515c3fc | 182 | sim800.write(*receiveMsg,51,NULL,SERIAL_EVENT_TX_COMPLETE); |
Sergey_K | 0:f7e73515c3fc | 183 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 184 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 185 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 186 | } |
Sergey_K | 0:f7e73515c3fc | 187 | sendAt("AT+HTTPACTION=1",0); |
Sergey_K | 0:f7e73515c3fc | 188 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 189 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 190 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 191 | } |
Sergey_K | 0:f7e73515c3fc | 192 | sendAt("AT+HTTPTERM",0); |
Sergey_K | 0:f7e73515c3fc | 193 | wait(1); |
Sergey_K | 0:f7e73515c3fc | 194 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 195 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 196 | } |
Sergey_K | 0:f7e73515c3fc | 197 | sendAt("AT+SAPBR=0,1",0); |
Sergey_K | 0:f7e73515c3fc | 198 | |
Sergey_K | 0:f7e73515c3fc | 199 | } |
Sergey_K | 0:f7e73515c3fc | 200 | } |
Sergey_K | 0:f7e73515c3fc | 201 | |
Sergey_K | 0:f7e73515c3fc | 202 | } |
Sergey_K | 0:f7e73515c3fc | 203 | //MAIN----------------------------------------------- |
Sergey_K | 0:f7e73515c3fc | 204 | int main() |
Sergey_K | 0:f7e73515c3fc | 205 | { |
Sergey_K | 0:f7e73515c3fc | 206 | pc.baud(9300); |
Sergey_K | 0:f7e73515c3fc | 207 | sim800.baud(9600); |
Sergey_K | 0:f7e73515c3fc | 208 | pc.printf("*******GPRS TEST*******\r\n"); |
Sergey_K | 0:f7e73515c3fc | 209 | |
Sergey_K | 0:f7e73515c3fc | 210 | button.rise(&buttonReleased); |
Sergey_K | 0:f7e73515c3fc | 211 | button.fall(&buttonPressed); |
Sergey_K | 0:f7e73515c3fc | 212 | |
Sergey_K | 0:f7e73515c3fc | 213 | gsmTask.start(gsmStartWork); |
Sergey_K | 0:f7e73515c3fc | 214 | lcdTask.start(lcdStartWork); |
Sergey_K | 0:f7e73515c3fc | 215 | |
Sergey_K | 0:f7e73515c3fc | 216 | /* pc.printf("*******GPRS TEST*******\r\n"); |
Sergey_K | 0:f7e73515c3fc | 217 | |
Sergey_K | 0:f7e73515c3fc | 218 | |
Sergey_K | 0:f7e73515c3fc | 219 | |
Sergey_K | 0:f7e73515c3fc | 220 | sim800.printf("AT+CGATT?\r\n"); //To check the GPRS is attached or not. |
Sergey_K | 0:f7e73515c3fc | 221 | sim800.scanf("%s%s",x,y); |
Sergey_K | 0:f7e73515c3fc | 222 | |
Sergey_K | 0:f7e73515c3fc | 223 | |
Sergey_K | 0:f7e73515c3fc | 224 | sim800.printf("AT+CIPSHUT\r\n"); //To reset the IP session if any. |
Sergey_K | 0:f7e73515c3fc | 225 | sim800.scanf("%s%s",x,y); |
Sergey_K | 0:f7e73515c3fc | 226 | pc.printf("%s %s\r\n",x,y); |
Sergey_K | 0:f7e73515c3fc | 227 | |
Sergey_K | 0:f7e73515c3fc | 228 | sim800.printf("AT+SAPBR=3,1,Contype,GPRS\r\n"); //To Set the connection type to GPRS. |
Sergey_K | 0:f7e73515c3fc | 229 | sim800.scanf("%s",x); |
Sergey_K | 0:f7e73515c3fc | 230 | pc.printf("%s\r\n",x); |
Sergey_K | 0:f7e73515c3fc | 231 | |
Sergey_K | 0:f7e73515c3fc | 232 | sim800.printf("AT+SAPBR=3,1,APN,www\r\n"); //To Set the APN to to "www" , It might be different for you, and depends on the network. |
Sergey_K | 0:f7e73515c3fc | 233 | sim800.scanf("%s",x); |
Sergey_K | 0:f7e73515c3fc | 234 | pc.printf("%s\r\n",x); |
Sergey_K | 0:f7e73515c3fc | 235 | |
Sergey_K | 0:f7e73515c3fc | 236 | sim800.printf("AT+SAPBR =1,1\r\n"); //To Enable the GPRS. |
Sergey_K | 0:f7e73515c3fc | 237 | sim800.scanf("%s",x); |
Sergey_K | 0:f7e73515c3fc | 238 | pc.printf("%s\r\n",x); |
Sergey_K | 0:f7e73515c3fc | 239 | |
Sergey_K | 0:f7e73515c3fc | 240 | sim800.printf("AT+SAPBR =2,1\r\n"); //To get the IP address. |
Sergey_K | 0:f7e73515c3fc | 241 | sim800.scanf("%s%s%s",x,y,z); |
Sergey_K | 0:f7e73515c3fc | 242 | pc.printf("%s %s %s\r\n",x,y,z); |
Sergey_K | 0:f7e73515c3fc | 243 | |
Sergey_K | 0:f7e73515c3fc | 244 | |
Sergey_K | 0:f7e73515c3fc | 245 | sim800.printf("AT+HTTPINIT\r\n"); //To enable the HTTP mode. |
Sergey_K | 0:f7e73515c3fc | 246 | sim800.scanf("%s",x); |
Sergey_K | 0:f7e73515c3fc | 247 | pc.printf("%s\r\n",x); |
Sergey_K | 0:f7e73515c3fc | 248 | |
Sergey_K | 0:f7e73515c3fc | 249 | sim800.printf("AT+HTTPPARA=CID,1\r\n"); //To sets up HTTP parameters for the HTTP call. |
Sergey_K | 0:f7e73515c3fc | 250 | sim800.scanf("%s",x); |
Sergey_K | 0:f7e73515c3fc | 251 | pc.printf("%s\r\n",x); |
Sergey_K | 0:f7e73515c3fc | 252 | |
Sergey_K | 0:f7e73515c3fc | 253 | |
Sergey_K | 0:f7e73515c3fc | 254 | float lng,lat = 0; |
Sergey_K | 0:f7e73515c3fc | 255 | while(lat == 0) |
Sergey_K | 0:f7e73515c3fc | 256 | { |
Sergey_K | 0:f7e73515c3fc | 257 | sim800.printf("AT+CIPGSMLOC=1,1\r\n"); //To check the Location of GSM in Co-Ordinates(Longitude,Latitude). |
Sergey_K | 0:f7e73515c3fc | 258 | sim800.scanf("%s%s%s",x,y,z); |
Sergey_K | 0:f7e73515c3fc | 259 | sscanf(y,"0,%f,%f",&lng,&lat); //To sperate out the value of longitude and latitude from the string 'y'. |
Sergey_K | 0:f7e73515c3fc | 260 | } |
Sergey_K | 0:f7e73515c3fc | 261 | pc.printf("%0.6f %0.6f",lng,lat); |
Sergey_K | 0:f7e73515c3fc | 262 | */ |
Sergey_K | 0:f7e73515c3fc | 263 | /* |
Sergey_K | 0:f7e73515c3fc | 264 | while(1) |
Sergey_K | 0:f7e73515c3fc | 265 | { |
Sergey_K | 0:f7e73515c3fc | 266 | |
Sergey_K | 0:f7e73515c3fc | 267 | sim800.printf("AT+HTTPPARA=URL,data.sparkfun.com/input/roYVdJgWrXUpxVpDYJpA?private_key=jkgpNMYr81cgMGgbypgr&co_lat=%0.6f&co_long=%0.6f&ldr=%0.2f&pot=%0.2f\r\n",lat,lng,potval,ldrval); |
Sergey_K | 0:f7e73515c3fc | 268 | //The above command is for "To Set the url to the address of the webpage you want to access". |
Sergey_K | 0:f7e73515c3fc | 269 | sim800.scanf("%s",x); |
Sergey_K | 0:f7e73515c3fc | 270 | pc.printf("%s\r\n",x); |
Sergey_K | 0:f7e73515c3fc | 271 | |
Sergey_K | 0:f7e73515c3fc | 272 | sim800.printf("AT+HTTPACTION=0\r\n"); //To Start the HTTP GET session, by giving this command. |
Sergey_K | 0:f7e73515c3fc | 273 | sim800.scanf("%s%s%s",x,y,z); |
Sergey_K | 0:f7e73515c3fc | 274 | pc.printf("%s %s %s\r\n",x,y,z); |
Sergey_K | 0:f7e73515c3fc | 275 | |
Sergey_K | 0:f7e73515c3fc | 276 | sim800.printf("AT+HTTPREAD\r\n"); //To read the received data. |
Sergey_K | 0:f7e73515c3fc | 277 | sim800.scanf("%s%s%s%s%s",x,y,z,l,m); |
Sergey_K | 0:f7e73515c3fc | 278 | pc.printf("%s %s %s %s %s\r\n",x,y,z,l,m); |
Sergey_K | 0:f7e73515c3fc | 279 | |
Sergey_K | 0:f7e73515c3fc | 280 | wait(5); |
Sergey_K | 0:f7e73515c3fc | 281 | }*/ |
Sergey_K | 0:f7e73515c3fc | 282 | while(1) { |
Sergey_K | 0:f7e73515c3fc | 283 | if(pc.readable()) { |
Sergey_K | 0:f7e73515c3fc | 284 | sim800.putc(pc.getc()); |
Sergey_K | 0:f7e73515c3fc | 285 | } |
Sergey_K | 0:f7e73515c3fc | 286 | if(sim800.readable()) { |
Sergey_K | 0:f7e73515c3fc | 287 | pc.putc(sim800.getc()); |
Sergey_K | 0:f7e73515c3fc | 288 | } |
Sergey_K | 0:f7e73515c3fc | 289 | } |
Sergey_K | 0:f7e73515c3fc | 290 | } |