![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
case5
Dependencies: mbed SeeedShieldBot BluetoothSerial
main.cpp
- Committer:
- roman360025
- Date:
- 2021-09-15
- Revision:
- 0:469ef45c1fe2
File content as of revision 0:469ef45c1fe2:
#include "mbed.h" #define MQTT_MAX_PACKET_SIZE 400 #define MQTT_MAX_PAYLOAD_SIZE 300 void ibm_cloud_demo(NetworkInterface *net) { TCPSocket socket; MQTTClient client(&socket); SocketAddress a; char* hostname = "quickstart.messaging.internetofthings.ibmcloud.com"; net->gethostbyname(hostname, &a); int port = 1883; a.set_port(port); printf("Connecting to %s:%d\r\n", hostname, port); socket.open(net); printf("Opened socket\n\r"); int rc = socket.connect(a); if (rc != 0) printf("rc from TCP connect is %d\r\n", rc); printf("Connected socket\n\r"); MQTTPacket_connectData data = MQTTPacket_connectData_initializer; data.MQTTVersion = 3; data.clientID.cstring = "d:quickstart:my_test:my_test_board"; data.username.cstring = "testuser"; data.password.cstring = "testpassword"; if ((rc = client.connect(data)) != 0) printf("rc from MQTT connect is %d\r\n", rc); MQTT::Message message; char buf[MQTT_MAX_PAYLOAD_SIZE]; float temp = 1; float press = 2; float hum = 3; sprintf(buf, "{\"d\":{\"ST\":\"Nucleo-IoT-mbed\",\"Temp\":%0.4f,\"Pressure\":%0.4f,\"Humidity\":%0.4f}}", temp, press, hum); message.qos = MQTT::QOS0; message.retained = false; message.dup = false; message.payload = (void*)buf; message.payloadlen = strlen(buf); char* topic = "iot-2/evt/my_event/fmt/json"; if( (message.payloadlen + strlen(topic)+1) >= MQTT_MAX_PACKET_SIZE ) printf("message too long!\r\n"); rc = client.publish(topic, message); return; } nt main() { ibm_cloud_demo(NetworkInterface *net); }