87ty78ot7iyu

Dependencies:   HCSR04

Revision:
100:818629f882ab
Parent:
91:dab9882e2b49
--- a/main.cpp	Tue Oct 08 14:00:11 2019 +0100
+++ b/main.cpp	Thu Nov 17 10:40:53 2022 +0000
@@ -1,112 +1,65 @@
-/* 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.
- */
-
+#include "MQTTmbed.h"
+#include <MQTTClientMbedOs.h>
+#include <cstdio> 
 #include "mbed.h"
-
-WiFiInterface *wifi;
-
-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";
-    }
-}
-
-int scan_demo(WiFiInterface *wifi)
-{
-    WiFiAccessPoint *ap;
-
-    printf("Scan:\n");
-
-    int count = wifi->scan(NULL,0);
-
-    if (count <= 0) {
-        printf("scan() failed with return value: %d\n", count);
-        return 0;
-    }
-
-    /* Limit number of network arbitrary to 15 */
-    count = count < 15 ? count : 15;
+#include "hcsr04.h"
 
-    ap = new WiFiAccessPoint[count];
-    count = wifi->scan(ap, count);
-
-    if (count <= 0) {
-        printf("scan() failed with return value: %d\n", count);
-        return 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);
-
-    delete[] ap;
-    return count;
-}
-
-int main()
-{
-    printf("WiFi example\n");
-
-#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;
-    }
-
-    int count = scan_demo(wifi);
-    if (count == 0) {
-        printf("No WIFI APs found - can't continue further.\n");
-        return -1;
-    }
-
-    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("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());
-
-    wifi->disconnect();
-
-    printf("\nDone\n");
-}
+ int main(int argc, char *argv[]) {
+ long distance = sensor.distance(); 
+ long distanza =  distance;
+ printf("distanza  %d  \n",distanza);
+ printf("Starting IBM MQTT demo:\n");
+ TCPSocket socket;
+ NetworkInterface *net = NetworkInterface::get_default_instance();
+ if (!net) {
+   printf("Error! No 11network inteface11 found.\n");
+   return 0; }
+ 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);
+   return -1; }
+ rc = socket.open(net);
+ if (rc != 0) {
+   printf("Error! _socket.open() returned: %d\r\n", rc);
+   return -1; }
+ SocketAddress address;
+ net->gethostbyname("dev.rightech.io",
+                    &address);
+ address.set_port(1883);
+ printf("Opening connection to remote %s port %d\r\n",
+        address.get_ip_address(), address.get_port());
+ rc = socket.connect(address);
+ if (rc != 0) {
+   printf("Error! _socket.connect() returned: %d\r\n", rc);
+   return -1; }
+ printf("Connected socket\n");
+ MQTTClient client(&socket);
+ MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
+ data.MQTTVersion = 3;
+ data.clientID.cstring = "distanza1";
+ data.username.cstring = "AFAC";
+ data.password.cstring = "As123456";
+ if ((rc = client.connect(data)) != 0)
+   printf("rc from MQTT connect is %d\r\n", rc);
+ MQTT::Message message;
+ char *topic = "ss";
+ char buf[100];
+ int temp = 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,
+            "{\"distanza\": %d}", distanza);
+ printf("Sending message: \n%s\n", buf);
+ message.qos = MQTT::QOS0;
+ message.retained = false;
+ message.dup = false;
+ message.payload = (void *)buf;
+ message.payloadlen = strlen(buf);
+ rc = client.publish(topic, message);
+ printf("Message sent\n");
+ printf("Demo concluded successfully \r\n");
+ return 0; }