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

Committer:
ajeet3004
Date:
Fri Nov 24 08:32:11 2017 +0000
Revision:
2:16c044e2f30d
Parent:
1:5f4bd210e2f0
ThingSpeak_Configuration with Wizwiki w7500 via Ethernet

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joon874 0:8548416648df 1 #include "mbed.h"
joon874 0:8548416648df 2 #include "EthernetInterface.h"
joon874 0:8548416648df 3 #include "Adafruit_SSD1306.h"
joon874 0:8548416648df 4
ajeet3004 2:16c044e2f30d 5 #define TOKEN "904626807491530753-sOaChz44g9YFS7EuvRkR75l1W9T303K"
irinakim 1:5f4bd210e2f0 6 //#define TOKEN "UserToken"
ajeet3004 2:16c044e2f30d 7 AnalogIn CDS(A0);
ajeet3004 2:16c044e2f30d 8
ajeet3004 2:16c044e2f30d 9 int i = 0;
ajeet3004 2:16c044e2f30d 10 //int PIR_sensor;
ajeet3004 2:16c044e2f30d 11 int CDS_data = 0;
joon874 0:8548416648df 12 // an SPI sub-class that provides a constructed default
joon874 0:8548416648df 13 class I2CPreInit : public I2C
joon874 0:8548416648df 14 {
joon874 0:8548416648df 15 public:
joon874 0:8548416648df 16 I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl)
joon874 0:8548416648df 17 {
joon874 0:8548416648df 18 frequency(100000);
joon874 0:8548416648df 19 start();
joon874 0:8548416648df 20 };
joon874 0:8548416648df 21 };
joon874 0:8548416648df 22
joon874 0:8548416648df 23 I2CPreInit gI2C(PA_10,PA_9);
joon874 0:8548416648df 24 Adafruit_SSD1306_I2c gOled(gI2C,NC,0x78,64,128);
joon874 0:8548416648df 25
joon874 0:8548416648df 26
joon874 0:8548416648df 27 int main()
joon874 0:8548416648df 28 {
joon874 0:8548416648df 29 int phy_link;
ajeet3004 2:16c044e2f30d 30 printf("................................configuration using Ethernet connection..........................\r\n\r\n");
irinakim 1:5f4bd210e2f0 31 //--------- Have to modify the mac address-------------
irinakim 1:5f4bd210e2f0 32 uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x03, 0x04, 0x22};
joon874 0:8548416648df 33
ajeet3004 2:16c044e2f30d 34 EthernetInterface eth;
joon874 0:8548416648df 35 eth.init(mac_addr); //Use DHCP
joon874 0:8548416648df 36
joon874 0:8548416648df 37 eth.connect();
joon874 0:8548416648df 38
ajeet3004 2:16c044e2f30d 39
joon874 0:8548416648df 40
joon874 0:8548416648df 41 /* phy link */
ajeet3004 2:16c044e2f30d 42 while(!phy_link){
ajeet3004 2:16c044e2f30d 43 printf("Failed to obtain IP Adress\r\n\r\n");
joon874 0:8548416648df 44 phy_link = eth.ethernet_link();
joon874 0:8548416648df 45 printf("...");
joon874 0:8548416648df 46 wait(2);
ajeet3004 2:16c044e2f30d 47 }
joon874 0:8548416648df 48 printf("\r\n");
ajeet3004 2:16c044e2f30d 49 printf("IP Adress obtained\r\n\r\n");
ajeet3004 2:16c044e2f30d 50 printf("IP Address is: %s\r\n", eth.getIPAddress());
ajeet3004 2:16c044e2f30d 51 while(1){
joon874 0:8548416648df 52 /* TCP socket connect */
joon874 0:8548416648df 53 TCPSocketConnection sock;
ajeet3004 2:16c044e2f30d 54
joon874 0:8548416648df 55
ajeet3004 2:16c044e2f30d 56 printf("\r\n Reading the LDR sensor values \n\r");
ajeet3004 2:16c044e2f30d 57
ajeet3004 2:16c044e2f30d 58 while (1) {
ajeet3004 2:16c044e2f30d 59 //PIR_sensor = PIR;
ajeet3004 2:16c044e2f30d 60 sock.connect("api.thingspeak.com", 80);
ajeet3004 2:16c044e2f30d 61 if(sock.is_connected())
ajeet3004 2:16c044e2f30d 62 {
ajeet3004 2:16c044e2f30d 63 printf("\r\nConnected to the DNS Server\r\n\r\n");
ajeet3004 2:16c044e2f30d 64 }
ajeet3004 2:16c044e2f30d 65 else
ajeet3004 2:16c044e2f30d 66 {
ajeet3004 2:16c044e2f30d 67 printf("\r\nDNS Server connection error\r\n\r\n");
ajeet3004 2:16c044e2f30d 68 }
joon874 0:8548416648df 69
ajeet3004 2:16c044e2f30d 70 CDS_data = CDS.read()*1000;
ajeet3004 2:16c044e2f30d 71
ajeet3004 2:16c044e2f30d 72 //CDS Sensor ADC Low Data
ajeet3004 2:16c044e2f30d 73 printf("===========================================\n\r");
ajeet3004 2:16c044e2f30d 74 printf("CDS Data : %3d\r\n",CDS_data);
ajeet3004 2:16c044e2f30d 75 printf("===========================================\n\r");
ajeet3004 2:16c044e2f30d 76 // pc.printf("PIR Value : %d\r\n",PIR_sensor);
ajeet3004 2:16c044e2f30d 77 // myled =! PIR_sensor;
ajeet3004 2:16c044e2f30d 78
ajeet3004 2:16c044e2f30d 79 /* char* message;
ajeet3004 2:16c044e2f30d 80 scanf("%s",message);
joon874 0:8548416648df 81 printf("%s",message);
joon874 0:8548416648df 82 printf("\r\n\r\n");
joon874 0:8548416648df 83
joon874 0:8548416648df 84 int len = strlen(message);
joon874 0:8548416648df 85
ajeet3004 2:16c044e2f30d 86 data length measure
joon874 0:8548416648df 87 char data_len[2]={0};
joon874 0:8548416648df 88 int ten=0;
ajeet3004 2:16c044e2f30d 89 int one=0;*/
joon874 0:8548416648df 90
joon874 0:8548416648df 91
ajeet3004 2:16c044e2f30d 92 if(CDS_data>70)
ajeet3004 2:16c044e2f30d 93 {
joon874 0:8548416648df 94 char send_data[1024];
joon874 0:8548416648df 95 char buffer[1024] = {0};
ajeet3004 2:16c044e2f30d 96 sprintf(send_data, "GET http://api.thingspeak.com/update?key=1M68DA3MGRI6TGOO&field2=%d\r\n",CDS_data);
ajeet3004 2:16c044e2f30d 97
joon874 0:8548416648df 98
ajeet3004 2:16c044e2f30d 99 if(sock.send_all(send_data, sizeof(send_data))!=-1)
ajeet3004 2:16c044e2f30d 100 {
ajeet3004 2:16c044e2f30d 101 printf("The sent URL is: %s\r\n",send_data);
ajeet3004 2:16c044e2f30d 102 // printf("The sent Tweet is: %s",message);
ajeet3004 2:16c044e2f30d 103 printf("\r\nMessage sent successfully\r\n\r\n");
ajeet3004 2:16c044e2f30d 104 }
ajeet3004 2:16c044e2f30d 105 else
ajeet3004 2:16c044e2f30d 106 {
ajeet3004 2:16c044e2f30d 107 printf("\r\nMessage sending failed\r\n\r\n");
ajeet3004 2:16c044e2f30d 108 }
ajeet3004 2:16c044e2f30d 109 printf("Response from the server:\r\n\r\n");
ajeet3004 2:16c044e2f30d 110 sock.receive(buffer, sizeof(buffer));
joon874 0:8548416648df 111
joon874 0:8548416648df 112 printf("%s\r\n",buffer);
ajeet3004 2:16c044e2f30d 113 }
ajeet3004 2:16c044e2f30d 114 //sock.disconnect();
ajeet3004 2:16c044e2f30d 115 wait(18);
ajeet3004 2:16c044e2f30d 116 }
joon874 0:8548416648df 117
joon874 0:8548416648df 118 };
joon874 0:8548416648df 119
joon874 0:8548416648df 120 }