This Program is based on the configuration of ThingSpeak using ARMmbed
Dependencies: Adafruit_GFX WIZnetInterface mbed
Fork of Tweeting_Machine_HelloWorld_WIZwiki-W7500 by
main.cpp@2:16c044e2f30d, 2017-11-24 (annotated)
- 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?
User | Revision | Line number | New 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 | } |