laskee ihmisiä
Dependencies: Adafruit-GFX-MbedOS6 Adafruit_SSD1331_MbedOS6
main.cpp@3:55afdc7fb4f2, 2020-10-07 (annotated)
- 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?
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 | 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 | } |