TX
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include "DHT.h" #include <RH_ASK.h> #include <SPI.h> struct dataStructure { byte id; float temperature ; float humidity ; }; typedef struct dataStructure Package; Package data; RH_ASK radioDriver; DHT dht(2, 11); void setup() { Serial.begin(9600); radioDriver.init(); dht.begin(); } void loop() { delay(3000); data.id = 1; data.temperature = dht.readTemperature(); data.humidity = dht.readHumidity(); radioDriver.send((uint8_t *)&data, sizeof(data)); radioDriver.waitPacketSent(); } |
[collapse]
RX
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
#include <RH_ASK.h> #include <SPI.h> struct dataStructure { byte id; float temperature ; float humidity ; }; typedef struct dataStructure Package; Package data; RH_ASK radioDriver; void setup() { Serial.begin(9600); radioDriver.init(); } void loop() { uint8_t buf[sizeof(data)]; uint8_t buflen = sizeof(data); if (radioDriver.recv(buf, &buflen)) // Is there a packet for us? { memcpy(&data,&buf,buflen); Serial.print("id: "); Serial.println(data.id); Serial.print("Temperature: "); Serial.print(data.temperature); Serial.println(" C"); Serial.print("Humidity: "); Serial.print(data.humidity); Serial.println(" %"); Serial.println(); } } |
[collapse]