This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello
I am trying to send data to browser using wifi module ESP8266 with MSP430G2553 launchpad.
ESP8266 work on 3.3V and MSP430G2553 also. So here i connected ESP8266 directly to the launchpad.
connections are-
Tx of ESP to Rx of Launchpad
Rx of ESP to Tx of Launchpad
VCC to Vcc
Gnd to Gnd
CH_PD to 3.3V
and i got working code for energia from internet. code is as follows
#define SSID "friends" #define PASS "walchand" #define DST_IP "things.ubidots.com" #define idvariable "569fc4ba76254229c49896a6" // replace with your Ubidots Variable ID #define token "aIdUatYb4QqgntExGmdi6xIllonUaY3AxwJjs5UzCCVib9reI1dI2XFEnfeX" // replace with your Ubidots token int len; void setup() { // Open serial communications and wait for port to open: char cmd[254]; Serial.begin(9600); Serial.setTimeout(5000); //test if the module is ready Serial.println("AT+RST"); delay(1000); if (Serial.find("ready")) { Serial.println("Module is ready"); } else { Serial.println("Module have no response."); while (1); } delay (1000); //connect to the wifi boolean connected = false; for (int i = 0; i < 5; i++) { if (connectWiFi()) { connected = true; break; } } if (!connected) { while (1); } delay(5000); Serial.println("AT+CIPMUX=0"); } void loop() { int value = analogRead(A0); //you can change ir to another pin int num=0; String var = "{\"value\":"+ String(value) + "}"; num = var.length(); String cmd = "AT+CIPSTART=\"TCP\",\""; cmd += DST_IP; cmd += "\",80"; Serial.println(cmd); if (Serial.find("Error")) return; len=strlen ("POST /api/v1.6/datasources/"); len=len+strlen (idvariable); len=len+strlen ("/values HTTP/1.1\nContent-Type: application/json\nContent-Length: "); char numlenght[4]; // this will hold the length of num which is the length of the JSON element sprintf(numlenght, "%d", num); // saw this clever code off the net; works yay len=len+strlen (numlenght); len=len + num; //fixed length of the string that will print as Content-Length: in the POST len=len+strlen ("\nX-Auth-Token: "); len=len+strlen (token); len=len+strlen ("\nHost: things.ubidots.com\n\n"); len=len+strlen ("\n\n"); Serial.print("AT+CIPSEND="); Serial.println (len); //lenght of the entire data POST for the CIPSEND command of ESP2866 //Serial.println(cmd.length()); if (Serial.find(">")) { //Serial.print(">"); } else { Serial.println("AT+CIPCLOSE"); delay(1000); return; } Serial.print ("POST /api/v1.6/variables/"); Serial.print (idvariable); Serial.print ("/values HTTP/1.1\nContent-Type: application/json\nContent-Length: "); Serial.print (num); Serial.print ("\nX-Auth-Token: "); Serial.print (token); Serial.print ("\nHost: things.ubidots.com\n\n"); Serial.print (var); Serial.println ("\n\n"); delay(9000); //Serial.find("+IPD"); clear the input buffer after the web site responds to the POST while (Serial.available()) { char c = Serial.read(); } delay(1000); } boolean connectWiFi() { Serial.println("AT+CWMODE=1"); String cmd = "AT+CWJAP=\""; cmd += SSID; cmd += "\",\""; cmd += PASS; cmd += "\""; Serial.println(cmd); delay(2000); if (Serial.find("OK")) { return true; } else { return false; } }
when i trying to connect to wifi then it is not working properly Only red LED is glowing but not Blue.
output giving..
AT+RST
Module have no response.
So what can be the problem??
Is there issue of power supply?? because esp require more current than msp provide. But on internet anywhere i didn't about this issue.
I got code from below link
Hello,
I am thinking to send sensor data from MSP430 launchpad to Laptop using ESP8266 Wi-Fi module. Is it possible to send like buletooth module HC05?. There is no COM port assignment for Wi-Fi module after connecting, so how can i receive the data through UART (e.g.i received bluetooth data using putty software )?. Or is there any way to receive the data on laptop(using browser)?
if anyone using esp8266 with msp430 or arduino then please share it
Thank you..
I would connect the ESP to a set of two AA batteries, or another separate power source. When taking power from USB i never had success with the ESP.
Hello Ryan,
Your correct that code was different for software UART. But for blank sketch it should respond for AT commands. unfortunately it is not responding.
May be you could've got it working by now. My answer may help someone who trying this
ESP8266 AT+RST response is
[System Ready, Vendor:www.ai-thinker.com]
And in this code Serial.find is looking for "ready" instead of "Ready"
Serial.println("AT+RST"); delay(1000); if (Serial.find("ready")) { //dbgSerial.println("Module is ready"); }
if you change that you will get it working ..
Ive attached same code with that modification
#define SSID "Saivigyan" #define PASS "saisathya_jho" #define DST_IP "things.ubidots.com" #define idvariable "571c55b976254270c07fb243" // replace with your Ubidots Variable ID #define token "RPCuNVgi0FDCduSPd09ELdpmoHnjlK" // replace with your Ubidots token int len; void setup() { // Open serial communications and wait for port to open: char cmd[254]; Serial.begin(9600); Serial.setTimeout(5000); //test if the module is ready Serial.println("AT+RST"); delay(1000); if (Serial.find("Ready")) { //dbgSerial.println("Module is ready"); } else { //dbgSerial.println("Module have no response."); while (1); } delay (1000); //connect to the wifi boolean connected = false; for (int i = 0; i < 5; i++) { if (connectWiFi()) { connected = true; break; } } if (!connected) { while (1); } delay(5000); Serial.println("AT+CIPMUX=0"); } void loop() { int value = analogRead(A0); //you can change ir to another pin int num=0; String var = "{\"value\":"+ String(value) + "}"; num = var.length(); String cmd = "AT+CIPSTART=\"TCP\",\""; cmd += DST_IP; cmd += "\",80"; Serial.println(cmd); if (Serial.find("Error")) return; len=strlen ("POST /api/v1.6/datasources/"); len=len+strlen (idvariable); len=len+strlen ("/values HTTP/1.1\nContent-Type: application/json\nContent-Length: "); char numlenght[4]; // this will hold the length of num which is the length of the JSON element sprintf(numlenght, "%d", num); // saw this clever code off the net; works yay len=len+strlen (numlenght); len=len + num; //fixed length of the string that will print as Content-Length: in the POST len=len+strlen ("\nX-Auth-Token: "); len=len+strlen (token); len=len+strlen ("\nHost: things.ubidots.com\n\n"); len=len+strlen ("\n\n"); Serial.print("AT+CIPSEND="); Serial.println (len); //lenght of the entire data POST for the CIPSEND command of ESP2866 //Serial.println(cmd.length()); if (Serial.find(">")) { //Serial.print(">"); } else { Serial.println("AT+CIPCLOSE"); delay(1000); return; } Serial.print ("POST /api/v1.6/variables/"); Serial.print (idvariable); Serial.print ("/values HTTP/1.1\nContent-Type: application/json\nContent-Length: "); Serial.print (num); Serial.print ("\nX-Auth-Token: "); Serial.print (token); Serial.print ("\nHost: things.ubidots.com\n\n"); Serial.print (var); Serial.println ("\n\n"); delay(9000); //Serial.find("+IPD"); clear the input buffer after the web site responds to the POST while (Serial.available()) { char c = Serial.read(); } delay(1000); } boolean connectWiFi() { Serial.println("AT+CWMODE=1"); String cmd = "AT+CWJAP=\""; cmd += SSID; cmd += "\",\""; cmd += PASS; cmd += "\""; Serial.println(cmd); delay(2000); if (Serial.find("OK")) { return true; } else { return false; } }
Hi Ruben,
I have bought an ESP8266 module last week,first;trying to work with Arduino,but i have failed.After that i researched ESP8266 with G2553 project,encountered your code.But it is not working my circuit.
Pinout :
ESP8266: g2553:
Vcc Vcc
Gnd Gnd
CH_PD Vcc
GPIO_0 Vcc
Rx P1.2
Tx P1.1
LDO and external capacity are not exist my circuit.But when i embed your code in g2553,serial communication is provided.But i give this output :
I did not changed Ubidots parameters because i think problem was caused module.I did not update module and it may be changed settings trying arduino code first.
Can you help me about this situations please ? Thanks for supports.
**Attention** This is a public forum