EthW5500+STM32
Dependencies: MQTT WIZnet_Library mbed
Fork of EthW5500 by
main.cpp@4:10f83daba9ea, 2018-04-20 (annotated)
- 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?
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" |
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 | } |