laskee ihmisiä

Dependencies:   Adafruit-GFX-MbedOS6 Adafruit_SSD1331_MbedOS6

Committer:
koodimuikku
Date:
Wed Oct 07 10:47:30 2020 +0000
Revision:
3:55afdc7fb4f2
Parent:
2:4fcb4138083d
Child:
4:a814f6735023
Lisatty mqtt Ei toimi samaan sensorin while loopin kanssa

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 3:55afdc7fb4f2 4
koodimuikku 3:55afdc7fb4f2 5 //Miten pistän kiinni
koodimuikku 3:55afdc7fb4f2 6
koodimuikku 3:55afdc7fb4f2 7 //sensori
koodimuikku 3:55afdc7fb4f2 8 //r = virta 5v
koodimuikku 3:55afdc7fb4f2 9 //b = ground
koodimuikku 3:55afdc7fb4f2 10 //w = D6
koodimuikku 3:55afdc7fb4f2 11
koodimuikku 3:55afdc7fb4f2 12 //wifi
koodimuikku 3:55afdc7fb4f2 13 //L432KC D5=PB6=UART1TX --- 3 RXD
koodimuikku 3:55afdc7fb4f2 14 //L432KC D4=PB7=UART1RX --- 4 TXD
koodimuikku 3:55afdc7fb4f2 15 //L432KC 3V3 --- 1 3.3V
koodimuikku 3:55afdc7fb4f2 16 //L432KC GND --- 2 GND
koodimuikku 0:8d549d45642e 17
koodimuikku 0:8d549d45642e 18 DigitalOut led1(LED1);
koodimuikku 3:55afdc7fb4f2 19 InterruptIn alarm(D6, PullUp);
koodimuikku 3:55afdc7fb4f2 20
koodimuikku 0:8d549d45642e 21
koodimuikku 0:8d549d45642e 22 int main() {
koodimuikku 3:55afdc7fb4f2 23
koodimuikku 3:55afdc7fb4f2 24 //Tästä alkaa sensori sensuroinnit
koodimuikku 0:8d549d45642e 25
koodimuikku 3:55afdc7fb4f2 26 while(true) {
koodimuikku 0:8d549d45642e 27 if (alarm){
koodimuikku 0:8d549d45642e 28 led1=1;
koodimuikku 2:4fcb4138083d 29 printf("Toimii! Jippii! \r\n");
koodimuikku 0:8d549d45642e 30 }
koodimuikku 0:8d549d45642e 31 else
koodimuikku 0:8d549d45642e 32 led1=0;
koodimuikku 0:8d549d45642e 33 }
koodimuikku 3:55afdc7fb4f2 34
koodimuikku 3:55afdc7fb4f2 35 //Tästä alkaa wifi ja mqtt hörjöilyt
koodimuikku 3:55afdc7fb4f2 36 ESP8266Interface esp(MBED_CONF_APP_ESP_TX_PIN, MBED_CONF_APP_ESP_RX_PIN);
koodimuikku 3:55afdc7fb4f2 37
koodimuikku 3:55afdc7fb4f2 38 //Store device IP
koodimuikku 3:55afdc7fb4f2 39 SocketAddress deviceIP;
koodimuikku 3:55afdc7fb4f2 40 //Store broker IP
koodimuikku 3:55afdc7fb4f2 41 SocketAddress MQTTBroker;
koodimuikku 3:55afdc7fb4f2 42
koodimuikku 3:55afdc7fb4f2 43 TCPSocket socket;
koodimuikku 3:55afdc7fb4f2 44 MQTTClient client(&socket);
koodimuikku 3:55afdc7fb4f2 45
koodimuikku 3:55afdc7fb4f2 46 int ret = esp.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, NSAPI_SECURITY_WPA_WPA2);
koodimuikku 3:55afdc7fb4f2 47
koodimuikku 3:55afdc7fb4f2 48
koodimuikku 3:55afdc7fb4f2 49 esp.get_ip_address(&deviceIP);
koodimuikku 3:55afdc7fb4f2 50
koodimuikku 3:55afdc7fb4f2 51 esp.gethostbyname(MBED_CONF_APP_MQTT_BROKER_HOSTNAME, &MQTTBroker);
koodimuikku 3:55afdc7fb4f2 52 MQTTBroker.set_port(MBED_CONF_APP_MQTT_BROKER_PORT);
koodimuikku 3:55afdc7fb4f2 53
koodimuikku 3:55afdc7fb4f2 54 MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
koodimuikku 3:55afdc7fb4f2 55 data.MQTTVersion = 3;
koodimuikku 3:55afdc7fb4f2 56 char *id = MBED_CONF_APP_MQTT_ID;
koodimuikku 3:55afdc7fb4f2 57 data.clientID.cstring = id;
koodimuikku 3:55afdc7fb4f2 58
koodimuikku 3:55afdc7fb4f2 59 char buffer[64];
koodimuikku 3:55afdc7fb4f2 60 sprintf(buffer, "TykkäänMuikuista");
koodimuikku 3:55afdc7fb4f2 61
koodimuikku 3:55afdc7fb4f2 62
koodimuikku 3:55afdc7fb4f2 63 MQTT::Message msg;
koodimuikku 3:55afdc7fb4f2 64 msg.qos = MQTT::QOS0;
koodimuikku 3:55afdc7fb4f2 65 msg.retained = false;
koodimuikku 3:55afdc7fb4f2 66 msg.dup = false;
koodimuikku 3:55afdc7fb4f2 67 msg.payload = (void*)buffer;
koodimuikku 3:55afdc7fb4f2 68 msg.payloadlen = strlen(buffer);
koodimuikku 3:55afdc7fb4f2 69
koodimuikku 3:55afdc7fb4f2 70 socket.open(&esp);
koodimuikku 3:55afdc7fb4f2 71 socket.connect(MQTTBroker);
koodimuikku 3:55afdc7fb4f2 72 client.connect(data);
koodimuikku 3:55afdc7fb4f2 73
koodimuikku 3:55afdc7fb4f2 74 while (true) {
koodimuikku 3:55afdc7fb4f2 75 client.publish(MBED_CONF_APP_MQTT_TOPIC, msg);
koodimuikku 3:55afdc7fb4f2 76 ThisThread::sleep_for(30000);
koodimuikku 3:55afdc7fb4f2 77 }
koodimuikku 3:55afdc7fb4f2 78 client.yield(100);
koodimuikku 3:55afdc7fb4f2 79 client.disconnect();
koodimuikku 3:55afdc7fb4f2 80
koodimuikku 3:55afdc7fb4f2 81 //Tähän loppuu wifi ja mqtt hörhöily
koodimuikku 0:8d549d45642e 82 }