1

Dependencies:   HCSR04 LiquidCrystal_I2C_for_Nucleo

Files at this revision

API Documentation at this revision

Comitter:
awali
Date:
Thu Jan 13 06:24:01 2022 +0000
Parent:
99:86dca48315d8
Commit message:
1

Changed in this revision

HCSR04.lib Show annotated file Show diff for this revision Revisions of this file
LiquidCrystal_I2C_for_Nucleo.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-mqtt.lib Show annotated file Show diff for this revision Revisions of this file
mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
mbed_app.json Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HCSR04.lib	Thu Jan 13 06:24:01 2022 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/antoniolinux/code/HCSR04/#86b2086be101
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LiquidCrystal_I2C_for_Nucleo.lib	Thu Jan 13 06:24:01 2022 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/Yar/code/LiquidCrystal_I2C_for_Nucleo/#824096cc05af
--- a/main.cpp	Tue Oct 08 14:00:11 2019 +0100
+++ b/main.cpp	Thu Jan 13 06:24:01 2022 +0000
@@ -1,112 +1,194 @@
-/* WiFi Example
- * Copyright (c) 2016 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/* EXAMPLE */
+#include "mbed.h"
+#include "hcsr04.h"
+
+//D12 TRIGGER D11 ECHO
+HCSR04 sensor(D12, D11);
+
+
+
+#include "MQTTmbed.h"
+
+#include <MQTTClientMbedOs.h>
+
+#include <cstdio>
+
 
 #include "mbed.h"
+#include <LiquidCrystal_I2C.h>
 
-WiFiInterface *wifi;
+// Set the LCD address to 0x27 for a 16 chars and 2 line display
+LiquidCrystal_I2C lcd(0x4E, 16, 2);
+ 
+
+int main(int argc, char *argv[])
+ {
+   
+   /* EXAMPLE */
+ long distance = sensor.distance();   
+      printf("distance  %d  \n",distance);
+    // initialize the LCD
+    lcd.begin();
+     
+      
+    // initialize the LCD
+    lcd.begin();
 
-const char *sec2str(nsapi_security_t sec)
-{
-    switch (sec) {
-        case NSAPI_SECURITY_NONE:
-            return "None";
-        case NSAPI_SECURITY_WEP:
-            return "WEP";
-        case NSAPI_SECURITY_WPA:
-            return "WPA";
-        case NSAPI_SECURITY_WPA2:
-            return "WPA2";
-        case NSAPI_SECURITY_WPA_WPA2:
-            return "WPA/WPA2";
-        case NSAPI_SECURITY_UNKNOWN:
-        default:
-            return "Unknown";
-    }
-}
+    // Turn on the blacklight and print a message.
+    lcd.backlight();
+    lcd.print("Hello, world!");
+    
+    
+    
+//lcd.printf("Hi mbed World!\n");
+
+ printf("Starting IBM MQTT demo:\n");
+
+ 
+
+ TCPSocket socket;
+
+ NetworkInterface *net = NetworkInterface::get_default_instance();
+
+ if (!net) {
+
+   printf("Error! No network inteface found.\n");
+
+   return 0;
+
+ }
 
-int scan_demo(WiFiInterface *wifi)
-{
-    WiFiAccessPoint *ap;
+ printf("Connecting to the network...\r\n");
+
+ 
+
+ nsapi_size_or_error_t rc = net->connect();
+
+ if (rc != 0) {
+
+   printf("Error! _net->connect() returned: %d\r\n", rc);
 
-    printf("Scan:\n");
+   return -1;
+
+ }
+
+ 
 
-    int count = wifi->scan(NULL,0);
+ rc = socket.open(net);
+
+ if (rc != 0) {
+
+   printf("Error! _socket.open() returned: %d\r\n", rc);
 
-    if (count <= 0) {
-        printf("scan() failed with return value: %d\n", count);
-        return 0;
-    }
+   return -1;
+
+ }
+
+ 
 
-    /* Limit number of network arbitrary to 15 */
-    count = count < 15 ? count : 15;
+ SocketAddress address;
+
+ net->gethostbyname("dev.rightech.io",
+
+                    &address);
 
-    ap = new WiFiAccessPoint[count];
-    count = wifi->scan(ap, count);
+ address.set_port(1883);
+
+ 
+
+ printf("Opening connection to remote %s port %d\r\n",
 
-    if (count <= 0) {
-        printf("scan() failed with return value: %d\n", count);
-        return 0;
-    }
+        address.get_ip_address(), address.get_port());
+
+ rc = socket.connect(address);
+
+ if (rc != 0) {
 
-    for (int i = 0; i < count; i++) {
-        printf("Network: %s secured: %s BSSID: %hhX:%hhX:%hhX:%hhx:%hhx:%hhx RSSI: %hhd Ch: %hhd\n", ap[i].get_ssid(),
-               sec2str(ap[i].get_security()), ap[i].get_bssid()[0], ap[i].get_bssid()[1], ap[i].get_bssid()[2],
-               ap[i].get_bssid()[3], ap[i].get_bssid()[4], ap[i].get_bssid()[5], ap[i].get_rssi(), ap[i].get_channel());
-    }
-    printf("%d networks available.\n", count);
+   printf("Error! _socket.connect() returned: %d\r\n", rc);
+
+   return -1;
+
+ }
+
+ printf("Connected socket\n");
+
+ 
 
-    delete[] ap;
-    return count;
-}
+ MQTTClient client(&socket);
+
+ MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
+
+ data.MQTTVersion = 3;
+
+ data.clientID.cstring = "ric-demo-room-device-my";
+
+ data.username.cstring = "111";
 
-int main()
-{
-    printf("WiFi example\n");
+ data.password.cstring = "Здравствуйте Раиля Хурматовна!";
+
+ if ((rc = client.connect(data)) != 0)
+
+   printf("rc from MQTT connect is %d\r\n", rc);
 
-#ifdef MBED_MAJOR_VERSION
-    printf("Mbed OS version %d.%d.%d\n\n", MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION);
-#endif
+ 
+ 
+ 
+ 
+ 
+ 
+  
+ 
 
-    wifi = WiFiInterface::get_default_instance();
-    if (!wifi) {
-        printf("ERROR: No WiFiInterface found.\n");
-        return -1;
-    }
+ MQTT::Message message;
+
+ char *topic = "temp";
+
+ char buf[100];
+
+ int temp = 30;
 
-    int count = scan_demo(wifi);
-    if (count == 0) {
-        printf("No WIFI APs found - can't continue further.\n");
-        return -1;
-    }
+ int press = 2;
+
+ int hum = 3;
+
+ //sprintf(buf,
+
+ //        "{\"d\":{\"ST\":\"Nucleo-IoT-mbed\",\"Temp\":%d,\"Pressure\":"
+
+//         "%d,\"Humidity\":%d}}", temp, press, hum);
+
+ //sprintf(buf,
+
+ //        "{\"temperature\":  %d}", temp);
+         
+ //       sprintf(buf,
+
+  //      "{\"distance\":  %d}", distance);
+
+
+ sprintf(buf,
+       " %d", temp);
+
 
-    printf("\nConnecting to %s...\n", MBED_CONF_APP_WIFI_SSID);
-    int ret = wifi->connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, NSAPI_SECURITY_WPA_WPA2);
-    if (ret != 0) {
-        printf("\nConnection error: %d\n", ret);
-        return -1;
-    }
+ printf("Sending message: \n%s\n", buf);
+
+ message.qos = MQTT::QOS0;
+
+ message.retained = false;
+
+ message.dup = false;
+
+ message.payload = (void *)buf;
 
-    printf("Success\n\n");
-    printf("MAC: %s\n", wifi->get_mac_address());
-    printf("IP: %s\n", wifi->get_ip_address());
-    printf("Netmask: %s\n", wifi->get_netmask());
-    printf("Gateway: %s\n", wifi->get_gateway());
-    printf("RSSI: %d\n\n", wifi->get_rssi());
+ message.payloadlen = strlen(buf);
+
+ rc = client.publish(topic, message);
+
+ printf("Message sent\n");
 
-    wifi->disconnect();
+ printf("Demo concluded successfully \r\n");
 
-    printf("\nDone\n");
-}
+ 
+
+ return 0;
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-mqtt.lib	Thu Jan 13 06:24:01 2022 +0000
@@ -0,0 +1,1 @@
+https://github.com/ARMmbed/mbed-mqtt/#c0cc24610a38b45608a54096d3ec08d24f2fdc46
--- a/mbed-os.lib	Tue Oct 08 14:00:11 2019 +0100
+++ b/mbed-os.lib	Thu Jan 13 06:24:01 2022 +0000
@@ -1,1 +1,1 @@
-https://github.com/ARMmbed/mbed-os/#b6e5a0a8afa34dec9dae8963778aebce0c82a54b
+https://github.com/ARMmbed/mbed-os/#b1796dedeb8accde1cbaecf136fab96895e23d81
--- a/mbed_app.json	Tue Oct 08 14:00:11 2019 +0100
+++ b/mbed_app.json	Thu Jan 13 06:24:01 2022 +0000
@@ -1,17 +1,28 @@
 {
     "config": {
-        "wifi-ssid": {
-            "help": "WiFi SSID",
-            "value": "\"SSID\""
+        "hostname": {
+            "help": "The demo will try to connect to this web address on port 80 (or port 443 when using tls).",
+            "value": "\"ifconfig.io\""
         },
-        "wifi-password": {
-            "help": "WiFi Password",
-            "value": "\"PASSWORD\""
+        "use-tls-socket": {
+            "value": false
+        },
+        "socket-bufsize": {
+            "help": "Max socket data heap usage",
+            "value": "1024"
         }
     },
     "target_overrides": {
         "*": {
-            "platform.stdio-convert-newlines": true
+            "target.network-default-interface-type": "WIFI",
+            "nsapi.default-wifi-security": "WPA_WPA2",
+            "nsapi.default-wifi-ssid": "\"Galaxy A32\"",
+            "nsapi.default-wifi-password": "\"77777777\"",
+            "esp8266.tx": "D8",
+            "esp8266.rx": "D2",
+            "esp8266.socket-bufsize": "1024",
+            "esp8266.debug": false,
+            "esp8266.provide-default" : true
         }
     }
 }