EthW5500+STM32

Dependencies:   MQTT WIZnet_Library mbed

Fork of EthW5500 by YX ZHANG

Committer:
AlexQian
Date:
Fri Apr 20 01:37:27 2018 +0000
Revision:
3:54ad271708ff
Parent:
2:566a6b762cdf
Child:
4:10f83daba9ea
URL

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"
zhangyx 0:1170747a672f 6
zhangyx 0:1170747a672f 7 DigitalIn BTN(PC_13);
zhangyx 0:1170747a672f 8 //节点名称任取
AlexQian 2:566a6b762cdf 9 char *NODE_NAME="n_12345";
zhangyx 0:1170747a672f 10 //接在同一子网下的设备MAC地址必须不同
zhangyx 0:1170747a672f 11 uint8_t mac_addr[6]={0x50,0x51,0x50,0x00,0x00,0x01};
AlexQian 3:54ad271708ff 12 //服务器地址
AlexQian 3:54ad271708ff 13 char *SeverURL="tdxls-iot.xicp.net";
zhangyx 0:1170747a672f 14
zhangyx 0:1170747a672f 15 int main() {
zhangyx 0:1170747a672f 16
zhangyx 0:1170747a672f 17 const char* actuators = "switch,int\n";
zhangyx 0:1170747a672f 18 const char* sensors = "analog,mV\n";
AlexQian 2:566a6b762cdf 19
AlexQian 2:566a6b762cdf 20 Eth_Init(mac_addr);//初始化
AlexQian 3:54ad271708ff 21 Eth_ConnectToSer(SeverURL);//连接到服务器
AlexQian 2:566a6b762cdf 22
AlexQian 2:566a6b762cdf 23 Eth_Subscribe("control",NODE_NAME,"switch");//订阅服务器信息
zhangyx 0:1170747a672f 24
AlexQian 2:566a6b762cdf 25 Eth_Report("event",NODE_NAME,"online",NULL,0,false);//报告节点状态
AlexQian 2:566a6b762cdf 26 Eth_Report("capability",NODE_NAME,"control",actuators,strlen(actuators),true);//报告传感器参数
AlexQian 2:566a6b762cdf 27 Eth_Report("capability",NODE_NAME,"values",sensors,strlen(sensors),true);
AlexQian 2:566a6b762cdf 28 bool btn = 0;//报告GPIO电平
zhangyx 0:1170747a672f 29 while(1){
zhangyx 0:1170747a672f 30 bool newBTN = BTN;
zhangyx 0:1170747a672f 31 if(newBTN != btn){
zhangyx 0:1170747a672f 32 char buf[16];
zhangyx 0:1170747a672f 33 int value = newBTN ? 3300 : 0;
zhangyx 0:1170747a672f 34 sprintf(buf, "%d mV", value);
AlexQian 2:566a6b762cdf 35 Eth_Report("values",NODE_NAME,"analog",buf,strlen(buf),true);
zhangyx 0:1170747a672f 36 btn = newBTN;
zhangyx 0:1170747a672f 37 }else{
AlexQian 2:566a6b762cdf 38 wait(0.1);
zhangyx 0:1170747a672f 39 }
zhangyx 0:1170747a672f 40 }
zhangyx 0:1170747a672f 41 }