Tweeting Machine with WIZwiki-W7500 for WIZnet Academy
Dependencies: Adafruit_GFX WIZnetInterface mbed
Fork of Tweeting_Machine_HelloWorld_WIZwiki-W7500 by
main.cpp
00001 #include "mbed.h" 00002 #include "EthernetInterface.h" 00003 #include "Adafruit_SSD1306.h" 00004 00005 #define TOKEN "3252156354-fG0b1utXYAg5IqeJNMSJFlenx1rgSRXm5wgk21l" 00006 //#define TOKEN "UserToken" 00007 00008 // an SPI sub-class that provides a constructed default 00009 class I2CPreInit : public I2C 00010 { 00011 public: 00012 I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl) 00013 { 00014 frequency(100000); 00015 start(); 00016 }; 00017 }; 00018 00019 I2CPreInit gI2C(PA_10,PA_9); 00020 Adafruit_SSD1306_I2c gOled(gI2C,NC,0x78,64,128); 00021 00022 00023 int main() 00024 { 00025 int phy_link; 00026 printf("Wait a second...\r\n"); 00027 //--------- Have to modify the mac address------------- 00028 uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x03, 0x04, 0x22}; 00029 00030 EthernetInterface eth; 00031 eth.init(mac_addr); //Use DHCP 00032 00033 eth.connect(); 00034 00035 while(1){ 00036 00037 /* phy link */ 00038 do{ 00039 phy_link = eth.ethernet_link(); 00040 printf("..."); 00041 wait(2); 00042 }while(!phy_link); 00043 printf("\r\n"); 00044 00045 printf("IP Address is %s\r\n", eth.getIPAddress()); 00046 00047 /* TCP socket connect */ 00048 TCPSocketConnection sock; 00049 sock.connect("arduino-tweet.appspot.com", 80); 00050 00051 printf("connected\r\n\r\n"); 00052 00053 /* typing message */ 00054 printf("typing twitter message :"); 00055 00056 char* message; 00057 scanf("%s",message); 00058 printf("%s",message); 00059 printf("\r\n\r\n"); 00060 00061 int len = strlen(message); 00062 00063 /* data length measure */ 00064 char data_len[2]={0}; 00065 int ten=0; 00066 int one=0; 00067 00068 int length = len + sizeof(TOKEN) - 1 + 14; 00069 00070 printf("length : %d\r\n\r\n",length); 00071 00072 ten = length/10; 00073 one = length%10; 00074 data_len[1] = one + 48; 00075 data_len[0] = ten + 48; 00076 00077 char *cmd1 = "POST http://arduino-tweet.appspot.com/update HTTP/1.0\r\nContent-Length:"; 00078 char *cmd2 = data_len; 00079 char *cmd3 = "\r\n\r\ntoken="; 00080 char *cmd4 = TOKEN; 00081 char *cmd5 = "&status="; 00082 char *cmd6 = message; 00083 char *cmd7 = "\r\n"; 00084 00085 char send_data[1024]; 00086 char buffer[1024] = {0}; 00087 sprintf(send_data, "%s%s%s%s%s%s%s", cmd1, cmd2, cmd3, cmd4, cmd5, cmd6, cmd7); 00088 00089 sock.send_all(send_data, sizeof(send_data)-1); 00090 00091 printf("%s\r\n",send_data); 00092 printf("send message done\r\n"); 00093 00094 sock.receive(buffer, sizeof(buffer)-1); 00095 00096 printf("%s\r\n",buffer); 00097 00098 gOled.begin(); 00099 gOled.printf("%s\r\n",message); 00100 gOled.display(); 00101 00102 wait(70.0); 00103 00104 gOled.clearDisplay(); 00105 00106 //sock.close(); 00107 //eth.disconnect(); 00108 00109 }; 00110 00111 }
Generated on Fri Jul 15 2022 05:09:04 by 1.7.2