laskee ihmisiä

Dependencies:   Adafruit-GFX-MbedOS6 Adafruit_SSD1331_MbedOS6

main.cpp

Committer:
koodimuikku
Date:
2020-10-07
Revision:
3:55afdc7fb4f2
Parent:
2:4fcb4138083d
Child:
4:a814f6735023

File content as of revision 3:55afdc7fb4f2:

#include "mbed.h"
#include "ESP8266Interface.h"
#include <MQTTClientMbedOs.h>

//Miten pistän kiinni

//sensori
//r = virta 5v
//b = ground
//w = D6

//wifi
//L432KC D5=PB6=UART1TX --- 3 RXD
//L432KC D4=PB7=UART1RX --- 4 TXD
//L432KC 3V3 --- 1 3.3V
//L432KC GND --- 2 GND

DigitalOut led1(LED1);
InterruptIn alarm(D6, PullUp);


int main() {  

//Tästä alkaa sensori sensuroinnit
    
    while(true) {
        if (alarm){
            led1=1;
            printf("Toimii! Jippii! \r\n");
        }
        else
            led1=0;
    }

//Tästä alkaa wifi ja mqtt hörjöilyt
ESP8266Interface esp(MBED_CONF_APP_ESP_TX_PIN, MBED_CONF_APP_ESP_RX_PIN);
    
    //Store device IP
    SocketAddress deviceIP;
    //Store broker IP
    SocketAddress MQTTBroker;
    
    TCPSocket socket;
    MQTTClient client(&socket);
    
    int ret = esp.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, NSAPI_SECURITY_WPA_WPA2);
    

    esp.get_ip_address(&deviceIP);
    
    esp.gethostbyname(MBED_CONF_APP_MQTT_BROKER_HOSTNAME, &MQTTBroker);
    MQTTBroker.set_port(MBED_CONF_APP_MQTT_BROKER_PORT);

    MQTTPacket_connectData data = MQTTPacket_connectData_initializer;       
    data.MQTTVersion = 3;
    char *id = MBED_CONF_APP_MQTT_ID;
    data.clientID.cstring = id;
    
    char buffer[64];
    sprintf(buffer, "TykkäänMuikuista");
    

    MQTT::Message msg;
    msg.qos = MQTT::QOS0;
    msg.retained = false;
    msg.dup = false;
    msg.payload = (void*)buffer;
    msg.payloadlen = strlen(buffer);

    socket.open(&esp);
    socket.connect(MQTTBroker);
    client.connect(data);

    while (true) {
    client.publish(MBED_CONF_APP_MQTT_TOPIC, msg);
    ThisThread::sleep_for(30000);
    }
    client.yield(100);
    client.disconnect();
    
//Tähän loppuu wifi ja mqtt hörhöily
}