1

Dependencies:   HCSR04 LiquidCrystal_I2C_for_Nucleo

Committer:
awali
Date:
Thu Jan 13 06:24:01 2022 +0000
Revision:
100:8f61360ef2e9
Parent:
91:dab9882e2b49
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
awali 100:8f61360ef2e9 1 /* EXAMPLE */
awali 100:8f61360ef2e9 2 #include "mbed.h"
awali 100:8f61360ef2e9 3 #include "hcsr04.h"
awali 100:8f61360ef2e9 4
awali 100:8f61360ef2e9 5 //D12 TRIGGER D11 ECHO
awali 100:8f61360ef2e9 6 HCSR04 sensor(D12, D11);
awali 100:8f61360ef2e9 7
awali 100:8f61360ef2e9 8
awali 100:8f61360ef2e9 9
awali 100:8f61360ef2e9 10 #include "MQTTmbed.h"
awali 100:8f61360ef2e9 11
awali 100:8f61360ef2e9 12 #include <MQTTClientMbedOs.h>
awali 100:8f61360ef2e9 13
awali 100:8f61360ef2e9 14 #include <cstdio>
awali 100:8f61360ef2e9 15
mbed_official 0:857719181846 16
mbed_official 0:857719181846 17 #include "mbed.h"
awali 100:8f61360ef2e9 18 #include <LiquidCrystal_I2C.h>
mbed_official 0:857719181846 19
awali 100:8f61360ef2e9 20 // Set the LCD address to 0x27 for a 16 chars and 2 line display
awali 100:8f61360ef2e9 21 LiquidCrystal_I2C lcd(0x4E, 16, 2);
awali 100:8f61360ef2e9 22
awali 100:8f61360ef2e9 23
awali 100:8f61360ef2e9 24 int main(int argc, char *argv[])
awali 100:8f61360ef2e9 25 {
awali 100:8f61360ef2e9 26
awali 100:8f61360ef2e9 27 /* EXAMPLE */
awali 100:8f61360ef2e9 28 long distance = sensor.distance();
awali 100:8f61360ef2e9 29 printf("distance %d \n",distance);
awali 100:8f61360ef2e9 30 // initialize the LCD
awali 100:8f61360ef2e9 31 lcd.begin();
awali 100:8f61360ef2e9 32
awali 100:8f61360ef2e9 33
awali 100:8f61360ef2e9 34 // initialize the LCD
awali 100:8f61360ef2e9 35 lcd.begin();
mbed_official 21:b2f2f6a840b4 36
awali 100:8f61360ef2e9 37 // Turn on the blacklight and print a message.
awali 100:8f61360ef2e9 38 lcd.backlight();
awali 100:8f61360ef2e9 39 lcd.print("Hello, world!");
awali 100:8f61360ef2e9 40
awali 100:8f61360ef2e9 41
awali 100:8f61360ef2e9 42
awali 100:8f61360ef2e9 43 //lcd.printf("Hi mbed World!\n");
awali 100:8f61360ef2e9 44
awali 100:8f61360ef2e9 45 printf("Starting IBM MQTT demo:\n");
awali 100:8f61360ef2e9 46
awali 100:8f61360ef2e9 47
awali 100:8f61360ef2e9 48
awali 100:8f61360ef2e9 49 TCPSocket socket;
awali 100:8f61360ef2e9 50
awali 100:8f61360ef2e9 51 NetworkInterface *net = NetworkInterface::get_default_instance();
awali 100:8f61360ef2e9 52
awali 100:8f61360ef2e9 53 if (!net) {
awali 100:8f61360ef2e9 54
awali 100:8f61360ef2e9 55 printf("Error! No network inteface found.\n");
awali 100:8f61360ef2e9 56
awali 100:8f61360ef2e9 57 return 0;
awali 100:8f61360ef2e9 58
awali 100:8f61360ef2e9 59 }
mbed_official 0:857719181846 60
awali 100:8f61360ef2e9 61 printf("Connecting to the network...\r\n");
awali 100:8f61360ef2e9 62
awali 100:8f61360ef2e9 63
awali 100:8f61360ef2e9 64
awali 100:8f61360ef2e9 65 nsapi_size_or_error_t rc = net->connect();
awali 100:8f61360ef2e9 66
awali 100:8f61360ef2e9 67 if (rc != 0) {
awali 100:8f61360ef2e9 68
awali 100:8f61360ef2e9 69 printf("Error! _net->connect() returned: %d\r\n", rc);
mbed_official 0:857719181846 70
awali 100:8f61360ef2e9 71 return -1;
awali 100:8f61360ef2e9 72
awali 100:8f61360ef2e9 73 }
awali 100:8f61360ef2e9 74
awali 100:8f61360ef2e9 75
mbed_official 0:857719181846 76
awali 100:8f61360ef2e9 77 rc = socket.open(net);
awali 100:8f61360ef2e9 78
awali 100:8f61360ef2e9 79 if (rc != 0) {
awali 100:8f61360ef2e9 80
awali 100:8f61360ef2e9 81 printf("Error! _socket.open() returned: %d\r\n", rc);
mbed_official 0:857719181846 82
awali 100:8f61360ef2e9 83 return -1;
awali 100:8f61360ef2e9 84
awali 100:8f61360ef2e9 85 }
awali 100:8f61360ef2e9 86
awali 100:8f61360ef2e9 87
mbed_official 66:2cf02c7d430c 88
awali 100:8f61360ef2e9 89 SocketAddress address;
awali 100:8f61360ef2e9 90
awali 100:8f61360ef2e9 91 net->gethostbyname("dev.rightech.io",
awali 100:8f61360ef2e9 92
awali 100:8f61360ef2e9 93 &address);
mbed_official 0:857719181846 94
awali 100:8f61360ef2e9 95 address.set_port(1883);
awali 100:8f61360ef2e9 96
awali 100:8f61360ef2e9 97
awali 100:8f61360ef2e9 98
awali 100:8f61360ef2e9 99 printf("Opening connection to remote %s port %d\r\n",
mbed_official 66:2cf02c7d430c 100
awali 100:8f61360ef2e9 101 address.get_ip_address(), address.get_port());
awali 100:8f61360ef2e9 102
awali 100:8f61360ef2e9 103 rc = socket.connect(address);
awali 100:8f61360ef2e9 104
awali 100:8f61360ef2e9 105 if (rc != 0) {
mbed_official 66:2cf02c7d430c 106
awali 100:8f61360ef2e9 107 printf("Error! _socket.connect() returned: %d\r\n", rc);
awali 100:8f61360ef2e9 108
awali 100:8f61360ef2e9 109 return -1;
awali 100:8f61360ef2e9 110
awali 100:8f61360ef2e9 111 }
awali 100:8f61360ef2e9 112
awali 100:8f61360ef2e9 113 printf("Connected socket\n");
awali 100:8f61360ef2e9 114
awali 100:8f61360ef2e9 115
mbed_official 0:857719181846 116
awali 100:8f61360ef2e9 117 MQTTClient client(&socket);
awali 100:8f61360ef2e9 118
awali 100:8f61360ef2e9 119 MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
awali 100:8f61360ef2e9 120
awali 100:8f61360ef2e9 121 data.MQTTVersion = 3;
awali 100:8f61360ef2e9 122
awali 100:8f61360ef2e9 123 data.clientID.cstring = "ric-demo-room-device-my";
awali 100:8f61360ef2e9 124
awali 100:8f61360ef2e9 125 data.username.cstring = "111";
mbed_official 0:857719181846 126
awali 100:8f61360ef2e9 127 data.password.cstring = "Здравствуйте Раиля Хурматовна!";
awali 100:8f61360ef2e9 128
awali 100:8f61360ef2e9 129 if ((rc = client.connect(data)) != 0)
awali 100:8f61360ef2e9 130
awali 100:8f61360ef2e9 131 printf("rc from MQTT connect is %d\r\n", rc);
mbed_official 67:ebff4a8d228d 132
awali 100:8f61360ef2e9 133
awali 100:8f61360ef2e9 134
awali 100:8f61360ef2e9 135
awali 100:8f61360ef2e9 136
awali 100:8f61360ef2e9 137
awali 100:8f61360ef2e9 138
awali 100:8f61360ef2e9 139
awali 100:8f61360ef2e9 140
mbed_official 0:857719181846 141
awali 100:8f61360ef2e9 142 MQTT::Message message;
awali 100:8f61360ef2e9 143
awali 100:8f61360ef2e9 144 char *topic = "temp";
awali 100:8f61360ef2e9 145
awali 100:8f61360ef2e9 146 char buf[100];
awali 100:8f61360ef2e9 147
awali 100:8f61360ef2e9 148 int temp = 30;
mbed_official 71:a0fbcc153b55 149
awali 100:8f61360ef2e9 150 int press = 2;
awali 100:8f61360ef2e9 151
awali 100:8f61360ef2e9 152 int hum = 3;
awali 100:8f61360ef2e9 153
awali 100:8f61360ef2e9 154 //sprintf(buf,
awali 100:8f61360ef2e9 155
awali 100:8f61360ef2e9 156 // "{\"d\":{\"ST\":\"Nucleo-IoT-mbed\",\"Temp\":%d,\"Pressure\":"
awali 100:8f61360ef2e9 157
awali 100:8f61360ef2e9 158 // "%d,\"Humidity\":%d}}", temp, press, hum);
awali 100:8f61360ef2e9 159
awali 100:8f61360ef2e9 160 //sprintf(buf,
awali 100:8f61360ef2e9 161
awali 100:8f61360ef2e9 162 // "{\"temperature\": %d}", temp);
awali 100:8f61360ef2e9 163
awali 100:8f61360ef2e9 164 // sprintf(buf,
awali 100:8f61360ef2e9 165
awali 100:8f61360ef2e9 166 // "{\"distance\": %d}", distance);
awali 100:8f61360ef2e9 167
awali 100:8f61360ef2e9 168
awali 100:8f61360ef2e9 169 sprintf(buf,
awali 100:8f61360ef2e9 170 " %d", temp);
awali 100:8f61360ef2e9 171
mbed_official 0:857719181846 172
awali 100:8f61360ef2e9 173 printf("Sending message: \n%s\n", buf);
awali 100:8f61360ef2e9 174
awali 100:8f61360ef2e9 175 message.qos = MQTT::QOS0;
awali 100:8f61360ef2e9 176
awali 100:8f61360ef2e9 177 message.retained = false;
awali 100:8f61360ef2e9 178
awali 100:8f61360ef2e9 179 message.dup = false;
awali 100:8f61360ef2e9 180
awali 100:8f61360ef2e9 181 message.payload = (void *)buf;
mbed_official 0:857719181846 182
awali 100:8f61360ef2e9 183 message.payloadlen = strlen(buf);
awali 100:8f61360ef2e9 184
awali 100:8f61360ef2e9 185 rc = client.publish(topic, message);
awali 100:8f61360ef2e9 186
awali 100:8f61360ef2e9 187 printf("Message sent\n");
mbed_official 0:857719181846 188
awali 100:8f61360ef2e9 189 printf("Demo concluded successfully \r\n");
mbed_official 0:857719181846 190
awali 100:8f61360ef2e9 191
awali 100:8f61360ef2e9 192
awali 100:8f61360ef2e9 193 return 0;
awali 100:8f61360ef2e9 194 }