EthW5500+STM32

Dependencies:   MQTT WIZnet_Library mbed

Fork of EthW5500 by YX ZHANG

Committer:
AlexQian
Date:
Fri Apr 20 07:28:56 2018 +0000
Revision:
4:10f83daba9ea
Parent:
3:54ad271708ff
Child:
5:23424c038538
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 4:10f83daba9ea 9 DigitalIn BTN(PA_4);//按键
zhangyx 0:1170747a672f 10 //节点名称任取
AlexQian 2:566a6b762cdf 11 char *NODE_NAME="n_12345";
zhangyx 0:1170747a672f 12 //接在同一子网下的设备MAC地址必须不同
zhangyx 0:1170747a672f 13 uint8_t mac_addr[6]={0x50,0x51,0x50,0x00,0x00,0x01};
zhangyx 0:1170747a672f 14
zhangyx 0:1170747a672f 15 int main() {
AlexQian 4:10f83daba9ea 16 const char* actuators = "switch,int\n";
zhangyx 0:1170747a672f 17 const char* sensors = "analog,mV\n";
AlexQian 4:10f83daba9ea 18 pc.printf("Initing\n");
AlexQian 4:10f83daba9ea 19 Eth_Init(mac_addr);
AlexQian 2:566a6b762cdf 20
AlexQian 4:10f83daba9ea 21 Eth_Subscribe("control",NODE_NAME,"switch");
zhangyx 0:1170747a672f 22
AlexQian 4:10f83daba9ea 23 Eth_Report("event",NODE_NAME,"online",NULL,0,false);
AlexQian 4:10f83daba9ea 24 Eth_Report("capability",NODE_NAME,"control",actuators,strlen(actuators),true);
AlexQian 4:10f83daba9ea 25 Eth_Report("capability",NODE_NAME,"values",sensors,strlen(sensors),true);
AlexQian 4:10f83daba9ea 26 bool btn = 0;
zhangyx 0:1170747a672f 27 while(1){
zhangyx 0:1170747a672f 28 bool newBTN = BTN;
zhangyx 0:1170747a672f 29 if(newBTN != btn){
zhangyx 0:1170747a672f 30 char buf[16];
zhangyx 0:1170747a672f 31 int value = newBTN ? 3300 : 0;
zhangyx 0:1170747a672f 32 sprintf(buf, "%d mV", value);
AlexQian 2:566a6b762cdf 33 Eth_Report("values",NODE_NAME,"analog",buf,strlen(buf),true);
zhangyx 0:1170747a672f 34 btn = newBTN;
zhangyx 0:1170747a672f 35 }else{
AlexQian 2:566a6b762cdf 36 wait(0.1);
zhangyx 0:1170747a672f 37 }
zhangyx 0:1170747a672f 38 }
zhangyx 0:1170747a672f 39 }