Things used in this project

Hardware components:
D1 mini
Everything ESP Wemos D1 Mini
×1
11026 02
Jumper wires (generic)
×1
Software apps and online services:
Ide web
Arduino IDE
dweet.io
freeboard.io

Code

dweet that thangArduino
:) main code for dweeting , still in construction but working flawless
//coded for my wemos esp8266 pro mini, dweet.io posting
//Javier Muñoz Sáez 05/07/2017, javimusama@gmail.com
//////////////////wifi dweeting.io
// Import required libraries
#include "ESP8266WiFi.h"

// WiFi parameters
                    const char* ssid = "your wifi ssid";
                    const char* password = "password";
                    
  String thingName="TYPICALSENSORTHING"; 

const char* host = "dweet.io";


  String arrayVariableNames[]={"UNO","DOS","TRES","CUATRO","CINCO","SEIS","SIETE","OCHO"};//THIS WAY WE REFER TO EACH VARIABLE AS AN INDEX IN THIS GLOBAL ARRAY. arrayVariableNames[0]="UNO"
  int   arrayVariableValues[]={1,2,3,4,5,6,7,8};  
int numberVariables=sizeof(arrayVariableValues)/sizeof(arrayVariableValues[0]);//tells the number of arguments inside each array
//////////////////////////////

void setup() {
  Serial.begin(9600);
///////////wifi things
  // We start by connecting to a WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  //initialice and connect to wifi lan
  WiFi.begin(ssid, password);  
  int retries = 0;
  while ((WiFi.status() != WL_CONNECTED) && (retries < 15)) {
    retries++;
    delay(500);
    Serial.print(".");
  }
  if(retries>14){
        Serial.println(F("WiFi conection FAILED"));
  }
  if (WiFi.status() == WL_CONNECTED) {
  Serial.println(F("WiFi connected"));
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  Serial.println(F("======================================================")); 
  }
  
   Serial.println(F("Setup ready")); 


}

void loop() { 

arrayVariableValues[0]=25;//this is how you change values of the variables
arrayVariableValues[1]=42;
arrayVariableValues[2]=9;

arrayVariableNames[0]="veinticinco";//this is how you change the name of the variable( veinticinco=25)
dweetdata();//upload it
}

void dweetdata(){//connects TCP,sends dweet,drops connection, prints the server response on the console 
  // Use WiFiClient class to create TCP connections
  WiFiClient client;
  const int httpPort = 80;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }

    client.print(GetDweetStringHttpBuilder());

  delay(10);//slow doown ...stability stuff
  
  // Read all the lines of the reply from dweet server and print them to Serial
  while(client.available()){
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }
  //just display ending conection on the serial port
  Serial.println();
  Serial.println("closing connection");
   
}

String GetDweetStringHttpBuilder() {
  int i=0;
  int numberVariables=sizeof(arrayVariableValues)/sizeof(arrayVariableValues[0]);//tells the number of arguments inside each array
  String dweetHttpGet="GET /dweet/for/";//initial empty get request
  dweetHttpGet=dweetHttpGet+String(thingName)+"?";//start concatenating the thing name (dweet.io)
  
  for(i=0;i<(numberVariables);i++){//concatenate all the variable names and values
   if(i==numberVariables-1){
    dweetHttpGet=dweetHttpGet + String(arrayVariableNames[i]) + "="+ String( arrayVariableValues[i]);//the lastone doesnt have a "&" at the end

   }
   else
    dweetHttpGet=dweetHttpGet + String(arrayVariableNames[i]) + "="+ String( arrayVariableValues[i]) + "&";  
  }
 dweetHttpGet=dweetHttpGet+" HTTP/1.1\r\n"+
                  "Host: " + 
                    host + 
                  "\r\n" + 
                  "Connection: close\r\n\r\n";
                  
  return dweetHttpGet;//this is our freshly made http string request
}

Credits

Img 20170807 193654 3kx5vtccvb
javier muñoz sáez
10 projects • 27 followers
Looking for a summer internship or placement 2018 ! Electronic engineer, musician and mad scientist
Contact

Comments