RFID On PCB1.3

No doupt for that.
I can not figure out wtf happen. I have two hc05 and both fail to connect same as esp32. Everything was working fine before yesterday when I tried to put esp32 and rfid. I have tried all 3 bt to all 3 serial port and same behaviour.
When pressing piardu eg. manual buttons phone goes to manual page or when pressing reset all faults phone goes to error page and connection fails after timeout. I tried at least three different code also, your from github, my own and org. azurit. same. bt's was connected directly to due and via pcb. same.
 
I think that I have two separate problems. BT and software.
Downloaded rfid branch from github and with it I can use serial console. (due unplugged)
What can cause that serial console menu and other functions dont work? that was raspberryPIUse = true

RTC is broken, now I get fault for that. rtcdata1. Maybe that cause bt not connecting? I have three rtc modules and all are broken :D
 
I hope you have change the value into mower.h
If you use the PI it's serialUSB and with the PC it's Serial
See at the beginning of ardumower.ino

Code:
*      GPS Change speed according to your module
 *      #define GPS_BAUDRATE  38400  // 9600 for M6n ,19200 or 38400 for BN880,M8Nother module
 *      
 *      
 *      If Raspberry PI is not use change into mower.h
 *          RaspberryPIUse = false or true
 *          #define Console Serial
 *          //#define Console SerialUSB
 *      to have access to the Console on the PC else  PI  received the Console Output 
 *      
 *


Also if you can't have access to PFOD you need to put the raspberryPIUse to false manualy after the eereadwrite line of code or use a factory setting.

eereadwrite(readflag, addr, mowPatternDurationMax);
eereadwrite(readflag, addr, DistPeriOutStop);
eereadwrite(readflag, addr, DHT22Use);
eereadwrite(readflag, addr, RaspberryPIUse);
RaspberryPIUse=false;
eereadwrite(readflag, addr, sonarToFrontDist);
eereadwrite(readflag, addr, maxTemperature);
//bber20
eereadwrite(readflag, addr, dockingSpeed);
Remember that if the EEprom is OK all the mower.h setting are replace (exept the #define one) when the prog start.
 
If RTC Don't work all the mower.cpp setting are read on startup and i never tested this kind of issue !!
 
old hc05 and esp32 are broken. Uploaded passtrough code to due and I can send from pc to phone but not from phone to pc. both same
Other hc05 was new and there was wrong baudrate but it works now. Communications menu wont work properly, it flows over and over again and can't be used. I had to set baudrate with azurit.


Code:
void setup() {
  // put your setup code here, to run once:
  Serial2.begin(19200);
  Serial.begin(19200);

}

void loop() {
  // put your main code here, to run repeatedly:
  while (Serial.available()) {
    Serial2.write(Serial.read());
  }
  while (Serial2.available()) {
    Serial.write(Serial2.read());
  }
}
 
I'll test those but with this simple setup new hc05 works and old and esp not.
2019-08-0514.12.44.jpg

Attachment: https://forum.ardumower.de/data/media/kunena/attachments/4741/2019-08-0514.12.44.jpg/
 
Zuletzt bearbeitet von einem Moderator:
Due receive nothing with analogReadSerial code in esp32. Maybe I misplaced those two in bt connector, that is only explanation what comes to mind
 
Hello RFID friends
Today i received the right ESP32.
What is working now:
1. Bluetooth connection to phone is OK
2. RFID tags are sended over console with test program. OK
3. RFID last tag is shown in Arduremote. OK
4. Raspberry connected to Due. NOK
There is some connection but not a goord. That means i can move for example manual with the Pi but not stable.
I also can not get the setting to Pi by pressing Read from Mower.
When i press on Pi Random and start Automatik the mower start in Lane mode
When i read a RFID tag i can not see it on Pi side under RFID.
So there is a connection but not perfekt.
Can you please tell me the places where all i have to activate Raspberrry?
1.) mover.h : #define RaspberryPIPort SerialUSB ?
2.) mover.cpp : RaspberryPIUse = true; // a raspberryPi is connected to USBNative port ?
3. config.py : if (os.name=='posix'):
print('Linux Platform')
myComPort = '/dev/ttyACM0'
myFrameWidth = 800
myFrameHeight = 430
myBaudRate = 250000
myOS="Linux"
GpsConnectedOnPi=False
GpsIsM6n=False
NanoConnectedOnPi=False
DueConnectedOnPi=True
AutoRecordBatCharging=True
useDebugConsole=True
?
Is this all?
Why can i not turn on the function "Use RFID" in Arduremote? The default value is "No" and i can not change.
Thanks a lot and best regards,
Bjoern
 
There is some connection but not a goord
You need to check all into the console page normaly the Bottom left data change every 500ms .
When you click on list var you need to see all the variable
Maybe the eeprom is not correctly set

Code:
eereadwrite(readflag, addr, sonarToFrontDist);
  eereadwrite(readflag, addr, maxTemperature);
  //bber20
  eereadwrite(readflag, addr, dockingSpeed);
  //bber35
  eereadwrite(readflag, addr, rfidUse);


docking speed and rfid are the 2 last value read and save.
If you can change them and save into arduremote all is OK for the eeprom
If Not you certainly need to do a factory setting but all your value (odometry motor speed etc are lost) so note them before.

When i read a RFID tag i can not see it on Pi side under RFID.
YES you can see them only in the console page.
RFID page is not perfect:
To change you Always need to first add the new line and delete the old one after
Click on 1 line
Change value on the right textbox
Click on Add this tag
Select again the old line and delete it
Save to file.


mover.h : #define RaspberryPIPort SerialUSB ?
If you use the PI it's OK, if you want to see the console in the PC you need to change to Serial
Here setting for PI

Code:
//#define Console Serial
//#define CONSOLE_BAUDRATE    115200       // baudrate used for PC

#define Console SerialUSB
#define CONSOLE_BAUDRATE    115200       // baudrate used for Raspberry PI console

#define Enable_DueWatchdog false

#define RaspberryPIPort SerialUSB
#define ESP8266port Serial3  //not use and exchange with GPS to avoid workarround (but no issue for me ????????)
#define Bluetooth Serial2  // Ardumower default
#define GpsPort Serial1


mover.cpp : RaspberryPIUse = true; // a raspberryPi is connected to USBNative port ?
This setting is overwrite on startup by the eeprom value so check into arduremote and set it to true if you use the PI or false if not.

config.py : if (os.name=='posix'):
It's OK.
Mycomport and MyBaudRate are not actualy use . see line 1929 on Pyardu.py
 
Other test on Pi side.
The Pi is connected to DUE on Native port
Using your PC and VNC viewer.
Connect to the PI
Click on Start (the Raspberry icon) ,Programming and Python3(idle).
Click on File and open PiArdu.py.
Click on Run and Run Module.
The GUI and a shell windows open
Inside the shell windows you need to never see red line (it's error)
Send a screencopy if error
 
Hello
Thanks for many ideas.
Let me start with idea one: Factory reset
How exactly are you doing it?
- When i change serial to Pi i can not do the reset over PC console
- When i do it over Arduremote i see no different. Nothing happens.
So what is the best way for doing reset?
One question more: What is the best Baud rate between Pi and Due?
Thank you
Best,
Bjoern
 
To do a factory reset.
Into arduremote .
Click on setting factory reset and power off .Do not click on save setting between them.
On the next start up all the var are read from mower.cpp and the rtc eeprom is not read so check on setting if your odometry ticks is the value that you can find into mower.cpp .If yes click on save setting .
Restart again and check the docking speed and rfid yes no.
If you want to swap between PC and pi
Do not forget to set piUse to false using arduremote (or you can receive console but not send data ) and change the 2 define lines in mower.h and flash the due again.
The PC is always connected to programming and the due to native port on due
Baudrate at 115200 work perfectly.
In the past I use 250000 but no big difference.
Do you see the status red text with time in the bottom of the pi GUI ?
 
The only difference between pi console and pc console is on startup.
With the pc one you can see the 20 first second of startup .
The d menu can also help to check variable if the pi don t work.
 
https://www.ardumower.de/index.php/de/forum/software-control/1349-azurit-full-odometry-mouvement-control?start=40#14158
Here very old post : how factory setting and magic value work only for information
 
Many thanks for this information.
I will check each by the week after next week: Vacation!!!
Today i found good RFID reads in Arduremote. I am on the right way.
Next step is to mount the reader under the mower..
Thanks again and best regardsm
Bjoern
 
Hi
Today i started again with RFID. The Reader is mounted and Pi installed.
But in moment my biggest problem is still that i can not reset to factory setting!
- I press on Arduremote "Reset to factory"
- I switch off the mower
- I switch on
- Open Arduremote and have my old values everywhere
What i am doing wrong?
Thanks and best regards,
Bjoern
 
Now the pi is connected.
I get this log:
14:06:20 WAIT / OFF Dir 0 State changed at 294591 From state FRWODO
14:06:20 Robot Stats address Stop = 826
14:06:20 Robot Stats address Start = 800
14:06:19 Save Robot Stats
14:06:19 NORMALMOWING / FRWODO Dir 0 State changed at 294069 From state OFF
14:06:19 WAIT / OFF Dir 0 State changed at 294034 From state POUTSTOP
14:06:19 Robot Stats address Stop = 826
14:06:19 Robot Stats address Start = 800
14:06:19 Save Robot Stats
14:06:19 NORMALMOWING / POUTSTOP Dir 0 State changed at 293513 From state FRWODO
14:06:19 Timeout on state the mower run for a too long duration ???????????????????????
14:06:19 NORMALMOWING / FRWODO Dir 1 State changed at 293512 From state OFF

I dont see a message every 500ms :-(

I think i need the reset. But how?
Best,
Bjoern
 
Have you set the Rpi Use to yes into Arduremote ?
When i tell you a message each 500ms it's not in the console text box but on the botton left of the Console page .
 
Oben