laskee ihmisiä

Dependencies:   Adafruit-GFX-MbedOS6 Adafruit_SSD1331_MbedOS6

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?

UserRevisionLine numberNew 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 }