laskee ihmisiä
Dependencies: Adafruit-GFX-MbedOS6 Adafruit_SSD1331_MbedOS6
main.cpp@7:d6cbb33f21fd, 2020-10-18 (annotated)
- Committer:
- koodimuikku
- Date:
- Sun Oct 18 16:18:08 2020 +0000
- Revision:
- 7:d6cbb33f21fd
- Parent:
- 6:e5fdc96a8310
- Child:
- 8:5aa78bacd78f
Ledinayttotoimii
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
koodimuikku | 0:8d549d45642e | 1 | #include "mbed.h" |
koodimuikku | 3:55afdc7fb4f2 | 2 | #include "ESP8266Interface.h" |
koodimuikku | 3:55afdc7fb4f2 | 3 | #include <MQTTClientMbedOs.h> |
koodimuikku | 7:d6cbb33f21fd | 4 | #include "Adafruit_SSD1331.h" |
koodimuikku | 7:d6cbb33f21fd | 5 | #include "Adafruit_GFX.h" |
vaeries | 6:e5fdc96a8310 | 6 | |
koodimuikku | 3:55afdc7fb4f2 | 7 | //Miten pistän kiinni |
vaeries | 6:e5fdc96a8310 | 8 | |
koodimuikku | 3:55afdc7fb4f2 | 9 | //sensori |
koodimuikku | 3:55afdc7fb4f2 | 10 | //r = virta 5v |
koodimuikku | 3:55afdc7fb4f2 | 11 | //b = ground |
koodimuikku | 3:55afdc7fb4f2 | 12 | //w = D6 |
vaeries | 6:e5fdc96a8310 | 13 | |
koodimuikku | 3:55afdc7fb4f2 | 14 | //wifi |
koodimuikku | 3:55afdc7fb4f2 | 15 | //L432KC D5=PB6=UART1TX --- 3 RXD |
koodimuikku | 3:55afdc7fb4f2 | 16 | //L432KC D4=PB7=UART1RX --- 4 TXD |
koodimuikku | 3:55afdc7fb4f2 | 17 | //L432KC 3V3 --- 1 3.3V |
koodimuikku | 3:55afdc7fb4f2 | 18 | //L432KC GND --- 2 GND |
vaeries | 6:e5fdc96a8310 | 19 | |
koodimuikku | 0:8d549d45642e | 20 | DigitalOut led1(LED1); |
koodimuikku | 3:55afdc7fb4f2 | 21 | InterruptIn alarm(D6, PullUp); |
koodimuikku | 7:d6cbb33f21fd | 22 | Adafruit_SSD1331 OLED(D9, D8, D10, D11, NC, D13); |
koodimuikku | 7:d6cbb33f21fd | 23 | DigitalOut VCCEN(D3); |
koodimuikku | 7:d6cbb33f21fd | 24 | DigitalOut PMODEN(D5); |
koodimuikku | 7:d6cbb33f21fd | 25 | #define Black 0x0000 |
koodimuikku | 7:d6cbb33f21fd | 26 | #define Blue 0x001F |
koodimuikku | 7:d6cbb33f21fd | 27 | #define Red 0xF800 |
koodimuikku | 7:d6cbb33f21fd | 28 | #define Green 0x07E0 |
koodimuikku | 7:d6cbb33f21fd | 29 | #define Cyan 0x07FF |
koodimuikku | 7:d6cbb33f21fd | 30 | #define Magenta 0xF81F |
koodimuikku | 7:d6cbb33f21fd | 31 | #define Yellow 0xFFE0 |
koodimuikku | 7:d6cbb33f21fd | 32 | #define White 0xFFFF |
vaeries | 6:e5fdc96a8310 | 33 | |
vaeries | 6:e5fdc96a8310 | 34 | |
koodimuikku | 4:a814f6735023 | 35 | int main() { |
koodimuikku | 0:8d549d45642e | 36 | |
koodimuikku | 4:a814f6735023 | 37 | //Tästä alkaa wifi ja mqtt hörjöilyt |
koodimuikku | 4:a814f6735023 | 38 | |
koodimuikku | 4:a814f6735023 | 39 | ESP8266Interface esp(MBED_CONF_APP_ESP_TX_PIN, MBED_CONF_APP_ESP_RX_PIN); |
koodimuikku | 3:55afdc7fb4f2 | 40 | |
koodimuikku | 3:55afdc7fb4f2 | 41 | //Store device IP |
koodimuikku | 3:55afdc7fb4f2 | 42 | SocketAddress deviceIP; |
koodimuikku | 3:55afdc7fb4f2 | 43 | //Store broker IP |
koodimuikku | 3:55afdc7fb4f2 | 44 | SocketAddress MQTTBroker; |
koodimuikku | 3:55afdc7fb4f2 | 45 | |
koodimuikku | 3:55afdc7fb4f2 | 46 | TCPSocket socket; |
koodimuikku | 3:55afdc7fb4f2 | 47 | MQTTClient client(&socket); |
koodimuikku | 3:55afdc7fb4f2 | 48 | |
koodimuikku | 3:55afdc7fb4f2 | 49 | int ret = esp.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, NSAPI_SECURITY_WPA_WPA2); |
koodimuikku | 3:55afdc7fb4f2 | 50 | |
koodimuikku | 3:55afdc7fb4f2 | 51 | esp.get_ip_address(&deviceIP); |
koodimuikku | 3:55afdc7fb4f2 | 52 | |
koodimuikku | 3:55afdc7fb4f2 | 53 | esp.gethostbyname(MBED_CONF_APP_MQTT_BROKER_HOSTNAME, &MQTTBroker); |
koodimuikku | 3:55afdc7fb4f2 | 54 | MQTTBroker.set_port(MBED_CONF_APP_MQTT_BROKER_PORT); |
vaeries | 6:e5fdc96a8310 | 55 | |
koodimuikku | 3:55afdc7fb4f2 | 56 | MQTTPacket_connectData data = MQTTPacket_connectData_initializer; |
koodimuikku | 3:55afdc7fb4f2 | 57 | data.MQTTVersion = 3; |
koodimuikku | 3:55afdc7fb4f2 | 58 | char *id = MBED_CONF_APP_MQTT_ID; |
koodimuikku | 3:55afdc7fb4f2 | 59 | data.clientID.cstring = id; |
koodimuikku | 3:55afdc7fb4f2 | 60 | |
koodimuikku | 3:55afdc7fb4f2 | 61 | char buffer[64]; |
koodimuikku | 3:55afdc7fb4f2 | 62 | sprintf(buffer, "TykkäänMuikuista"); |
koodimuikku | 3:55afdc7fb4f2 | 63 | |
vaeries | 6:e5fdc96a8310 | 64 | |
koodimuikku | 3:55afdc7fb4f2 | 65 | MQTT::Message msg; |
koodimuikku | 3:55afdc7fb4f2 | 66 | msg.qos = MQTT::QOS0; |
koodimuikku | 3:55afdc7fb4f2 | 67 | msg.retained = false; |
koodimuikku | 3:55afdc7fb4f2 | 68 | msg.dup = false; |
koodimuikku | 3:55afdc7fb4f2 | 69 | msg.payload = (void*)buffer; |
koodimuikku | 3:55afdc7fb4f2 | 70 | msg.payloadlen = strlen(buffer); |
vaeries | 6:e5fdc96a8310 | 71 | |
koodimuikku | 3:55afdc7fb4f2 | 72 | socket.open(&esp); |
koodimuikku | 3:55afdc7fb4f2 | 73 | socket.connect(MQTTBroker); |
koodimuikku | 4:a814f6735023 | 74 | client.connect(data); |
koodimuikku | 7:d6cbb33f21fd | 75 | |
koodimuikku | 7:d6cbb33f21fd | 76 | //Tässtä led näyttö alku |
koodimuikku | 7:d6cbb33f21fd | 77 | OLED.begin(); |
koodimuikku | 7:d6cbb33f21fd | 78 | OLED.clearScreen(); |
koodimuikku | 7:d6cbb33f21fd | 79 | OLED.fillScreen(Black); |
koodimuikku | 7:d6cbb33f21fd | 80 | OLED.setTextColor(Cyan); |
koodimuikku | 7:d6cbb33f21fd | 81 | OLED.setCursor(0,0); |
vaeries | 6:e5fdc96a8310 | 82 | |
koodimuikku | 4:a814f6735023 | 83 | //Tästä alkaa sensori sensuroinnit |
koodimuikku | 4:a814f6735023 | 84 | |
koodimuikku | 5:fbb8f4417298 | 85 | int counter; |
koodimuikku | 5:fbb8f4417298 | 86 | counter = 0; |
koodimuikku | 5:fbb8f4417298 | 87 | |
koodimuikku | 4:a814f6735023 | 88 | while(true) { |
koodimuikku | 4:a814f6735023 | 89 | if (alarm){ |
koodimuikku | 5:fbb8f4417298 | 90 | counter++; |
koodimuikku | 5:fbb8f4417298 | 91 | printf("Toimii! Jippii! '%d' \r\n", counter); |
koodimuikku | 7:d6cbb33f21fd | 92 | OLED.fillScreen(Black); |
koodimuikku | 7:d6cbb33f21fd | 93 | OLED.setCursor(0,0); |
koodimuikku | 7:d6cbb33f21fd | 94 | OLED.printf("Toimii! Jippii! '%d' \r\n", counter); |
koodimuikku | 4:a814f6735023 | 95 | |
koodimuikku | 4:a814f6735023 | 96 | //Tässä laite lähettää mqtt paketin |
vaeries | 6:e5fdc96a8310 | 97 | |
koodimuikku | 3:55afdc7fb4f2 | 98 | client.publish(MBED_CONF_APP_MQTT_TOPIC, msg); |
koodimuikku | 7:d6cbb33f21fd | 99 | //client.yield(100); |
koodimuikku | 3:55afdc7fb4f2 | 100 | client.disconnect(); |
koodimuikku | 4:a814f6735023 | 101 | } |
koodimuikku | 4:a814f6735023 | 102 | } |
koodimuikku | 0:8d549d45642e | 103 | } |