I do not own and have not played with the button (yet), but the at+reset command seems counter-intuitive to me as a rak811-user.
have you tried sending directly after the at+join=otaa command?
Yes, that should be all-right.
I had some problems with arduino/rak811 as well, i think a lot of it has to do with the fact that the serial connection from/to arduino is shared with the rak811.
In my experience, it is more stable to talk to the rak811 through a virtual serial port, and when stacking, bend out the pins.
Have you tried to reset the RAK831 when the forwarder has started?
I have the same setup working here (Pi3, RAK831 and the converter board). I use a script to reset the rak831 after bootup and before the concentrator is started.
#echo "25" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio25/direction
echo "1" > /sys/class/gpio/gpio25/value
echo "0" > /sys/class/gpio/gpio25/value
echo "0" > /sys/class/gpio/gpio25/value
About the 5_3R and 5_3T pins. They are the in/outputs of a 5V->3V level shifter, that is connected to TX/RX (pin 0/1 and the TX/RX jumpers)
they are next to an extra set of TXD and RXD jumpers.
TXD/RXD is connected directly to the RAK811 UART, which is not 5V safe.
When you want to input/output 5V on pin 0&1, connect the jumpers across 5_3R<->TXD and 5_3T<-> RXD.
If you do not want to use pin 0/1 (i.e. still being able to use the arduino serial monitor) you can use a software serial to communicate to other pins, and connect these to TX/RX yourself:
Edit: the other set of jumpers across CRX/CTX<-->TXD/RXD, is to connect the RAK811 serial-usb unit.
I have encountered the same problem with a Pi3 and the RAK831.
It appeared when i powered the pi/rak831 through an USB extension cable. After eliminating the extension cable, the problem went away.
Take a good look at the power supply. If you have a blinking red light next to the activity light on the Pi, it signals you the incoming power is getting on the low side.
I am also curious about the fault on the converter-board. I received it yesterday, integrated it into my working setup and noticed the software-reset was not working anymore, i had to reset by hand on the board to get it to work.
Also something got hot so i already stopped using it.
I am interested to know what has to be changed to make it work..
Join command from arduino.
* No LED2, LED3 activity.
* not able to join networks, even when i should be in range. Join command from onboard USB/CH340G
* LED2, LED3 both show activity
* not tested yet if i am able to join networks this way, did not have it on the road yet with usb->serial console. In both cases, response is the same:
Why is the behaviour of LEDs different? Why can I send commands, receive 'OK' but not able to communicate with LoraWAN when i'm using arduino serial port?
Never mind. I see in the schematic that LED2 and LED3 are the CH340G TX/RX leds.
Thanx for that info, I already suspected I had another revision, but could not find out what the exact differences are.
Are these changes documented somewhere?
Now that i have achieved communication between the arduino and wisnode, i run into a different problem:
when i send at+join=otaa through USB, i see the TX and RX leds (LED2/LED3) show activity.
when i send at+join=otaa through arduino, i see no activity of TX/RX leds, although the answer of the module is exactly the same (OK and after a few seconds at+recv=6,0,0. I have no coverage so that's expected)
First i will try the above changes and use the module with 5V, that rules out that the voltage divider is in some way interfering..
It took some hours, mainly because I am kind of new with a lot of this
I connected the arduino (with voltage divider!) direct to TXD and RXD on the wisnode. After some probing, i found that commands are passed from the wisnode USB to these ports, so communication should work.
Still no answer.
The main problem was this: Arduino Serial.write does not write a carriage return.
When the wisnode does not receive a carriage return, it does not execute the command.
add this line on top of the SoftwareSerialExample i linked in my previous post:
change the bottom few lines so it is as follows:
If i bodged this together correctly (i haven't tested it extensively ) it should check for the end of the text, and replace it with \r\n, also it adds a local echo of your command.
It will start with Error -1 because 'carriageCheck' is still empty, but after that no problems.
I have run the 1499065986265-testuart program. After I sent a string in the arduino serial monitor ('at+join=otaa', of which i know the answer should be: 'at+recv=6,0,0') I got 'at+version' back.
Looking at the source this makes sense: the string you put in the serial monitor is sent to the SoftwareSerial (10/11), but then the program tells to print 'at+version' to the hardware serial port. Any answer from the Wisnode is not displayed on the Serial Monitor in this way, but the commands you give should arrive at the Wisnode.
I don't know what the purpose of the program was? Send at+version to the SoftwareSerial?
The original is found here:
If you run this code (change the pins and baud rate to your own setup), Serial Monitor strings are sent, and replies are received from the Wisnode (again, if it would answer).
Looks like your connection to RAK Support Center was lost, please wait while we try to reconnect.