433MHz Packet Cloner with moteino or MiniWireless-W rfm69

I want a sniffer or recorder build a arduino similar items have been around in this lin

i hoppe other people ca help me

of the IoT and Home Automation devices on the market today use 433MHz radios, and for simplicity’s sake, most of them use OOK encoding. [Texane]‘s entry for THP is a simple device with two buttons: one to record OOK frames, and a second to play them back.

http://www.anarduino.com/miniwireless/#
my Product list

MiniWireless-W rfm69
Arduino uno or Arduino ethernet

this is my first grand project and i hope other people can help me.

(deleted)

I dont understund because there nothing dooing have anywhere used the pins
i search the pin description for this

// Sample RFM69 sender/node sketch, with ACK and optional encryption
// Sends periodic messages of increasing length to gateway (id=1)
// It also looks for an onboard FLASH chip, if present
// Library and code by Felix Rusu - felix@lowpowerlab.com
// Get the RFM69 and SPIFlash library at: LowPowerLab (Felix Rusu) · GitHub
#include <RFM69.h>
#include <SPI.h>
#include <SPIFlash.h>

#define NODEID 2 //unique for each node on same network
#define NETWORKID 100 //the same on all nodes that talk to each other
#define GATEWAYID 1
//Match frequency to the hardware version of the radio on your Moteino (uncomment one):
#define FREQUENCY RF69_433MHZ
//#define FREQUENCY RF69_868MHZ
//#define FREQUENCY RF69_915MHZ
#define ENCRYPTKEY “sampleEncryptKey” //exactly the same 16 characters/bytes on all nodes!
//#define IS_RFM69HW //uncomment only for RFM69HW! Leave out if you have RFM69W!
#define ACK_TIME 30 // max # of ms to wait for an ack
#ifdef AVR_ATmega1284P
#define LED 15 // Moteino MEGAs have LEDs on D15
#define FLASH_SS 23 // and FLASH SS on D23
#else
#define LED 9 // Moteinos have LEDs on D9
#define FLASH_SS 8 // and FLASH SS on D8
#endif

#define SERIAL_BAUD 115200

int TRANSMITPERIOD = 300; //transmit a packet to gateway so often (in ms)
char payload = “123 ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
char buff[20];
byte sendSize=0;
boolean requestACK = false;
SPIFlash flash(FLASH_SS, 0xEF30); //EF30 for 4mbit Windbond chip (W25X40CL)
RFM69 radio;

void setup() {
Serial.begin(SERIAL_BAUD);
radio.initialize(FREQUENCY,NODEID,NETWORKID);
#ifdef IS_RFM69HW
radio.setHighPower(); //uncomment only for RFM69HW!
#endif
radio.encrypt(ENCRYPTKEY);
char buff[50];
sprintf(buff, “\nTransmitting at %d Mhz…”, FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915);
Serial.println(buff);

if (flash.initialize())
{
Serial.print("SPI Flash Init OK … UniqueID (MAC): ");
flash.readUniqueId();
for (byte i=0;i<8;i++)
{
Serial.print(flash.UNIQUEID*, HEX);*

  • Serial.print(’ ');*
  • }*
  • Serial.println();*
  • }*
  • else*
  • Serial.println(“SPI Flash Init FAIL! (is chip present?)”);*
    }
    long lastPeriod = -1;
    void loop() {
  • //process any serial input*
  • if (Serial.available() > 0)*
  • {*
  • char input = Serial.read();*
  • if (input >= 48 && input <= 57) //[0,9]*
  • {*
    _ TRANSMITPERIOD = 100 * (input-48);_
  • if (TRANSMITPERIOD == 0) TRANSMITPERIOD = 1000;*
  • Serial.print("\nChanging delay to ");*
  • Serial.print(TRANSMITPERIOD);*
  • Serial.println(“ms\n”);*
  • }*
  • if (input == ‘r’) //d=dump register values*
  • radio.readAllRegs();*
  • //if (input == ‘E’) //E=enable encryption*
  • // radio.encrypt(KEY);*
  • //if (input == ‘e’) //e=disable encryption*
  • // radio.encrypt(null);*
  • if (input == ‘d’) //d=dump flash area*
  • {*
  • Serial.println(“Flash content:”);*
  • uint16_t counter = 0;*
  • Serial.print("0-256: ");*
  • while(counter<=256){*
  • Serial.print(flash.readByte(counter++), HEX);*
  • Serial.print(’.’);*
  • }*
  • while(flash.busy());*
  • Serial.println();*
  • }*
  • if (input == ‘e’)*
  • {*
  • Serial.print("Erasing Flash chip … ");*
  • flash.chipErase();*
  • while(flash.busy());*
  • Serial.println(“DONE”);*
  • }*
  • if (input == ‘i’)*
  • {*
  • Serial.print("DeviceID: ");*
  • word jedecid = flash.readDeviceId();*
  • Serial.println(jedecid, HEX);*
  • }*
  • }*
  • //check for any received packets*
  • if (radio.receiveDone())*
  • {*
  • Serial.print(’[’);Serial.print(radio.SENDERID, DEC);Serial.print("] ");*
  • for (byte i = 0; i < radio.DATALEN; i++)*
    _ Serial.print((char)radio.DATA*);_
    Serial.print(" [RX_RSSI:");Serial.print(radio.RSSI);Serial.print("]");
    _
    if (radio.ACKRequested())_
    _
    {_
    _
    radio.sendACK();_
    _
    Serial.print(" - ACK sent");_
    _
    }_
    _
    Blink(LED,5);_
    _
    Serial.println();_
    _
    }_
    _
    //send FLASH id*_
    * if(sendSize==0)*
    * {*
    * sprintf(buff, “FLASH_MEM_ID:0x%X”, flash.readDeviceId());
    _
    byte buffLen=strlen(buff);_
    _
    radio.sendWithRetry(GATEWAYID, buff, buffLen);_
    _
    delay(TRANSMITPERIOD);_
    _
    }_
    _
    int currPeriod = millis()/TRANSMITPERIOD;_
    _
    if (currPeriod != lastPeriod)_
    _
    {_
    _
    lastPeriod=currPeriod;_
    _
    Serial.print(“Sending[”);_
    _
    Serial.print(sendSize);_
    _
    Serial.print("]: “);_
    _
    for(byte i = 0; i < sendSize; i++)_
    _ Serial.print((char)payload);
    if (radio.sendWithRetry(GATEWAYID, payload, sendSize))
    Serial.print(” ok!");
    else Serial.print(" nothing…");
    sendSize = (sendSize + 1) % 31;
    Serial.println();
    Blink(LED,3);
    }
    }
    void Blink(byte PIN, int DELAY_MS)
    {
    pinMode(PIN, OUTPUT);
    digitalWrite(PIN,HIGH);_
    delay(DELAY_MS);
    _ digitalWrite(PIN,LOW);
    }
    *_

If may be wrong, but it think its very unlikely that you are easily going to create a general purpose packet capture and playback system

There are multiple proprietary data transmission formats, so just finding the start and end of a packet is not that easy.

I suspect that the code etc you are using is designed to capture one specific data format, ie specifically the default format for the RFM module that you have bought.

Although the RFM69 can handle OOK its primarily used for FM not AM. As fm has better noise emmunity etc.

A while ago I also tried to use the RFM69W for OOK transmission, but it was quite hard. I did manage to send a signal to my lamp (Klik aan Klik uit), but receiving a signal was much harder. Here is some information: members.home.nl/hilcoklaassen/index.html I did not post the Arduino sketches yet, but maybe the information helps.

I'm currently working on an RFM69-OOK implementation as well. I saw your altered libraries, but couldn't find the Arduino-code. Is there any chance to get the Arduino-Sketch to follow your implementation?

Cheers,

markbee