I have connected esp8266ESP8266 to my Raspberry pi's wifiPi's WiFi network and assigned ana static IP.
My arduinoArduino code
#include "SoftwareSerial.h"
String ssid ="Rpi";
String password="raspberry";
SoftwareSerial esp(3, 2);// RX, TX
String server = "192.168.50.1"; //my Host
void setup() {
esp.begin(115200);
Serial.begin(115200);
connectWifi();
httpget();
delay(1000);
}
void connectWifi() {
String cmd = "AT+CWJAP=\"" +ssid+"\",\"" + password + "\"";
esp.println(cmd);
delay(4000);
if(esp.find("OK")) {
Serial.println("Connected!");
}
else {
Serial.println("Cannot connect to wifi ! Connecting again..."); }
connectWifi();
}
/////////////////////////////GET METHOD///////////////////////////////
void httpget() {
esp.println("AT+CIPSTART=\"TCP\",\"" + server + "\",1234");//start a TCP connection.
if( esp.find("OK")) {
Serial.println("TCP connection ready");
} delay(1000);
/*
String getRequest =
"GET " + uri + " HTTP/1.0\r\n" +
"Host: " + server + "\r\n" +
"Accept: *" + "/" + "*\r\n" +
"Content-Type: application/json\r\n" +
"\r\n";
*/
String sendCmd = "AT+CIPSEND=";
esp.print(sendCmd);
//esp.println(getRequest.length() );
delay(500);
if(esp.find(">")) {
Serial.println("Sending..");
// esp.print(getRequest);
if( esp.find("SEND OK")) {
Serial.println("Packet sent");
while (esp.available()) {
String response = esp.readString();
}
esp.println("AT+CIPCLOSE");
}
}
}
void loop() {
httpget();
}
#include "SoftwareSerial.h"
String ssid = "Rpi";
String password = "raspberry";
SoftwareSerial esp(3, 2);// RX, TX
String server = "192.168.50.1"; //my Host
void setup() {
esp.begin(115200);
Serial.begin(115200);
connectWifi();
httpget();
delay(1000);
}
void connectWifi() {
String cmd = "AT+CWJAP=\"" + ssid + "\",\"" + password + "\"";
esp.println(cmd);
delay(4000);
if (esp.find("OK")) {
Serial.println("Connected!");
}
else {
Serial.println("Cannot connect to wifi ! Connecting again...");
}
connectWifi();
}
/////////////////////////////GET METHOD///////////////////////////////
void httpget() {
esp.println("AT+CIPSTART=\"TCP\",\"" + server + "\",1234");//start a TCP connection.
if ( esp.find("OK")) {
Serial.println("TCP connection ready");
}
delay(1000);
/*
String getRequest =
"GET " + uri + " HTTP/1.0\r\n" +
"Host: " + server + "\r\n" +
"Accept: *" + "/" + "*\r\n" +
"Content-Type: application/json\r\n" +
"\r\n";
*/
String sendCmd = "AT+CIPSEND=";
esp.print(sendCmd);
//esp.println(getRequest.length() );
delay(500);
if (esp.find(">")) {
Serial.println("Sending..");
// esp.print(getRequest);
if ( esp.find("SEND OK")) {
Serial.println("Packet sent");
while (esp.available()) {
String response = esp.readString();
}
esp.println("AT+CIPCLOSE");
}
}
}
void loop() {
httpget();
}
But I can not see it in my serial monitorSerial Monitor. Do I need to create a separate program for getting from wifiWiFi?
Thanks in advance.