[edit]
This is the receiving end, it receives partially correct data, a b it of a mess actuallyworking code on the receiver side.
struct dataStructdata {
intuint16_t id;
floatuint16_t analog1;pin;
floatuint16_t analog2;value1;
uint16_t value2;
} myData;
void loop()
{
uint8_t buf[RH_ASK_MAX_MESSAGE_LEN];
uint8_t buflen = sizeof(buf);
if (driver.recv(buf, &buflen)) {
memcpy(&myData, buf, buflen);
int i;
// inbellenSerial.print("http"ID://api ");
Serial.thingspeakprintln(myData.com/update?api_key=PSD722OLDGYHJHM2&field1="id);
+ String Serial.print("Pin: ");
Serial.println(char*myData.pin)buf;
Serial.print("Value1: ");
Serial.println(myData.value1);
Serial.print("Message"Value2: ");
Serial.println(myData.analog1value2);
Serial.println(myData"");
}
server.analog2handleClient();
yield;
}
And the transmitter
#include <RH_ASK.h>
#define BAUD 2000
#define RX 11
#define TX 12
RH_ASK driver(BAUD, RX, TX);
struct data {
uint16_t id;
uint16_t pin;
uint16_t value1;
uint16_t value2;
} myData;
void setup() {
Serial.begin(9600); // Debugging only
if (!driver.init())
Serial.println("init failed");
}
void loop()
{
struct data myData;
myData.id = 1001;
myData.pin = 4;
myData.value1 = analogRead(4);
}myData.value2 = analogRead(5);
server
driver.handleClientsend((uint8_t *)&myData, sizeof(myData));
yielddriver.waitPacketSent();
delay(2000);
}
Library used: http://www.airspayce.com/mikem/arduino/RadioHead/