Filip Babic 2020/0511
Dependencies: Adafruit_GFX 19E042PIM_MB_PINS
main.cpp@2:bcdecb244887, 2021-12-11 (annotated)
- 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?
User | Revision | Line number | New 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 | } |