This Program is based on the configuration of ThingSpeak using ARMmbed

Dependencies:   Adafruit_GFX WIZnetInterface mbed

Fork of Tweeting_Machine_HelloWorld_WIZwiki-W7500 by IOP

main.cpp

Committer:
ajeet3004
Date:
2017-11-24
Revision:
2:16c044e2f30d
Parent:
1:5f4bd210e2f0

File content as of revision 2:16c044e2f30d:

#include "mbed.h"
#include "EthernetInterface.h"
#include "Adafruit_SSD1306.h"

#define TOKEN "904626807491530753-sOaChz44g9YFS7EuvRkR75l1W9T303K"
//#define TOKEN "UserToken"
AnalogIn CDS(A0);
 
 int i = 0;
 //int PIR_sensor;
 int CDS_data = 0;
// an SPI sub-class that provides a constructed default
class I2CPreInit : public I2C
{
public:
    I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl)
    {
        frequency(100000);
        start();
    };
};

I2CPreInit gI2C(PA_10,PA_9);
Adafruit_SSD1306_I2c gOled(gI2C,NC,0x78,64,128);


int main()
{
        int phy_link;
        printf("................................configuration using Ethernet connection..........................\r\n\r\n");
        //--------- Have to modify the mac address-------------
        uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x03, 0x04, 0x22}; 
        
        EthernetInterface eth;   
        eth.init(mac_addr); //Use DHCP
            
        eth.connect();
        
        
                
            /* phy link */
            while(!phy_link){
                printf("Failed to obtain IP Adress\r\n\r\n");
                phy_link = eth.ethernet_link();
                printf("...");
                wait(2);
            }
            printf("\r\n");
            printf("IP Adress obtained\r\n\r\n");    
            printf("IP Address is: %s\r\n", eth.getIPAddress());
             while(1){ 
            /* TCP socket connect */
            TCPSocketConnection sock;
           
            
             printf("\r\n Reading the LDR sensor values  \n\r"); 
                    
        while (1) {
          //PIR_sensor = PIR;
          sock.connect("api.thingspeak.com", 80);
            if(sock.is_connected())
            {
                printf("\r\nConnected to the DNS Server\r\n\r\n");
            }
            else
            {
                printf("\r\nDNS Server connection error\r\n\r\n");
            }
            
          CDS_data = CDS.read()*1000;
          
           //CDS Sensor ADC Low Data
           printf("===========================================\n\r");
          printf("CDS Data : %3d\r\n",CDS_data);
          printf("===========================================\n\r");
         // pc.printf("PIR Value : %d\r\n",PIR_sensor);
               // myled =! PIR_sensor;
              
          /* char* message;
           scanf("%s",message);   
            printf("%s",message);
            printf("\r\n\r\n");
            
            int len = strlen(message);
            
             data length measure 
            char data_len[2]={0};
            int ten=0;
            int one=0;*/
            
        
    if(CDS_data>70)
    {
            char send_data[1024];
            char buffer[1024] = {0};
            sprintf(send_data, "GET http://api.thingspeak.com/update?key=1M68DA3MGRI6TGOO&field2=%d\r\n",CDS_data);
           
    
            if(sock.send_all(send_data, sizeof(send_data))!=-1)
            {
                printf("The sent URL is: %s\r\n",send_data);
              //  printf("The sent Tweet is: %s",message);
                printf("\r\nMessage sent successfully\r\n\r\n");
            }
            else
            {
                printf("\r\nMessage sending failed\r\n\r\n");
            }
            printf("Response from the server:\r\n\r\n");
            sock.receive(buffer, sizeof(buffer));
    
            printf("%s\r\n",buffer);
           }
             //sock.disconnect();
              wait(18);
            }
            
    };

}