EthW5500+STM32
Dependencies: MQTT WIZnet_Library mbed
Fork of EthW5500 by
main.cpp@2:566a6b762cdf, 2018-04-19 (annotated)
- Committer:
- AlexQian
- Date:
- Thu Apr 19 13:57:24 2018 +0000
- Revision:
- 2:566a6b762cdf
- Parent:
- 1:9689429a0a29
- Child:
- 3:54ad271708ff
packed;
Who changed what in which revision?
User | Revision | Line number | New 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}; |
zhangyx | 0:1170747a672f | 12 | |
zhangyx | 0:1170747a672f | 13 | int main() { |
zhangyx | 0:1170747a672f | 14 | |
zhangyx | 0:1170747a672f | 15 | const char* actuators = "switch,int\n"; |
zhangyx | 0:1170747a672f | 16 | const char* sensors = "analog,mV\n"; |
AlexQian | 2:566a6b762cdf | 17 | |
AlexQian | 2:566a6b762cdf | 18 | Eth_Init(mac_addr);//初始化 |
AlexQian | 2:566a6b762cdf | 19 | |
AlexQian | 2:566a6b762cdf | 20 | Eth_Subscribe("control",NODE_NAME,"switch");//订阅服务器信息 |
zhangyx | 0:1170747a672f | 21 | |
AlexQian | 2:566a6b762cdf | 22 | Eth_Report("event",NODE_NAME,"online",NULL,0,false);//报告节点状态 |
AlexQian | 2:566a6b762cdf | 23 | Eth_Report("capability",NODE_NAME,"control",actuators,strlen(actuators),true);//报告传感器参数 |
AlexQian | 2:566a6b762cdf | 24 | Eth_Report("capability",NODE_NAME,"values",sensors,strlen(sensors),true); |
AlexQian | 2:566a6b762cdf | 25 | bool btn = 0;//报告GPIO电平 |
zhangyx | 0:1170747a672f | 26 | while(1){ |
zhangyx | 0:1170747a672f | 27 | bool newBTN = BTN; |
zhangyx | 0:1170747a672f | 28 | if(newBTN != btn){ |
zhangyx | 0:1170747a672f | 29 | char buf[16]; |
zhangyx | 0:1170747a672f | 30 | int value = newBTN ? 3300 : 0; |
zhangyx | 0:1170747a672f | 31 | sprintf(buf, "%d mV", value); |
AlexQian | 2:566a6b762cdf | 32 | Eth_Report("values",NODE_NAME,"analog",buf,strlen(buf),true); |
zhangyx | 0:1170747a672f | 33 | btn = newBTN; |
zhangyx | 0:1170747a672f | 34 | }else{ |
AlexQian | 2:566a6b762cdf | 35 | wait(0.1); |
zhangyx | 0:1170747a672f | 36 | } |
zhangyx | 0:1170747a672f | 37 | } |
zhangyx | 0:1170747a672f | 38 | } |