Program to serially receive in WIZ750SR to publish data in MQTT broker
Dependencies: MQTT WIZnetInterface mbed-src
Fork of RFID_copy by
main.cpp@1:7638b96d77af, 2018-07-17 (annotated)
- Committer:
- HarshaDRAGNEEL
- Date:
- Tue Jul 17 06:08:33 2018 +0000
- Revision:
- 1:7638b96d77af
- Parent:
- 0:1fdb07d055b9
To publish only the data
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rajib | 0:1fdb07d055b9 | 1 | #include "mbed.h" |
Rajib | 0:1fdb07d055b9 | 2 | #include "SPI.h" |
Rajib | 0:1fdb07d055b9 | 3 | #include "MQTTEthernet.h" |
Rajib | 0:1fdb07d055b9 | 4 | #include "MQTTClient.h" |
Rajib | 0:1fdb07d055b9 | 5 | |
Rajib | 0:1fdb07d055b9 | 6 | #define ECHO_SERVER_PORT 7 |
Rajib | 0:1fdb07d055b9 | 7 | |
HarshaDRAGNEEL | 1:7638b96d77af | 8 | Serial pc(USBTX, USBRX); //Enabling the Serial transmission between WIZ750SR and PC. |
HarshaDRAGNEEL | 1:7638b96d77af | 9 | Serial serial(D1,D0); // Enabling Serial transmission betwenn Wiz750SR and W7500. |
HarshaDRAGNEEL | 1:7638b96d77af | 10 | char c[100]=""; |
HarshaDRAGNEEL | 1:7638b96d77af | 11 | |
Rajib | 0:1fdb07d055b9 | 12 | |
Rajib | 0:1fdb07d055b9 | 13 | int main(void) { |
Rajib | 0:1fdb07d055b9 | 14 | printf("Wait a second...\r\n"); |
HarshaDRAGNEEL | 1:7638b96d77af | 15 | char* topic = "ack"; //if we are subscribing the acknowledgement. |
Rajib | 0:1fdb07d055b9 | 16 | MQTTEthernet ipstack = MQTTEthernet(); |
Rajib | 0:1fdb07d055b9 | 17 | |
Rajib | 0:1fdb07d055b9 | 18 | MQTT::Client<MQTTEthernet, Countdown> client = MQTT::Client<MQTTEthernet, Countdown>(ipstack); |
Rajib | 0:1fdb07d055b9 | 19 | |
HarshaDRAGNEEL | 1:7638b96d77af | 20 | char* hostname = "172.16.73.4"; //Give the IP Address of the MQTT Broker. |
HarshaDRAGNEEL | 1:7638b96d77af | 21 | int port = 1883; // Port number of the MQTT broker. |
Rajib | 0:1fdb07d055b9 | 22 | |
HarshaDRAGNEEL | 1:7638b96d77af | 23 | |
Rajib | 0:1fdb07d055b9 | 24 | int rc = ipstack.connect(hostname, port); |
Rajib | 0:1fdb07d055b9 | 25 | if (rc != 0) |
HarshaDRAGNEEL | 1:7638b96d77af | 26 | printf("rc from TCP connect is %d\n", rc); |
Rajib | 0:1fdb07d055b9 | 27 | printf("Topic: %s\r\n",topic); |
Rajib | 0:1fdb07d055b9 | 28 | |
Rajib | 0:1fdb07d055b9 | 29 | MQTTPacket_connectData data = MQTTPacket_connectData_initializer; |
Rajib | 0:1fdb07d055b9 | 30 | data.MQTTVersion = 3; |
Rajib | 0:1fdb07d055b9 | 31 | data.clientID.cstring = "parents"; |
Rajib | 0:1fdb07d055b9 | 32 | |
Rajib | 0:1fdb07d055b9 | 33 | if ((rc = client.connect(data)) == 0) |
HarshaDRAGNEEL | 1:7638b96d77af | 34 | printf("rc from MQTT connect is %d\n", rc); |
HarshaDRAGNEEL | 1:7638b96d77af | 35 | |
HarshaDRAGNEEL | 1:7638b96d77af | 36 | |
HarshaDRAGNEEL | 1:7638b96d77af | 37 | while (true) { |
HarshaDRAGNEEL | 1:7638b96d77af | 38 | if (serial.readable()) // if anything available/ readable in Serial port |
Rajib | 0:1fdb07d055b9 | 39 | { |
HarshaDRAGNEEL | 1:7638b96d77af | 40 | int i; |
HarshaDRAGNEEL | 1:7638b96d77af | 41 | c[i]=0; |
HarshaDRAGNEEL | 1:7638b96d77af | 42 | for(i=0;i<=10;i++){ |
HarshaDRAGNEEL | 1:7638b96d77af | 43 | char c1=serial.getc(); |
HarshaDRAGNEEL | 1:7638b96d77af | 44 | c[i] = c1; |
HarshaDRAGNEEL | 1:7638b96d77af | 45 | } |
HarshaDRAGNEEL | 1:7638b96d77af | 46 | pc.printf("The value returned is %s ",c); |
HarshaDRAGNEEL | 1:7638b96d77af | 47 | MQTT::Message message; |
HarshaDRAGNEEL | 1:7638b96d77af | 48 | char buf[100]; |
HarshaDRAGNEEL | 1:7638b96d77af | 49 | sprintf(buf, "%s", c); |
HarshaDRAGNEEL | 1:7638b96d77af | 50 | message.qos = MQTT::QOS0; |
HarshaDRAGNEEL | 1:7638b96d77af | 51 | message.retained = false; |
HarshaDRAGNEEL | 1:7638b96d77af | 52 | message.dup = false; |
HarshaDRAGNEEL | 1:7638b96d77af | 53 | |
HarshaDRAGNEEL | 1:7638b96d77af | 54 | message.payload = (void*)c; |
HarshaDRAGNEEL | 1:7638b96d77af | 55 | message.payloadlen = strlen(c); |
HarshaDRAGNEEL | 1:7638b96d77af | 56 | |
HarshaDRAGNEEL | 1:7638b96d77af | 57 | rc = client.publish("balance", message); |
HarshaDRAGNEEL | 1:7638b96d77af | 58 | pc.printf("Rc result: %c \n ",rc); |
HarshaDRAGNEEL | 1:7638b96d77af | 59 | client.yield(60); |
Rajib | 0:1fdb07d055b9 | 60 | } |
Rajib | 0:1fdb07d055b9 | 61 | } |
Rajib | 0:1fdb07d055b9 | 62 | } |