EthW5500+STM32
Dependencies: MQTT WIZnet_Library mbed
Fork of EthW5500 by
main.cpp@5:23424c038538, 2018-04-27 (annotated)
- Committer:
- AlexQian
- Date:
- Fri Apr 27 06:50:55 2018 +0000
- Revision:
- 5:23424c038538
- Parent:
- 4:10f83daba9ea
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 | 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 | } |