Solarator
Dependencies: ESP8266NodeMCUInterface mbed
Fork of Solarator_0-0-1 by
Revision 1:408512add17c, committed 2015-12-28
- Comitter:
- UzairAkbar
- Date:
- Mon Dec 28 20:36:21 2015 +0000
- Parent:
- 0:ed69e8ef8c7f
- Commit message:
- Solarator
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sun Dec 20 17:30:46 2015 +0000
+++ b/main.cpp Mon Dec 28 20:36:21 2015 +0000
@@ -6,53 +6,81 @@
#include <stdlib.h>
using namespace std;
+DigitalIn mybutton(USER_BUTTON);
DigitalOut myled(LED1);
-ESP8266 ark(PA_9,PA_10,D3,115200);
+ESP8266 wifi(PA_9,PA_10,D3,115200);
Serial pc(SERIAL_TX, SERIAL_RX);
TCPSocketConnection gm;
-AnalogIn vr(A0);
+AnalogIn Current(A0);
+AnalogIn Voltage(A1);
-char* generatePostRequest(float _value)
+
+char* generatePostRequest(float current, float voltage)
{
- char post[] = "GET /update?key=7577C0JKGHRPAQ6Q&field1=";
- char msg[50] = "";
- sprintf(msg,"%f\r\n\r\n",_value*500);
+ char post[] = "GET /update?key=";
+ char ThingSpeak_key[] = "3BCEJZ4D93E63PNN";
+ char current_field[] = "&field1=";
+ char voltage_field[] = "&field2=";
+ char coordinates[] = "";
+ char status[] = "";
+ char msg[75] = "";
+
+ sprintf(msg, "%s%s%s%f%s%f%s%s\r\n\r\n", post, ThingSpeak_key, current_field, current, voltage_field, voltage, coordinates, status);
- char* postRequest = strcat(post,msg);
- return postRequest;
+ return msg;
}
int main()
{
pc.baud(115200);
- int i=0;
+
+ int init_flag=0;
+ float sum_current = 0.0;
+ float sum_voltage = 0.0;
+ float I = 0.0;
+ float V = 0.0;
+
while(1) {
- if(i==0) {
+ if(init_flag==0) {
hardwareInit:
pc.printf("intializing hardware,...\r\n");
- if(ark.init()) {
+ if(wifi.init()) {
pc.printf("hardware intialized!\r\n");
- i=1;
+ init_flag = 1;
nustConnection:
pc.printf("connecting to NUST,...\r\n");
- if(ark.connect("NUST","nust008tech")) {
+ if(wifi.connect("NUST","nust008tech")) {
pc.printf("NUST Connected!\r\n");
- if(ark.is_connected()) {
+ if(wifi.is_connected()) {
pc.printf("connection confirmed!\r\n");
- pc.printf("IP Adress: %s\r\n",ark.getIPAddress());
+ pc.printf("IP Adress: %s\r\n",wifi.getIPAddress());
hostConnection:
pc.printf("connecting to Host,...\r\n");
+ while(1)
+ {
+ sum_current = 0.0;
+ sum_voltage = 0.0;
+
if(gm.connect("184.106.153.149",80)==0) {
pc.printf("Host connected.\r\n");
-
- //pc.printf(generatePostRequest(vr.read()));
- //char getRequest[] = "http://api.thingspeak.com/update?key=3BCEJZ4D93E63PNN&field1=429";
- //char getRequest[500]="POST /api.php/phy HTTP/1.1\r\nHOST: www.maz4579.esy.es\r\nConnection: keep-alive\r\nAccept: */*\r\n{\"id\":\"5\",\"statement\":\"is the id of this question is 4?\",\"A\":\"no\",\"B\":\"no\",\"C\":\"no\",\"D\":\"yes\",\"correct\":\"C\",\"isvalid\":\"False\"}\r\n\r\n";
- char* getRequest = generatePostRequest(vr.read());
- //strcpy(getRequest,generatePostRequest((float)vr.read()));
- //char getRequest[] = "GET /update?key=3BCEJZ4D93E63PNN&field1=429\r\n\r\n";
- //char getRequest[] = "GET /testwifi/index.html HTTP/1.1\r\nHost: www.adafruit.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n";
+ /////////////////////////////////////////////////////////////////////////////////
+ for (int i = 0; i < 100; i++)
+ {
+ sum_current += Current.read();
+ sum_voltage += Voltage.read();
+ wait_us(50);
+ }
+ I = sum_current/100;
+ V = sum_voltage/100;
+
+ I = (I-0.5)*3.3/0.185;
+ V = V;
+
+ pc.printf("%.4f\n\r", I);
+
+ char* getRequest = generatePostRequest(I, V);
+ /////////////////////////////////////////////////////////////////////////////////
sendGETRequest:
pc.printf("sending GET request,...\r\n");
if(gm.send_all(getRequest,strlen(getRequest))>0) {
@@ -76,10 +104,12 @@
pc.printf("GET request failed!\r\n");
goto sendGETRequest;
}
- } else {
+ }else {
pc.printf("Host Connection Failed\r\n");
goto hostConnection;
}
+ wait(10);
+ }
} else {
pc.printf("sonething went wrong with connection. not connected \r\n");
goto nustConnection;
