#include #include #include #define DHTPIN 2 #define DHTTYPE DHT11 DHT_Unified dht(DHTPIN, DHTTYPE); #define sigfox Serial1 int tem; int hum; void setup() { Serial.begin(9600); sigfox.begin(9600); dht.begin(); sensor_t sensor; pinMode(13, OUTPUT); } void loop() { while (Serial.available()) { char c = Serial.read(); if (c == '1') { if (sendMessage()) { Serial.println("Message sent successfully!"); } else { Serial.println("The message was not sent!"); } } } sensors_event_t event; dht.temperature().getEvent(&event); tem = 100 * event.temperature; dht.humidity().getEvent(&event); hum = event.relative_humidity; Serial.println(tem); Serial.println(hum); delay(2000); } bool sendMessage() { bool retval = false; digitalWrite(13, HIGH); uint8_t message[4]; long start = millis(); char hexBajt[3]; memcpy(&message[0], &tem, 2); memcpy(&message[2], &hum, 2); Serial.println("Sending message..."); sigfox.print("AT$SF="); for (int i = 0; i < sizeof(message); i++) { sprintf(hexBajt, "%02X", message[i]); sigfox.print(hexBajt); } sigfox.print("\r"); while (!sigfox.available()) { if ((millis() - start) > 30000) { digitalWrite(13, LOW); return false; } } while (sigfox.available()) { digitalWrite(13, LOW); char answer = sigfox.read(); if (answer == 'O') retval = true; } return retval; }