Hi kersing ,
1day back i started playing with RN2483,After uploading the code on RN2483 by using Arduino Uno board i am getting garbage type output
Below code I am using
// RN2483
include "SoftwareSerial.h"
SoftwareSerial lora(3, 4); // RX, TX
void sendCmd( char *cmd) {
Serial.write( cmd );
Serial.write("\n");
lora.write(cmd);
lora.write("\r\n");
while (!lora.available() ) {
delay(100);
}
while (lora.available()){
Serial.write(lora.read());}
}
void waitForResponse() {
while (!lora.available() ) {
delay(100);
}
while (lora.available())
Serial.write(lora.read());
}
char getHexHi( char ch ) {
char nibble = ch >> 4;
return (nibble > 9) ? nibble + 'A' - 10 : nibble + '0';
}
char getHexLo( char ch ) {
char nibble = ch & 0x0f;
return (nibble > 9) ? nibble + 'A' - 10 : nibble + '0';
}
void sendData( char *data) {
Serial.write( "mac tx uncnf 1 " );
lora.write( "mac tx cnf 1 " );
char *ptr = data;
int idiotCount = 50;
while (*ptr && idiotCount )
{
lora.write( getHexHi( *ptr ) );
lora.write( getHexLo( *ptr ) );
Serial.write( getHexHi( *ptr ) );
Serial.write( getHexLo( *ptr ) );
ptr++;
idiotCount--;
}
lora.write("\r\n");
Serial.write("\n");
delay(5000);
while (lora.available())
{
Serial.write(lora.read());
}
}
void setup()
{
Serial.begin(57600);
lora.begin(57600);
Serial.println("RN2483 Test");
pinMode(5, OUTPUT);
digitalWrite(5, HIGH);
delay(50);
digitalWrite(5, LOW);
delay(50);
digitalWrite(5, HIGH);
delay(50);
waitForResponse();
// set the resolution to 9 bit
sendCmd("sys factoryRESET");
sendCmd("sys get hweui");
sendCmd("mac get deveui");
// For TTN
sendCmd("mac set devaddr AABBCCDD"); // Set own address
sendCmd("mac set appskey 2B7E151628AED2A6ABF7158809CF4F3C");
sendCmd("mac set nwkskey 2B7E151628AED2A6ABF7158809CF4F3C");
sendCmd("mac set adr off");
sendCmd("mac set rx2 3 869525000");
sendCmd("mac join abp");
sendCmd("mac get status");
sendCmd("mac get devaddr");
}
void loop() {
// put your main code here, to run repeatedly:
char msgBuf[40]="divum";
//sprintf(msgBuf, "{\"temp\":%d.%01d}", (int)temperature, (int)(temperature * 10) % 10);
Serial.println(msgBuf);
sendData(msgBuf);
delay(5000);
Serial.println("After Delay");
while (lora.available()){
Serial.print("ENTERED IN WHILE LOOP");
Serial.write(lora.read());
}
delay(60000);
}
ouput on Arduino Uno SerialPort
RN2483 Test
RN²N©j
ÉAdh@2°LM§¦VHøsys factoryRESET
RNN©j
ÉAdh@2°LM§¦VHøsys get hweui
00 ¡L0¨&¦§Hømac get deveui
00LLLLLLCámac set devaddr AABBCCDD
okmac set appskey 2B7E151628AED2A6ABF7158809CF4F3C
okmac set nwkskey 2B7E151628AED2A6ABF7158809CF4F3C
ok
mac set adr off
okmac set rx2 3 869525000
ok
mac join abp
okac³²¸ºYY#ámac get status
00
mac get devaddr
AA¢¡¡¡¢¢Cádivum
mac tx uncnf 1
in¶±¶´²
ÉÅÚAfter Delay
Please Kindly Tell me the solution for this Anyone
Thanks in Advance.