EthW5500+STM32

Dependencies:   MQTT WIZnet_Library mbed

Fork of EthW5500 by YX ZHANG

Committer:
AlexQian
Date:
Fri Apr 27 06:50:55 2018 +0000
Revision:
5:23424c038538
Parent:
4:10f83daba9ea
updata

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zhangyx 0:1170747a672f 1 #include "mbed.h"
zhangyx 0:1170747a672f 2 #include "WIZnetInterface.h"
zhangyx 0:1170747a672f 3 #include "MQTTSocket.h"
zhangyx 0:1170747a672f 4 #include "MQTTClient.h"
AlexQian 2:566a6b762cdf 5 #include "ETHW5500.h"
AlexQian 4:10f83daba9ea 6 Serial pc(PA_2,PA_3);//串口
AlexQian 4:10f83daba9ea 7 //W5500接线 mosi,miso,sclk,cs,reset
AlexQian 4:10f83daba9ea 8 WIZnetInterface wiz(PA_7,PA_6,PA_5,PB_5,PB_4);
AlexQian 5:23424c038538 9 //WIZnetInterface wiz(PA_7,PA_6,PA_5,PB_6,PC_7);
AlexQian 4:10f83daba9ea 10 DigitalIn BTN(PA_4);//按键
zhangyx 0:1170747a672f 11 //节点名称任取
AlexQian 2:566a6b762cdf 12 char *NODE_NAME="n_12345";
zhangyx 0:1170747a672f 13 //接在同一子网下的设备MAC地址必须不同
zhangyx 0:1170747a672f 14 uint8_t mac_addr[6]={0x50,0x51,0x50,0x00,0x00,0x01};
AlexQian 5:23424c038538 15 char* URL="tdxls-iot.xicp.net"; //服务器地址
AlexQian 5:23424c038538 16 MQTTSocket sock;
AlexQian 5:23424c038538 17 MClient client(sock);
zhangyx 0:1170747a672f 18 int main() {
AlexQian 5:23424c038538 19
AlexQian 5:23424c038538 20 const char* actuators = "switch,int\n";
AlexQian 5:23424c038538 21 const char* sensors = "analog,mV\n";
AlexQian 5:23424c038538 22 pc.printf("Initing\n");
AlexQian 5:23424c038538 23 Eth_Init(mac_addr);
AlexQian 5:23424c038538 24 Eth_ConnetToSever(URL);
AlexQian 5:23424c038538 25 Eth_Subscribe("control",NODE_NAME,"switch");
AlexQian 2:566a6b762cdf 26
AlexQian 5:23424c038538 27 Eth_Report("event",NODE_NAME,"online",NULL,0,false);
AlexQian 5:23424c038538 28 Eth_Report("capability",NODE_NAME,"control",actuators,strlen(actuators),true);
AlexQian 5:23424c038538 29 Eth_Report("capability",NODE_NAME,"values",sensors,strlen(sensors),true);
AlexQian 5:23424c038538 30 bool btn = 0;
AlexQian 5:23424c038538 31 while(1){
zhangyx 0:1170747a672f 32 bool newBTN = BTN;
zhangyx 0:1170747a672f 33 if(newBTN != btn){
zhangyx 0:1170747a672f 34 char buf[16];
zhangyx 0:1170747a672f 35 int value = newBTN ? 3300 : 0;
zhangyx 0:1170747a672f 36 sprintf(buf, "%d mV", value);
AlexQian 2:566a6b762cdf 37 Eth_Report("values",NODE_NAME,"analog",buf,strlen(buf),true);
zhangyx 0:1170747a672f 38 btn = newBTN;
zhangyx 0:1170747a672f 39 }else{
AlexQian 2:566a6b762cdf 40 wait(0.1);
zhangyx 0:1170747a672f 41 }
zhangyx 0:1170747a672f 42 }
zhangyx 0:1170747a672f 43 }