2019/0408

Dependencies:   mbed-os

Committer:
jovanat
Date:
Mon Jan 17 16:01:28 2022 +0000
Revision:
0:21b40f6bfff0
Jovana Trajkovic 2019/0408

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jovanat 0:21b40f6bfff0 1
jovanat 0:21b40f6bfff0 2 // Uvoz biblioteka
jovanat 0:21b40f6bfff0 3 #include "mbed-os"
jovanat 0:21b40f6bfff0 4 #include "platform/mbed_thread.h"
jovanat 0:21b40f6bfff0 5 #include "MQTTClientMbedOs.h"
jovanat 0:21b40f6bfff0 6
jovanat 0:21b40f6bfff0 7 // Definisanje direktiva
jovanat 0:21b40f6bfff0 8
jovanat 0:21b40f6bfff0 9 #define VOLTAGE_SCALER 3.3f
jovanat 0:21b40f6bfff0 10 #define YIELD_TIMEOUT_MS 1000
jovanat 0:21b40f6bfff0 11 #define MAX_HEIGHT 64
jovanat 0:21b40f6bfff0 12 #define MAX_WIDTH 128
jovanat 0:21b40f6bfff0 13
jovanat 0:21b40f6bfff0 14 // Deklaracija glavnih promenljivih
jovanat 0:21b40f6bfff0 15
jovanat 0:21b40f6bfff0 16 TCPSOcket socket;
jovanat 0:21b40f6bfff0 17 MQTTClient client(&socket);
jovanat 0:21b40f6bfff0 18 MQTT::Message message;
jovanat 0:21b40f6bfff0 19
jovanat 0:21b40f6bfff0 20 WiFiInterface *wifi;
jovanat 0:21b40f6bfff0 21 WiFiAccessPoint *ap = new WiFiAccessPoint[count];
jovanat 0:21b40f6bfff0 22
jovanat 0:21b40f6bfff0 23 Adafruit_SSD1306_I2c myOled(i2c, rst, i2c_adress, height, width);
jovanat 0:21b40f6bfff0 24 I2C i2c(PB_14, PB_13);
jovanat 0:21b40f6bfff0 25 // Pisanje sporednih funkcija
jovanat 0:21b40f6bfff0 26
jovanat 0:21b40f6bfff0 27
jovanat 0:21b40f6bfff0 28
jovanat 0:21b40f6bfff0 29 // Pisanje glavne funkcije
jovanat 0:21b40f6bfff0 30
jovanat 0:21b40f6bfff0 31 int main()
jovanat 0:21b40f6bfff0 32 {
jovanat 0:21b40f6bfff0 33 while(1)
jovanat 0:21b40f6bfff0 34 {
jovanat 0:21b40f6bfff0 35
jovanat 0:21b40f6bfff0 36 wifi = WiFiInterface:;get_default_instance();
jovanat 0:21b40f6bfff0 37
jovanat 0:21b40f6bfff0 38 int count = wifi->scan(NULL, 0);
jovanat 0:21b40f6bfff0 39 count wifi->scan(ap,count);
jovanat 0:21b40f6bfff0 40
jovanat 0:21b40f6bfff0 41 wifi->connect(MBED_CONF_APP_SSID, MBED_CONF_APP_WIFI_PASSWORD,
jovanat 0:21b40f6bfff0 42 NSAPI_SECURITY_WPA_WPA2);
jovanat 0:21b40f6bfff0 43
jovanat 0:21b40f6bfff0 44 socket.open(wifi);
jovanat 0:21b40f6bfff0 45 socket.connect(hostname, port);
jovanat 0:21b40f6bfff0 46
jovanat 0:21b40f6bfff0 47 MQTTPacket_connectData = MQTT_Packet_connectData_initializer;
jovanat 0:21b40f6bfff0 48 data.MQTTVersion = 3;
jovanat 0:21b40f6bfff0 49 data.clientID.cstring = "custom_client_ID";
jovanat 0:21b40f6bfff0 50 client.connect((data));
jovanat 0:21b40f6bfff0 51
jovanat 0:21b40f6bfff0 52 client.subscribe(topic_sub, MQTT::QOS2, messageArrived));
jovanat 0:21b40f6bfff0 53
jovanat 0:21b40f6bfff0 54 char buf[100];
jovanat 0:21b40f6bfff0 55 sprintf(buf, "V(POT1) = %1.2f\r\n", pot1*VOLTAGE_SCALER);
jovanat 0:21b40f6bfff0 56
jovanat 0:21b40f6bfff0 57 message.qos = MQTT::QOS0;
jovanat 0:21b40f6bfff0 58 message.retained = false;
jovanat 0:21b40f6bfff0 59 message.dup + false;
jovanat 0:21b40f6bfff0 60 message.payload = (void*)buf;
jovanat 0:21b40f6bfff0 61 message.payloadlen = strlen(buf)+1;
jovanat 0:21b40f6bfff0 62 client.publish(topic, message);
jovanat 0:21b40f6bfff0 63
jovanat 0:21b40f6bfff0 64 client.yield(YIELD_TIMEOUT_MS);
jovanat 0:21b40f6bfff0 65
jovanat 0:21b40f6bfff0 66
jovanat 0:21b40f6bfff0 67
jovanat 0:21b40f6bfff0 68 }
jovanat 0:21b40f6bfff0 69
jovanat 0:21b40f6bfff0 70
jovanat 0:21b40f6bfff0 71 }