potok

Dependencies:   HCSR04 awali2

Committer:
shamajin
Date:
Wed Jan 26 08:28:34 2022 +0000
Revision:
101:bd874520ab00
Parent:
100:642bee2ce173
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
awali 100:642bee2ce173 1 /* EXAMPLE */
awali 100:642bee2ce173 2 #include "mbed.h"
awali 100:642bee2ce173 3 #include "hcsr04.h"
shamajin 101:bd874520ab00 4 #include "LiquidCrystal_I2C.h"
awali 100:642bee2ce173 5 //D12 TRIGGER D11 ECHO
awali 100:642bee2ce173 6 HCSR04 sensor(D12, D11);
awali 100:642bee2ce173 7
awali 100:642bee2ce173 8
awali 100:642bee2ce173 9
awali 100:642bee2ce173 10 #include "MQTTmbed.h"
awali 100:642bee2ce173 11
awali 100:642bee2ce173 12 #include <MQTTClientMbedOs.h>
awali 100:642bee2ce173 13
awali 100:642bee2ce173 14 #include <cstdio>
awali 100:642bee2ce173 15
mbed_official 0:857719181846 16
mbed_official 0:857719181846 17 #include "mbed.h"
awali 100:642bee2ce173 18 #include <LiquidCrystal_I2C.h>
mbed_official 0:857719181846 19
awali 100:642bee2ce173 20 // Set the LCD address to 0x27 for a 16 chars and 2 line display
awali 100:642bee2ce173 21 LiquidCrystal_I2C lcd(0x4E, 16, 2);
shamajin 101:bd874520ab00 22 //Ticker Readdatchink_lcd_and_publish_;
shamajin 101:bd874520ab00 23 Thread thread;
shamajin 101:bd874520ab00 24
shamajin 101:bd874520ab00 25 void Readdatchink_lcd_and_publish();
shamajin 101:bd874520ab00 26
shamajin 101:bd874520ab00 27 //long distance = sensor.distance();
awali 100:642bee2ce173 28
awali 100:642bee2ce173 29 int main(int argc, char *argv[])
awali 100:642bee2ce173 30 {
shamajin 101:bd874520ab00 31 long distance = sensor.distance();
awali 100:642bee2ce173 32
shamajin 101:bd874520ab00 33 thread.start(Readdatchink_lcd_and_publish);
shamajin 101:bd874520ab00 34
mbed_official 21:b2f2f6a840b4 35
awali 100:642bee2ce173 36
awali 100:642bee2ce173 37 printf("Starting IBM MQTT demo:\n");
shamajin 101:bd874520ab00 38
shamajin 101:bd874520ab00 39
shamajin 101:bd874520ab00 40
shamajin 101:bd874520ab00 41
awali 100:642bee2ce173 42
awali 100:642bee2ce173 43
awali 100:642bee2ce173 44 TCPSocket socket;
awali 100:642bee2ce173 45
awali 100:642bee2ce173 46 NetworkInterface *net = NetworkInterface::get_default_instance();
awali 100:642bee2ce173 47
awali 100:642bee2ce173 48 if (!net) {
awali 100:642bee2ce173 49
awali 100:642bee2ce173 50 printf("Error! No network inteface found.\n");
awali 100:642bee2ce173 51
shamajin 101:bd874520ab00 52
awali 100:642bee2ce173 53
awali 100:642bee2ce173 54 }
mbed_official 0:857719181846 55
awali 100:642bee2ce173 56 printf("Connecting to the network...\r\n");
awali 100:642bee2ce173 57
awali 100:642bee2ce173 58
awali 100:642bee2ce173 59
awali 100:642bee2ce173 60 nsapi_size_or_error_t rc = net->connect();
awali 100:642bee2ce173 61
awali 100:642bee2ce173 62 if (rc != 0) {
awali 100:642bee2ce173 63
awali 100:642bee2ce173 64 printf("Error! _net->connect() returned: %d\r\n", rc);
mbed_official 0:857719181846 65
awali 100:642bee2ce173 66
awali 100:642bee2ce173 67 }
awali 100:642bee2ce173 68
awali 100:642bee2ce173 69
mbed_official 0:857719181846 70
awali 100:642bee2ce173 71 rc = socket.open(net);
awali 100:642bee2ce173 72
awali 100:642bee2ce173 73 if (rc != 0) {
awali 100:642bee2ce173 74
awali 100:642bee2ce173 75 printf("Error! _socket.open() returned: %d\r\n", rc);
mbed_official 0:857719181846 76
shamajin 101:bd874520ab00 77
awali 100:642bee2ce173 78
awali 100:642bee2ce173 79 }
mbed_official 66:2cf02c7d430c 80
awali 100:642bee2ce173 81
awali 100:642bee2ce173 82
awali 100:642bee2ce173 83 SocketAddress address;
awali 100:642bee2ce173 84
shamajin 101:bd874520ab00 85 net->gethostbyname("dev.rightech.io",
mbed_official 0:857719181846 86
awali 100:642bee2ce173 87 &address);
awali 100:642bee2ce173 88
awali 100:642bee2ce173 89 address.set_port(1883);
awali 100:642bee2ce173 90
awali 100:642bee2ce173 91
mbed_official 66:2cf02c7d430c 92
awali 100:642bee2ce173 93 printf("Opening connection to remote %s port %d\r\n",
awali 100:642bee2ce173 94
awali 100:642bee2ce173 95 address.get_ip_address(), address.get_port());
awali 100:642bee2ce173 96
awali 100:642bee2ce173 97 rc = socket.connect(address);
mbed_official 66:2cf02c7d430c 98
awali 100:642bee2ce173 99 if (rc != 0) {
awali 100:642bee2ce173 100
awali 100:642bee2ce173 101 printf("Error! _socket.connect() returned: %d\r\n", rc);
awali 100:642bee2ce173 102
shamajin 101:bd874520ab00 103
awali 100:642bee2ce173 104
awali 100:642bee2ce173 105 }
awali 100:642bee2ce173 106
awali 100:642bee2ce173 107 printf("Connected socket\n");
mbed_official 0:857719181846 108
awali 100:642bee2ce173 109
awali 100:642bee2ce173 110
awali 100:642bee2ce173 111 MQTTClient client(&socket);
awali 100:642bee2ce173 112
awali 100:642bee2ce173 113 MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
awali 100:642bee2ce173 114
awali 100:642bee2ce173 115 data.MQTTVersion = 3;
awali 100:642bee2ce173 116
shamajin 101:bd874520ab00 117 data.clientID.cstring = "mqtt-timur_shamigulov-blrz5n";
awali 100:642bee2ce173 118
shamajin 101:bd874520ab00 119 data.username.cstring = "shama";
mbed_official 0:857719181846 120
shamajin 101:bd874520ab00 121 data.password.cstring = "123";
awali 100:642bee2ce173 122
awali 100:642bee2ce173 123 if ((rc = client.connect(data)) != 0)
awali 100:642bee2ce173 124
awali 100:642bee2ce173 125 printf("rc from MQTT connect is %d\r\n", rc);
mbed_official 67:ebff4a8d228d 126
awali 100:642bee2ce173 127
awali 100:642bee2ce173 128
awali 100:642bee2ce173 129
awali 100:642bee2ce173 130
awali 100:642bee2ce173 131 //{clientId:"vali_client_id",userName:"vali_user_name",password:"fkQiW3AJFcM38ED"}
awali 100:642bee2ce173 132
awali 100:642bee2ce173 133
awali 100:642bee2ce173 134
awali 100:642bee2ce173 135
mbed_official 0:857719181846 136
shamajin 101:bd874520ab00 137
shamajin 101:bd874520ab00 138 printf("Demo concluded successfully \r\n");
shamajin 101:bd874520ab00 139
shamajin 101:bd874520ab00 140
shamajin 101:bd874520ab00 141
shamajin 101:bd874520ab00 142
shamajin 101:bd874520ab00 143 // Readdatchink_lcd_and_publish_.attach(&Readdatchink_lcd_and_publish, 5);
shamajin 101:bd874520ab00 144 while (true)
shamajin 101:bd874520ab00 145 {
shamajin 101:bd874520ab00 146
shamajin 101:bd874520ab00 147 wait_us(1000);
shamajin 101:bd874520ab00 148
shamajin 101:bd874520ab00 149
awali 100:642bee2ce173 150 MQTT::Message message;
awali 100:642bee2ce173 151
shamajin 101:bd874520ab00 152 char *topic = "distance";
awali 100:642bee2ce173 153
awali 100:642bee2ce173 154 char buf[100];
mbed_official 71:a0fbcc153b55 155
awali 100:642bee2ce173 156 int temp = 33;
awali 100:642bee2ce173 157
awali 100:642bee2ce173 158 int press = 2;
awali 100:642bee2ce173 159
awali 100:642bee2ce173 160 int hum = 3;
awali 100:642bee2ce173 161
awali 100:642bee2ce173 162 // sprintf(buf,
awali 100:642bee2ce173 163
awali 100:642bee2ce173 164 // "{\"d\":{\"ST\":\"Nucleo-IoT-mbed\",\"Temp\":%d,\"Pressure\":"
awali 100:642bee2ce173 165
awali 100:642bee2ce173 166 // "%d,\"Humidity\":%d}}", temp, press, hum);
awali 100:642bee2ce173 167
awali 100:642bee2ce173 168 // sprintf(buf,
awali 100:642bee2ce173 169
awali 100:642bee2ce173 170 // "{\"temperature\": %d}", temp);
awali 100:642bee2ce173 171 sprintf(buf,
awali 100:642bee2ce173 172
shamajin 101:bd874520ab00 173 "\%d", distance);
shamajin 101:bd874520ab00 174
shamajin 101:bd874520ab00 175 // sprintf(buf,
shamajin 101:bd874520ab00 176
shamajin 101:bd874520ab00 177 // "{\"distance\": %d}", distance);
awali 100:642bee2ce173 178
awali 100:642bee2ce173 179
mbed_official 0:857719181846 180
awali 100:642bee2ce173 181 printf("Sending message: \n%s\n", buf);
awali 100:642bee2ce173 182
awali 100:642bee2ce173 183 message.qos = MQTT::QOS0;
awali 100:642bee2ce173 184
awali 100:642bee2ce173 185 message.retained = false;
awali 100:642bee2ce173 186
awali 100:642bee2ce173 187 message.dup = false;
awali 100:642bee2ce173 188
awali 100:642bee2ce173 189 message.payload = (void *)buf;
mbed_official 0:857719181846 190
awali 100:642bee2ce173 191 message.payloadlen = strlen(buf);
awali 100:642bee2ce173 192
shamajin 101:bd874520ab00 193 rc = client.publish(topic, message);
awali 100:642bee2ce173 194
awali 100:642bee2ce173 195 printf("Message sent\n");
shamajin 101:bd874520ab00 196
shamajin 101:bd874520ab00 197
shamajin 101:bd874520ab00 198
shamajin 101:bd874520ab00 199 }
mbed_official 0:857719181846 200
shamajin 101:bd874520ab00 201 return 0;
shamajin 101:bd874520ab00 202
shamajin 101:bd874520ab00 203 }
shamajin 101:bd874520ab00 204 void Readdatchink_lcd_and_publish()
shamajin 101:bd874520ab00 205
shamajin 101:bd874520ab00 206 {
shamajin 101:bd874520ab00 207 long distance = sensor.distance();
mbed_official 0:857719181846 208
shamajin 101:bd874520ab00 209 /* EXAMPLE */
shamajin 101:bd874520ab00 210
shamajin 101:bd874520ab00 211 // printf("distance %d \n",distance);
shamajin 101:bd874520ab00 212 char buffer [15];
shamajin 101:bd874520ab00 213 sprintf (buffer, "Water level %d", distance);
shamajin 101:bd874520ab00 214 // initialize the LCD
shamajin 101:bd874520ab00 215 lcd.begin();
shamajin 101:bd874520ab00 216
shamajin 101:bd874520ab00 217
shamajin 101:bd874520ab00 218 // initialize the LCD
shamajin 101:bd874520ab00 219 // lcd.begin();
shamajin 101:bd874520ab00 220
shamajin 101:bd874520ab00 221 // Turn on the blacklight and print a message.
shamajin 101:bd874520ab00 222 lcd.backlight();
shamajin 101:bd874520ab00 223 lcd.print(buffer);
shamajin 101:bd874520ab00 224 wait_us(1000);
shamajin 101:bd874520ab00 225
shamajin 101:bd874520ab00 226
shamajin 101:bd874520ab00 227
shamajin 101:bd874520ab00 228
shamajin 101:bd874520ab00 229 }
awali 100:642bee2ce173 230
awali 100:642bee2ce173 231