Skip to content

Instantly share code, notes, and snippets.

@thearduinoguy
Created October 31, 2014 14:32
Show Gist options
  • Save thearduinoguy/5200b732ab5bd691b573 to your computer and use it in GitHub Desktop.
Save thearduinoguy/5200b732ab5bd691b573 to your computer and use it in GitHub Desktop.
// Sensor Node Transmitter - Mike McRoberts
#define RF69_COMPAT 1
#include <JeeLib.h> //from jeelabs.org
#define nodeID 10 //node ID of tx (range 0-30)
#define nodeGroup 50 //network group (can be in the range 1-250).
#define nodeFreq RF12_433MHZ //Freq of RF12B can be RF12_433MHZ, RF12_868MHZ or RF12_915MHZ. Match freq to module
typedef struct { byte battery, year, month, day, hour, minute, second, sensorByte1, sensorByte2; } PacketTX; // create structure - a neat way of packaging data for RF comms
PacketTX dataPacket;
void setup() {
Serial.begin(57600);
//rf12_initialize(nodeID, nodeFreq, nodeGroup);
rf12_configSilent();
//rf12_easyInit(5);
Serial.println("Sensor Node Transmit");
Serial.print("Node: ");
Serial.print(nodeID);
Serial.print(" Freq: ");
if (nodeFreq == RF12_433MHZ) Serial.print("433Mhz");
if (nodeFreq == RF12_868MHZ) Serial.print("868Mhz");
if (nodeFreq == RF12_915MHZ) Serial.print("915Mhz");
Serial.print(" Network: "); Serial.println(nodeGroup);
}
void loop() {
Serial.print("Transmitting..");
delay(3000);
dataPacket.battery+=1;
dataPacket.year=2014;
dataPacket.month=10;
dataPacket.day=9;
dataPacket.hour=21;
dataPacket.minute=48;
dataPacket.second=27;
dataPacket.sensorByte1=123;
dataPacket.sensorByte2=321;
//rf12_easyPoll();
//rf12_easySend(&dataPacket, sizeof dataPacket);
rf12_sendNow(0, &dataPacket, sizeof dataPacket);
rf12_sendWait(2);
Serial.println("Sent.");
Serial.print("battery: "); Serial.println(dataPacket.battery);
Serial.println(" ");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment