Filip Babic 2020/0511

Dependencies:   Adafruit_GFX 19E042PIM_MB_PINS

Committer:
babic_f
Date:
Sat Dec 11 16:18:49 2021 +0000
Revision:
2:bcdecb244887
Parent:
0:82908a60b720
Filip Babic 2020/0511

Who changed what in which revision?

UserRevisionLine numberNew contents of line
babic_f 2:bcdecb244887 1 /*
babic_f 2:bcdecb244887 2 Posto nisam uspeo start stop da uradim, probao sam da ispisujem samo vrednost sa pot 1 na display
babic_f 2:bcdecb244887 3 */
babic_f 2:bcdecb244887 4
filip_ste 0:82908a60b720 5 #include "mb_pins.h"
filip_ste 0:82908a60b720 6 #include "mbed.h"
filip_ste 0:82908a60b720 7 #include "platform/mbed_thread.h"
filip_ste 0:82908a60b720 8 #include "MQTTClientMbedOs.h"
filip_ste 0:82908a60b720 9 #include "Adafruit_GFX.h"
filip_ste 0:82908a60b720 10 #include "Adafruit_GFX_Config.h"
filip_ste 0:82908a60b720 11 #include "Adafruit_SSD1306.h"
filip_ste 0:82908a60b720 12
filip_ste 0:82908a60b720 13
babic_f 2:bcdecb244887 14 #define SMALL_WAIT_MS 10
filip_ste 0:82908a60b720 15 #define I2C_ADDRESS 0x3c
babic_f 2:bcdecb244887 16 #define I2C_ADD_MBED I2C_ADDRESS << 1
babic_f 2:bcdecb244887 17 #define OLED_HEIGHT_PX 64
babic_f 2:bcdecb244887 18 #define OLED_WIDTH_PX 128
filip_ste 0:82908a60b720 19
filip_ste 0:82908a60b720 20 TCPSocket socket;
filip_ste 0:82908a60b720 21 MQTTClient client(&socket);
filip_ste 0:82908a60b720 22 MQTT::Message message;
filip_ste 0:82908a60b720 23 WiFiInterface *wifi;
filip_ste 0:82908a60b720 24
filip_ste 0:82908a60b720 25 I2C i2c_obj(MB_OLED_SDA, MB_OLED_SCL);
filip_ste 0:82908a60b720 26 Adafruit_SSD1306_I2c myOLED(i2c_obj, PB_5, I2C_ADD_MBED, OLED_HEIGHT_PX, OLED_WIDTH_PX);
filip_ste 0:82908a60b720 27
babic_f 2:bcdecb244887 28 // char* topic = "pubpim";
babic_f 2:bcdecb244887 29 // char* topic_sub = "subpim";
babic_f 2:bcdecb244887 30
babic_f 2:bcdecb244887 31 //char* topic = "pubpim"; // Ovde je verovatno greska
babic_f 2:bcdecb244887 32 char* topic_sub = "pubpim";
filip_ste 0:82908a60b720 33 const char* hostname = "broker.hivemq.com";
filip_ste 0:82908a60b720 34 int port = 1883;
filip_ste 0:82908a60b720 35
filip_ste 0:82908a60b720 36
filip_ste 0:82908a60b720 37 void messageArrived(MQTT::MessageData& md)
filip_ste 0:82908a60b720 38 {
filip_ste 0:82908a60b720 39 MQTT::Message &message = md.message;
filip_ste 0:82908a60b720 40 printf("Browser message: %.*s \n", message.payloadlen, (char*)message.payload);
filip_ste 0:82908a60b720 41
filip_ste 0:82908a60b720 42 myOLED.clearDisplay();
filip_ste 0:82908a60b720 43 myOLED.printf("%.*s \r", message.payloadlen, (char*)message.payload);
filip_ste 0:82908a60b720 44 myOLED.display();
filip_ste 0:82908a60b720 45 }
filip_ste 0:82908a60b720 46
filip_ste 0:82908a60b720 47 int main()
filip_ste 0:82908a60b720 48 {
filip_ste 0:82908a60b720 49 wifi = WiFiInterface::get_default_instance();
filip_ste 0:82908a60b720 50
filip_ste 0:82908a60b720 51 printf("Connecting to %s \n",MBED_CONF_APP_WIFI_SSID);
filip_ste 0:82908a60b720 52 int ret = wifi->connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, NSAPI_SECURITY_WPA_WPA2);
filip_ste 0:82908a60b720 53 if(ret != 0){
filip_ste 0:82908a60b720 54 printf("Greska u povezivanju");
filip_ste 0:82908a60b720 55 return -1;
filip_ste 0:82908a60b720 56 }
filip_ste 0:82908a60b720 57 printf("Success\n");
filip_ste 0:82908a60b720 58
filip_ste 0:82908a60b720 59 socket.open(wifi);
filip_ste 0:82908a60b720 60 socket.connect(hostname,port);
filip_ste 0:82908a60b720 61
filip_ste 0:82908a60b720 62 MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
filip_ste 0:82908a60b720 63 data.MQTTVersion = 3;
babic_f 2:bcdecb244887 64 data.clientID.cstring = "FB";
filip_ste 0:82908a60b720 65
filip_ste 0:82908a60b720 66 client.connect(data);
filip_ste 0:82908a60b720 67 client.subscribe(topic_sub, MQTT::QOS0, messageArrived);
filip_ste 0:82908a60b720 68
babic_f 2:bcdecb244887 69 myOLED.begin();
babic_f 2:bcdecb244887 70 i2c_obj.frequency(400000);
filip_ste 0:82908a60b720 71
filip_ste 0:82908a60b720 72 myOLED.clearDisplay();
filip_ste 0:82908a60b720 73 myOLED.display();
filip_ste 0:82908a60b720 74
filip_ste 0:82908a60b720 75
filip_ste 0:82908a60b720 76 while(1) {
filip_ste 0:82908a60b720 77 thread_sleep_for(SMALL_WAIT_MS);
filip_ste 0:82908a60b720 78 client.yield(1000);
filip_ste 0:82908a60b720 79 }
filip_ste 0:82908a60b720 80 }