Abhinaba Bhattacharjee / Mbed 2 deprecated LidarSurveillance

Dependencies:   LidarLitev2 Servo mbed

Committer:
AbhiBjee
Date:
Thu Dec 14 17:46:30 2017 +0000
Revision:
0:81cd42bce3cb
LiDAR based real-time 3D Surveillance system

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AbhiBjee 0:81cd42bce3cb 1 #include "mbed.h"
AbhiBjee 0:81cd42bce3cb 2 #include <math.h>
AbhiBjee 0:81cd42bce3cb 3 #include "LidarLitev2.h"
AbhiBjee 0:81cd42bce3cb 4 #include "Servo.h"
AbhiBjee 0:81cd42bce3cb 5 Servo myservo(D3);
AbhiBjee 0:81cd42bce3cb 6 PwmOut ENApwm(D3);
AbhiBjee 0:81cd42bce3cb 7 float level;
AbhiBjee 0:81cd42bce3cb 8 int period = 3000;
AbhiBjee 0:81cd42bce3cb 9 float Neutral_level=1500;
AbhiBjee 0:81cd42bce3cb 10 float clklevel = 0.9;
AbhiBjee 0:81cd42bce3cb 11 float ant_clklevel = 0.1;
AbhiBjee 0:81cd42bce3cb 12 DigitalOut DirPin(D4);
AbhiBjee 0:81cd42bce3cb 13 DigitalOut StepPin(D5);
AbhiBjee 0:81cd42bce3cb 14 int cnt = 0, Pulse;
AbhiBjee 0:81cd42bce3cb 15
AbhiBjee 0:81cd42bce3cb 16 Serial esp(PTC17, PTC16); // tx, rx
AbhiBjee 0:81cd42bce3cb 17 DigitalOut reset(PTE24);
AbhiBjee 0:81cd42bce3cb 18 Timer t;
AbhiBjee 0:81cd42bce3cb 19
AbhiBjee 0:81cd42bce3cb 20 int count,ended,timeout;
AbhiBjee 0:81cd42bce3cb 21 char buf[1024];
AbhiBjee 0:81cd42bce3cb 22 char snd[1024];
AbhiBjee 0:81cd42bce3cb 23
AbhiBjee 0:81cd42bce3cb 24 char ssid[32] = "AbhiMotoXPlay"; //"BHNTG1682G25E3"."AbhiMotoXPlay" // enter WiFi router ssid inside the quotes
AbhiBjee 0:81cd42bce3cb 25 char pwd [32] = "c904anbh"; // "03333295"."c904anbh" //enter WiFi router password inside the quotes
AbhiBjee 0:81cd42bce3cb 26
AbhiBjee 0:81cd42bce3cb 27 //void SendCMD(),getreply(),ESPconfig(),ESPsetbaudrate();
AbhiBjee 0:81cd42bce3cb 28 void SendCMD(),getreply(),ESPconfig(),ESPsetbaudrate(), TCP_IPSend();
AbhiBjee 0:81cd42bce3cb 29 //void send(void);
AbhiBjee 0:81cd42bce3cb 30
AbhiBjee 0:81cd42bce3cb 31
AbhiBjee 0:81cd42bce3cb 32 void Servo_Forward_degree(float level);
AbhiBjee 0:81cd42bce3cb 33 void Servo_Backward_degree(float level);
AbhiBjee 0:81cd42bce3cb 34
AbhiBjee 0:81cd42bce3cb 35 AnalogIn Port_X(PTB2);// X read of ADXL335 A0
AbhiBjee 0:81cd42bce3cb 36 AnalogIn Port_Y(PTB3);// Y read of ADXL335 A1
AbhiBjee 0:81cd42bce3cb 37 AnalogIn Port_Z(PTB10);//Z read of ASXL335 A2
AbhiBjee 0:81cd42bce3cb 38 float Scale(float inVal, float inMin, float inMax, float outMin, float outMax);
AbhiBjee 0:81cd42bce3cb 39 int StepperMove();
AbhiBjee 0:81cd42bce3cb 40 int Ldist;
AbhiBjee 0:81cd42bce3cb 41 float Port_Xval,Port_Yval,Port_Zval,X_sqr,Y_sqr,Z_sqr,Psi,Theta,Phi,Xacc,Yacc,Zacc,Val,Zsq,Ysq,Xsq,PsiAng,ThetaAng,PhiAng;
AbhiBjee 0:81cd42bce3cb 42 LidarLitev2 Lidar(PTC11, PTC10);
AbhiBjee 0:81cd42bce3cb 43 Serial pc(USBTX,USBRX);
AbhiBjee 0:81cd42bce3cb 44 //float inMin = 0.40,inMax =0.60 ,outMin = -1000,outMax = 1000;
AbhiBjee 0:81cd42bce3cb 45
AbhiBjee 0:81cd42bce3cb 46
AbhiBjee 0:81cd42bce3cb 47 int main(){
AbhiBjee 0:81cd42bce3cb 48 Lidar.configure();
AbhiBjee 0:81cd42bce3cb 49 ENApwm.period_us(period);
AbhiBjee 0:81cd42bce3cb 50 while(1){
AbhiBjee 0:81cd42bce3cb 51 Ldist = Lidar.distance();
AbhiBjee 0:81cd42bce3cb 52 Port_Xval = Port_X.read();
AbhiBjee 0:81cd42bce3cb 53 Xacc = Scale(Port_Xval,0.40,0.60,-1000,1000);
AbhiBjee 0:81cd42bce3cb 54 //X_sqr = Port_Xval*Port_Xval;
AbhiBjee 0:81cd42bce3cb 55 Port_Yval = Port_Y.read();
AbhiBjee 0:81cd42bce3cb 56 Yacc = Scale(Port_Yval,0.40,0.60,-1000,1000);
AbhiBjee 0:81cd42bce3cb 57 //Y_sqr = Port_Yval * Port_Yval;
AbhiBjee 0:81cd42bce3cb 58 Port_Zval = Port_Z.read();
AbhiBjee 0:81cd42bce3cb 59 Zacc = Scale(Port_Zval,0.40,0.60,-1000,1000);
AbhiBjee 0:81cd42bce3cb 60 Xsq = Xacc*Xacc;
AbhiBjee 0:81cd42bce3cb 61 Ysq = Yacc*Yacc;
AbhiBjee 0:81cd42bce3cb 62 Zsq = Zacc*Zacc;
AbhiBjee 0:81cd42bce3cb 63 //Z_sqr = Port_Zval*Port_Zval;
AbhiBjee 0:81cd42bce3cb 64 Theta = atan2(Yacc,(sqrt(Xsq+Zsq))) ;
AbhiBjee 0:81cd42bce3cb 65 ThetaAng = (Theta*180.0*7.0)/22.0;
AbhiBjee 0:81cd42bce3cb 66 Psi = atan2(Xacc,(sqrt(Ysq+Zsq)));
AbhiBjee 0:81cd42bce3cb 67 PsiAng = (Psi*180.0*7.0)/22.0;
AbhiBjee 0:81cd42bce3cb 68 Phi = atan2((sqrt(Xsq+Ysq)),Zacc);
AbhiBjee 0:81cd42bce3cb 69 Phi = Scale(Phi,0.0,3.1416,1.57,-1.57);
AbhiBjee 0:81cd42bce3cb 70 PhiAng = (Phi*180.0*7.0)/22.0;
AbhiBjee 0:81cd42bce3cb 71 //PhiAng = Scale(PhiAng,0.0,180.0,-90.0,90.0);
AbhiBjee 0:81cd42bce3cb 72 //printf(" %d %f %f %f\n\r", Ldist,Port_Xval,Port_Yval,Port_Zval);
AbhiBjee 0:81cd42bce3cb 73 //printf(" %f %f %f\n\r", Port_Xval,Port_Yval,Port_Zval);
AbhiBjee 0:81cd42bce3cb 74 //printf(" %f %f %f\n\r", Xacc,Yacc,Zacc);
AbhiBjee 0:81cd42bce3cb 75 pc.printf(" %d %f %f %f %f %f %f\n\r",Ldist,Psi,Theta,Phi,PsiAng,ThetaAng,PhiAng);
AbhiBjee 0:81cd42bce3cb 76 //dt.reset();
AbhiBjee 0:81cd42bce3cb 77 //Servo_Forward_degree(clklevel);
AbhiBjee 0:81cd42bce3cb 78 if ((PhiAng>=-1.0)&&(PhiAng<=1.0)){
AbhiBjee 0:81cd42bce3cb 79 pc.printf("Calibration done");
AbhiBjee 0:81cd42bce3cb 80 break;
AbhiBjee 0:81cd42bce3cb 81 }
AbhiBjee 0:81cd42bce3cb 82 else{
AbhiBjee 0:81cd42bce3cb 83 Servo_Forward_degree(clklevel);
AbhiBjee 0:81cd42bce3cb 84 pc.printf("Calibrating");
AbhiBjee 0:81cd42bce3cb 85 wait(0.5);
AbhiBjee 0:81cd42bce3cb 86 continue;
AbhiBjee 0:81cd42bce3cb 87 }
AbhiBjee 0:81cd42bce3cb 88 }
AbhiBjee 0:81cd42bce3cb 89 reset=0; //hardware reset for 8266
AbhiBjee 0:81cd42bce3cb 90 pc.baud(9600); // set what you want here depending on your terminal program speed
AbhiBjee 0:81cd42bce3cb 91 pc.printf("\f\n\r-------------ESP8266 Hardware Reset-------------\n\r");
AbhiBjee 0:81cd42bce3cb 92 wait(0.5);
AbhiBjee 0:81cd42bce3cb 93 reset=1;
AbhiBjee 0:81cd42bce3cb 94 timeout=2;
AbhiBjee 0:81cd42bce3cb 95 getreply();
AbhiBjee 0:81cd42bce3cb 96
AbhiBjee 0:81cd42bce3cb 97 esp.baud(115200);
AbhiBjee 0:81cd42bce3cb 98 cnt=0;
AbhiBjee 0:81cd42bce3cb 99 ESPconfig();
AbhiBjee 0:81cd42bce3cb 100 pc.printf("Start Stepper Motor\r\n");
AbhiBjee 0:81cd42bce3cb 101 wait(6);
AbhiBjee 0:81cd42bce3cb 102
AbhiBjee 0:81cd42bce3cb 103 while (1){
AbhiBjee 0:81cd42bce3cb 104 Ldist = Lidar.distance();
AbhiBjee 0:81cd42bce3cb 105 Port_Xval = Port_X.read();
AbhiBjee 0:81cd42bce3cb 106 Xacc = Scale(Port_Xval,0.40,0.60,-1000,1000);
AbhiBjee 0:81cd42bce3cb 107 //X_sqr = Port_Xval*Port_Xval;
AbhiBjee 0:81cd42bce3cb 108 Port_Yval = Port_Y.read();
AbhiBjee 0:81cd42bce3cb 109 Yacc = Scale(Port_Yval,0.40,0.60,-1000,1000);
AbhiBjee 0:81cd42bce3cb 110 //Y_sqr = Port_Yval * Port_Yval;
AbhiBjee 0:81cd42bce3cb 111 Port_Zval = Port_Z.read();
AbhiBjee 0:81cd42bce3cb 112 Zacc = Scale(Port_Zval,0.40,0.60,-1000,1000);
AbhiBjee 0:81cd42bce3cb 113 Xsq = Xacc*Xacc;
AbhiBjee 0:81cd42bce3cb 114 Ysq = Yacc*Yacc;
AbhiBjee 0:81cd42bce3cb 115 Zsq = Zacc*Zacc;
AbhiBjee 0:81cd42bce3cb 116 //Z_sqr = Port_Zval*Port_Zval;
AbhiBjee 0:81cd42bce3cb 117 Theta = atan2(Yacc,(sqrt(Xsq+Zsq))) ;
AbhiBjee 0:81cd42bce3cb 118 ThetaAng = (Theta*180.0*7.0)/22.0;
AbhiBjee 0:81cd42bce3cb 119 Psi = atan2(Xacc,(sqrt(Ysq+Zsq)));
AbhiBjee 0:81cd42bce3cb 120 PsiAng = (Psi*180.0*7.0)/22.0;
AbhiBjee 0:81cd42bce3cb 121 Phi = atan2((sqrt(Xsq+Ysq)),Zacc);
AbhiBjee 0:81cd42bce3cb 122 Phi = Scale(Phi,0.0,3.1416,1.57,-1.57);
AbhiBjee 0:81cd42bce3cb 123 PhiAng = (Phi*180.0*7.0)/22.0;
AbhiBjee 0:81cd42bce3cb 124 //PhiAng = Scale(PhiAng,0.0,180.0,-90.0,90.0);
AbhiBjee 0:81cd42bce3cb 125 //printf(" %d %f %f %f\n\r", Ldist,Port_Xval,Port_Yval,Port_Zval);
AbhiBjee 0:81cd42bce3cb 126 //printf(" %f %f %f\n\r", Port_Xval,Port_Yval,Port_Zval);
AbhiBjee 0:81cd42bce3cb 127 //printf(" %f %f %f\n\r", Xacc,Yacc,Zacc);
AbhiBjee 0:81cd42bce3cb 128 pc.printf(" LidarVal= %d Psi= %f Theta= %f Phi= %f Psi(Deg)= %f Theta(Deg)= %f Phi(Deg)= %f\n\r",Ldist,Psi,Theta,Phi,PsiAng,ThetaAng,PhiAng);
AbhiBjee 0:81cd42bce3cb 129 cnt = cnt+1;
AbhiBjee 0:81cd42bce3cb 130 //printf("%d\r\n"cnt);
AbhiBjee 0:81cd42bce3cb 131 if (cnt%3 == 0){
AbhiBjee 0:81cd42bce3cb 132 Servo_Forward_degree(clklevel);
AbhiBjee 0:81cd42bce3cb 133 pc.printf("Servo Moved");
AbhiBjee 0:81cd42bce3cb 134 }
AbhiBjee 0:81cd42bce3cb 135 else if (cnt%10 == 0){
AbhiBjee 0:81cd42bce3cb 136 TCP_IPSend();
AbhiBjee 0:81cd42bce3cb 137 }
AbhiBjee 0:81cd42bce3cb 138
AbhiBjee 0:81cd42bce3cb 139 else{
AbhiBjee 0:81cd42bce3cb 140 continue;
AbhiBjee 0:81cd42bce3cb 141 }
AbhiBjee 0:81cd42bce3cb 142
AbhiBjee 0:81cd42bce3cb 143
AbhiBjee 0:81cd42bce3cb 144 }
AbhiBjee 0:81cd42bce3cb 145
AbhiBjee 0:81cd42bce3cb 146
AbhiBjee 0:81cd42bce3cb 147
AbhiBjee 0:81cd42bce3cb 148
AbhiBjee 0:81cd42bce3cb 149
AbhiBjee 0:81cd42bce3cb 150
AbhiBjee 0:81cd42bce3cb 151
AbhiBjee 0:81cd42bce3cb 152 }
AbhiBjee 0:81cd42bce3cb 153
AbhiBjee 0:81cd42bce3cb 154
AbhiBjee 0:81cd42bce3cb 155 float Scale(float inVal, float inMin, float inMax, float outMin, float outMax)
AbhiBjee 0:81cd42bce3cb 156 {
AbhiBjee 0:81cd42bce3cb 157 float ScaleValue = ((inVal - inMin)*(outMax - outMin)/(inMax - inMin) + outMin );
AbhiBjee 0:81cd42bce3cb 158 return ScaleValue;
AbhiBjee 0:81cd42bce3cb 159 }
AbhiBjee 0:81cd42bce3cb 160
AbhiBjee 0:81cd42bce3cb 161 void Servo_Forward_degree(float level){
AbhiBjee 0:81cd42bce3cb 162 while(1){
AbhiBjee 0:81cd42bce3cb 163 ENApwm.write(level);
AbhiBjee 0:81cd42bce3cb 164 wait(0.001);
AbhiBjee 0:81cd42bce3cb 165 pc.printf("%f \r",level);
AbhiBjee 0:81cd42bce3cb 166 if ((level >= 1.0)||(level<=0.0))
AbhiBjee 0:81cd42bce3cb 167 {
AbhiBjee 0:81cd42bce3cb 168 //ENApwm.write(1.0);
AbhiBjee 0:81cd42bce3cb 169 break;
AbhiBjee 0:81cd42bce3cb 170
AbhiBjee 0:81cd42bce3cb 171 }
AbhiBjee 0:81cd42bce3cb 172 level = level+0.1;
AbhiBjee 0:81cd42bce3cb 173 }
AbhiBjee 0:81cd42bce3cb 174
AbhiBjee 0:81cd42bce3cb 175
AbhiBjee 0:81cd42bce3cb 176
AbhiBjee 0:81cd42bce3cb 177 }
AbhiBjee 0:81cd42bce3cb 178
AbhiBjee 0:81cd42bce3cb 179 void Servo_Backward_degree(float level){
AbhiBjee 0:81cd42bce3cb 180 while(1){
AbhiBjee 0:81cd42bce3cb 181 /*ENApwm.write(level);
AbhiBjee 0:81cd42bce3cb 182 wait(0.001);
AbhiBjee 0:81cd42bce3cb 183 pc.printf("%f \r\n",level);
AbhiBjee 0:81cd42bce3cb 184 if ((level >= 1.0)||(level<=0.0))
AbhiBjee 0:81cd42bce3cb 185 {
AbhiBjee 0:81cd42bce3cb 186 //ENApwm.write(1.0);
AbhiBjee 0:81cd42bce3cb 187 break;
AbhiBjee 0:81cd42bce3cb 188
AbhiBjee 0:81cd42bce3cb 189 }
AbhiBjee 0:81cd42bce3cb 190 level = level-0.05;*/
AbhiBjee 0:81cd42bce3cb 191 ENApwm.pulsewidth_us(90);
AbhiBjee 0:81cd42bce3cb 192 wait(0.001);
AbhiBjee 0:81cd42bce3cb 193 ENApwm.pulsewidth_us(0);
AbhiBjee 0:81cd42bce3cb 194 break;
AbhiBjee 0:81cd42bce3cb 195
AbhiBjee 0:81cd42bce3cb 196
AbhiBjee 0:81cd42bce3cb 197 }
AbhiBjee 0:81cd42bce3cb 198
AbhiBjee 0:81cd42bce3cb 199 }
AbhiBjee 0:81cd42bce3cb 200
AbhiBjee 0:81cd42bce3cb 201 int StepperMove(){
AbhiBjee 0:81cd42bce3cb 202 for(int x = 0; x < 50; x++) {
AbhiBjee 0:81cd42bce3cb 203 StepPin=0;
AbhiBjee 0:81cd42bce3cb 204 wait(0.05);
AbhiBjee 0:81cd42bce3cb 205 StepPin=1;
AbhiBjee 0:81cd42bce3cb 206 wait(0.05);
AbhiBjee 0:81cd42bce3cb 207 cnt = cnt+1;
AbhiBjee 0:81cd42bce3cb 208 printf("%d\r\n",cnt);
AbhiBjee 0:81cd42bce3cb 209 return cnt;
AbhiBjee 0:81cd42bce3cb 210
AbhiBjee 0:81cd42bce3cb 211 }
AbhiBjee 0:81cd42bce3cb 212 }
AbhiBjee 0:81cd42bce3cb 213
AbhiBjee 0:81cd42bce3cb 214 void ESPsetbaudrate()
AbhiBjee 0:81cd42bce3cb 215 {
AbhiBjee 0:81cd42bce3cb 216 strcpy(snd, "AT+CIOBAUD=115200\r\n"); // change the numeric value to the required baudrate
AbhiBjee 0:81cd42bce3cb 217 SendCMD();
AbhiBjee 0:81cd42bce3cb 218 }
AbhiBjee 0:81cd42bce3cb 219
AbhiBjee 0:81cd42bce3cb 220 // +++++++++++++++++++++++++++++++++ This is for ESP8266 config only, run this once to set up the ESP8266 +++++++++++++++
AbhiBjee 0:81cd42bce3cb 221 void ESPconfig()
AbhiBjee 0:81cd42bce3cb 222 {
AbhiBjee 0:81cd42bce3cb 223 wait(5);
AbhiBjee 0:81cd42bce3cb 224 strcpy(snd,"AT\r\n");
AbhiBjee 0:81cd42bce3cb 225 SendCMD();
AbhiBjee 0:81cd42bce3cb 226 wait(1);
AbhiBjee 0:81cd42bce3cb 227 strcpy(snd,"AT\r\n");
AbhiBjee 0:81cd42bce3cb 228 SendCMD();
AbhiBjee 0:81cd42bce3cb 229 wait(1);
AbhiBjee 0:81cd42bce3cb 230 strcpy(snd,"AT\r\n");
AbhiBjee 0:81cd42bce3cb 231 SendCMD();
AbhiBjee 0:81cd42bce3cb 232 timeout=1;
AbhiBjee 0:81cd42bce3cb 233 getreply();
AbhiBjee 0:81cd42bce3cb 234 wait(1);
AbhiBjee 0:81cd42bce3cb 235 pc.printf("\f---------- Starting ESP Config ----------\r\n\n");
AbhiBjee 0:81cd42bce3cb 236
AbhiBjee 0:81cd42bce3cb 237 pc.printf("---------- Reset & get Firmware ----------\r\n");
AbhiBjee 0:81cd42bce3cb 238 strcpy(snd,"AT+RST\r\n");
AbhiBjee 0:81cd42bce3cb 239 SendCMD();
AbhiBjee 0:81cd42bce3cb 240 timeout=5;
AbhiBjee 0:81cd42bce3cb 241 getreply();
AbhiBjee 0:81cd42bce3cb 242 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 243
AbhiBjee 0:81cd42bce3cb 244 wait(2);
AbhiBjee 0:81cd42bce3cb 245
AbhiBjee 0:81cd42bce3cb 246 pc.printf("\n---------- Get Version ----------\r\n");
AbhiBjee 0:81cd42bce3cb 247 strcpy(snd,"AT+GMR\r\n");
AbhiBjee 0:81cd42bce3cb 248 SendCMD();
AbhiBjee 0:81cd42bce3cb 249 timeout=4;
AbhiBjee 0:81cd42bce3cb 250 getreply();
AbhiBjee 0:81cd42bce3cb 251 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 252
AbhiBjee 0:81cd42bce3cb 253 wait(3);
AbhiBjee 0:81cd42bce3cb 254
AbhiBjee 0:81cd42bce3cb 255 // set CWMODE to 1=Station,2=AP,3=BOTH, default mode 1 (Station)
AbhiBjee 0:81cd42bce3cb 256 pc.printf("\n---------- Setting Mode ----------\r\n");
AbhiBjee 0:81cd42bce3cb 257 strcpy(snd, "AT+CWMODE=1\r\n");
AbhiBjee 0:81cd42bce3cb 258 SendCMD();
AbhiBjee 0:81cd42bce3cb 259 timeout=4;
AbhiBjee 0:81cd42bce3cb 260 getreply();
AbhiBjee 0:81cd42bce3cb 261 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 262
AbhiBjee 0:81cd42bce3cb 263 wait(2);
AbhiBjee 0:81cd42bce3cb 264
AbhiBjee 0:81cd42bce3cb 265 // set CIPMUX to 0=Single,1=Multi
AbhiBjee 0:81cd42bce3cb 266 pc.printf("\n---------- Setting Connection Mode ----------\r\n");
AbhiBjee 0:81cd42bce3cb 267 strcpy(snd, "AT+CIPMUX=1\r\n");
AbhiBjee 0:81cd42bce3cb 268 SendCMD();
AbhiBjee 0:81cd42bce3cb 269 timeout=4;
AbhiBjee 0:81cd42bce3cb 270 getreply();
AbhiBjee 0:81cd42bce3cb 271 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 272
AbhiBjee 0:81cd42bce3cb 273 wait(2);
AbhiBjee 0:81cd42bce3cb 274
AbhiBjee 0:81cd42bce3cb 275 /*pc.printf("\n---------- Listing Access Points ----------\r\n");
AbhiBjee 0:81cd42bce3cb 276 strcpy(snd, "AT+CWLAP\r\n");
AbhiBjee 0:81cd42bce3cb 277 SendCMD();
AbhiBjee 0:81cd42bce3cb 278 timeout=15;
AbhiBjee 0:81cd42bce3cb 279 getreply();
AbhiBjee 0:81cd42bce3cb 280 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 281
AbhiBjee 0:81cd42bce3cb 282 wait(2);*/
AbhiBjee 0:81cd42bce3cb 283
AbhiBjee 0:81cd42bce3cb 284 pc.printf("\n---------- Connecting to AP ----------\r\n");
AbhiBjee 0:81cd42bce3cb 285 pc.printf("ssid = %s pwd = %s\r\n",ssid,pwd);
AbhiBjee 0:81cd42bce3cb 286 strcpy(snd, "AT+CWJAP=\"");
AbhiBjee 0:81cd42bce3cb 287 strcat(snd, ssid);
AbhiBjee 0:81cd42bce3cb 288 strcat(snd, "\",\"");/* Here (\") denotes inverted commas in strings */
AbhiBjee 0:81cd42bce3cb 289 strcat(snd, pwd);
AbhiBjee 0:81cd42bce3cb 290 strcat(snd, "\"\r\n");
AbhiBjee 0:81cd42bce3cb 291 pc.printf(snd);
AbhiBjee 0:81cd42bce3cb 292 SendCMD();
AbhiBjee 0:81cd42bce3cb 293 timeout=10;
AbhiBjee 0:81cd42bce3cb 294 getreply();
AbhiBjee 0:81cd42bce3cb 295 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 296
AbhiBjee 0:81cd42bce3cb 297 wait(5);
AbhiBjee 0:81cd42bce3cb 298
AbhiBjee 0:81cd42bce3cb 299 pc.printf("\n---------- Get IP's ----------\r\n");
AbhiBjee 0:81cd42bce3cb 300 strcpy(snd, "AT+CIFSR\r\n");
AbhiBjee 0:81cd42bce3cb 301 SendCMD();
AbhiBjee 0:81cd42bce3cb 302 timeout=3;
AbhiBjee 0:81cd42bce3cb 303 getreply();
AbhiBjee 0:81cd42bce3cb 304 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 305 //const char* ipData = string(buf);
AbhiBjee 0:81cd42bce3cb 306 //const char* msg="Hello World!";
AbhiBjee 0:81cd42bce3cb 307 //pc.printf(ipData);
AbhiBjee 0:81cd42bce3cb 308
AbhiBjee 0:81cd42bce3cb 309 wait(1);
AbhiBjee 0:81cd42bce3cb 310
AbhiBjee 0:81cd42bce3cb 311 pc.printf("\n---------- Get Connection Status ----------\r\n");
AbhiBjee 0:81cd42bce3cb 312 strcpy(snd, "AT+CIPSTATUS\r\n");
AbhiBjee 0:81cd42bce3cb 313 SendCMD();
AbhiBjee 0:81cd42bce3cb 314 timeout=5;
AbhiBjee 0:81cd42bce3cb 315 getreply();
AbhiBjee 0:81cd42bce3cb 316 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 317
AbhiBjee 0:81cd42bce3cb 318 pc.printf("\n\n\n If you get a valid (non zero) IP, ESP8266 has been set up.\r\n");
AbhiBjee 0:81cd42bce3cb 319 pc.printf(" Run this if you want to reconfig the ESP8266 at any time.\r\n");
AbhiBjee 0:81cd42bce3cb 320 pc.printf(" It saves the SSID and password settings internally\r\n");
AbhiBjee 0:81cd42bce3cb 321 wait(10);
AbhiBjee 0:81cd42bce3cb 322
AbhiBjee 0:81cd42bce3cb 323 /*pc.printf("\n---------- Start TCP_IP Connection with WAMP ----------\r\n");
AbhiBjee 0:81cd42bce3cb 324 //strcpy(snd, "AT+CIFSR\r\n");
AbhiBjee 0:81cd42bce3cb 325 strcpy(snd, "AT+CIPSTART=4,\"TCP\",\"149.165.231.70\",8660\r\n");
AbhiBjee 0:81cd42bce3cb 326 //strcpy(snd, "AT+CIPSTART=4,\"TCP\",\"192.168.43.237\",8383\r\n");
AbhiBjee 0:81cd42bce3cb 327 SendCMD();
AbhiBjee 0:81cd42bce3cb 328 timeout=5;
AbhiBjee 0:81cd42bce3cb 329 getreply();
AbhiBjee 0:81cd42bce3cb 330 pc.printf(buf);*/
AbhiBjee 0:81cd42bce3cb 331
AbhiBjee 0:81cd42bce3cb 332 }
AbhiBjee 0:81cd42bce3cb 333
AbhiBjee 0:81cd42bce3cb 334 void TCP_IPSend(){
AbhiBjee 0:81cd42bce3cb 335
AbhiBjee 0:81cd42bce3cb 336 pc.printf("\n---------- Start TCP_IP Connection with WAMP ----------\r\n");
AbhiBjee 0:81cd42bce3cb 337 //strcpy(snd, "AT+CIFSR\r\n");
AbhiBjee 0:81cd42bce3cb 338 strcpy(snd, "AT+CIPSTART=4,\"TCP\",\"149.165.231.70\",8660\r\n");
AbhiBjee 0:81cd42bce3cb 339 //strcpy(snd, "AT+CIPSTART=4,\"TCP\",\"192.168.43.237\",8383\r\n");
AbhiBjee 0:81cd42bce3cb 340 SendCMD();
AbhiBjee 0:81cd42bce3cb 341 timeout=5;
AbhiBjee 0:81cd42bce3cb 342 getreply();
AbhiBjee 0:81cd42bce3cb 343 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 344
AbhiBjee 0:81cd42bce3cb 345 //wait();
AbhiBjee 0:81cd42bce3cb 346
AbhiBjee 0:81cd42bce3cb 347
AbhiBjee 0:81cd42bce3cb 348
AbhiBjee 0:81cd42bce3cb 349 pc.printf("\n---------- Set TCP Data frame ----------\r\n");
AbhiBjee 0:81cd42bce3cb 350 strcpy(snd, "AT+CIPSEND=4,90\r\n");
AbhiBjee 0:81cd42bce3cb 351 //strcpy(snd, "AT+CIPSTART=4,\"TCP\",\"184.106.153.149\",80\r\n")
AbhiBjee 0:81cd42bce3cb 352 SendCMD();
AbhiBjee 0:81cd42bce3cb 353 timeout=1;
AbhiBjee 0:81cd42bce3cb 354 getreply();
AbhiBjee 0:81cd42bce3cb 355 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 356
AbhiBjee 0:81cd42bce3cb 357 //wait(0.5);
AbhiBjee 0:81cd42bce3cb 358
AbhiBjee 0:81cd42bce3cb 359 pc.printf("\n---------- Send Data frame ----------\r\n");
AbhiBjee 0:81cd42bce3cb 360 //strcpy(snd, "//AT+CIPSEND=4,44\r\n"); 0.000000 39.026474 9.756618 36.102848
AbhiBjee 0:81cd42bce3cb 361 // "GET /adxldatastore.php?Xvalue=234&Yvalue=237&Zvalue=359 HTTP/1.1Host: 127.0.0.1Connection: close\r\n"
AbhiBjee 0:81cd42bce3cb 362 pc.printf("GET /MEuser/LidarDataStore.php?Xvalue=237&Yvalue=437&Zvalue=759&LidarValue=986\r\n");
AbhiBjee 0:81cd42bce3cb 363 sprintf(snd, "GET /MEuser/LidarDataStore.php?Xvalue=%0.2f&Yvalue=%0.2f&Zvalue=%0.2f&LidarValue=%d\r\n",PsiAng,ThetaAng,PhiAng,Ldist);
AbhiBjee 0:81cd42bce3cb 364 //sprintf(snd, "GET /update?key=6NNODQ1FN0J81A05&field1=%0.2f&field2=%0.2f&field3=%0.2f&field4=%0.2f\r\n", AvgCurrentVal,AvgPressureVal,AvgTempVal,AvgCO2Val);
AbhiBjee 0:81cd42bce3cb 365 /*strcpy(snd, "GET /update?key=6NNODQ1FN0J81A05&field1=");
AbhiBjee 0:81cd42bce3cb 366 Strng1=sprintf (num, "%0.1f", AvgCurrentVal);
AbhiBjee 0:81cd42bce3cb 367 strcat(snd, Strng);
AbhiBjee 0:81cd42bce3cb 368 strcat(snd, "&field2=");
AbhiBjee 0:81cd42bce3cb 369 Strng2=sprintf (num, "%0.1f", AvgPressureVal);
AbhiBjee 0:81cd42bce3cb 370 strcat(snd, Strng2);
AbhiBjee 0:81cd42bce3cb 371 strcat(snd, "&field3=");
AbhiBjee 0:81cd42bce3cb 372 Strng3=sprintf (num, "%0.1f", AvgTempVal);
AbhiBjee 0:81cd42bce3cb 373 strcat(snd, Strng3);
AbhiBjee 0:81cd42bce3cb 374 strcat(snd, "&field4=");
AbhiBjee 0:81cd42bce3cb 375 Strng4=sprintf (num, "%0.1f", AvgCO2Val);
AbhiBjee 0:81cd42bce3cb 376 strcat(snd, Strng4);
AbhiBjee 0:81cd42bce3cb 377 strcat(snd, "\r\n");*/
AbhiBjee 0:81cd42bce3cb 378
AbhiBjee 0:81cd42bce3cb 379 SendCMD();
AbhiBjee 0:81cd42bce3cb 380 timeout=1;
AbhiBjee 0:81cd42bce3cb 381 getreply();
AbhiBjee 0:81cd42bce3cb 382 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 383
AbhiBjee 0:81cd42bce3cb 384 //wait(1);
AbhiBjee 0:81cd42bce3cb 385
AbhiBjee 0:81cd42bce3cb 386 pc.printf("\n---------- Close TCP/IP Connection ----------\r\n");
AbhiBjee 0:81cd42bce3cb 387 strcpy(snd, "AT+CIPCLOSE\r\n");
AbhiBjee 0:81cd42bce3cb 388 //strcpy(snd, "GET /update?key=2IKJ99A6BPSCORQC&field1=70\r\n")
AbhiBjee 0:81cd42bce3cb 389 SendCMD();
AbhiBjee 0:81cd42bce3cb 390 timeout=1;
AbhiBjee 0:81cd42bce3cb 391 getreply();
AbhiBjee 0:81cd42bce3cb 392 pc.printf(buf);
AbhiBjee 0:81cd42bce3cb 393
AbhiBjee 0:81cd42bce3cb 394 //wait(2);
AbhiBjee 0:81cd42bce3cb 395
AbhiBjee 0:81cd42bce3cb 396
AbhiBjee 0:81cd42bce3cb 397
AbhiBjee 0:81cd42bce3cb 398
AbhiBjee 0:81cd42bce3cb 399 }
AbhiBjee 0:81cd42bce3cb 400
AbhiBjee 0:81cd42bce3cb 401 void SendCMD()
AbhiBjee 0:81cd42bce3cb 402 {
AbhiBjee 0:81cd42bce3cb 403 esp.printf("%s", snd);
AbhiBjee 0:81cd42bce3cb 404 }
AbhiBjee 0:81cd42bce3cb 405
AbhiBjee 0:81cd42bce3cb 406 void getreply()
AbhiBjee 0:81cd42bce3cb 407 {
AbhiBjee 0:81cd42bce3cb 408 memset(buf, '\0', sizeof(buf));
AbhiBjee 0:81cd42bce3cb 409 t.start();
AbhiBjee 0:81cd42bce3cb 410 ended=0;
AbhiBjee 0:81cd42bce3cb 411 count=0;
AbhiBjee 0:81cd42bce3cb 412 while(!ended) {
AbhiBjee 0:81cd42bce3cb 413 if(esp.readable()) {
AbhiBjee 0:81cd42bce3cb 414 buf[count] = esp.getc();
AbhiBjee 0:81cd42bce3cb 415 count++;
AbhiBjee 0:81cd42bce3cb 416 }
AbhiBjee 0:81cd42bce3cb 417 if(t.read() > timeout) {
AbhiBjee 0:81cd42bce3cb 418 ended = 1;
AbhiBjee 0:81cd42bce3cb 419 t.stop();
AbhiBjee 0:81cd42bce3cb 420 t.reset();
AbhiBjee 0:81cd42bce3cb 421 }
AbhiBjee 0:81cd42bce3cb 422 }
AbhiBjee 0:81cd42bce3cb 423 }
AbhiBjee 0:81cd42bce3cb 424