DLLN3X_zigbee_mesh_module_l.../examples/dlln3x_test/dlln3x_test.ino

51 lines
1.3 KiB
C++

#include "DLLN3X.h"
DLLN3X dlln33; //Instantiating DLLN3X module
zigbee_frame zframe;
void zigbee_call_back(uint8_t orig_port,
uint8_t dest_port, uint16_t addr,
uint8_t data[], int length) {
switch (dest_port) {
case 0x82:
{
/* Do everything you want to do */
char temp[200];
sprintf(temp, "Hello from port 0x%X: %s",orig_port,data);
Serial.println(temp);
break;
default:
break;
}
}
}
void setup() {
Serial.begin(115200);
while (!Serial || millis() < 5000)
;
dlln33.init(&Serial1);// could be used like HardwareSerial(Serial1, Serial2 and etc.) or SoftwareSerial
dlln33.setcallback(zigbee_call_back);
while(dlln33.read_addr()==0)
{
Serial.println("Waiting for DL33NX to connect........");
delay(1000);
}
char temp[20];
sprintf(temp, "DL33NX addr: 0x%04X.",dlln33.read_addr());
Serial.println(temp);
}
uint64_t interval = 5000, pre_milli = 0;
void loop() {
dlln33.loop();
if (millis() - pre_milli >= interval) {
zframe.src_port = 0x81;
zframe.des_port = 0x82;
*((uint16_t *)&zframe.remote_addrL) = 0; // send pkg to self.
strncpy((char*)zframe.data,"Hello to port 0x82!",19);
zframe.length = 19;
dlln33.send(&zframe);
pre_milli = millis();
}
}