WIFI (ESP8266) not found! If the problem persist ...

cat

Member
Hallo!

Das GPS geht jetzt, aber Sunray bleibt jetzt beim WIFI hängen!
Ich habe den ESP32 programmiert und er verbindet zu meinem WLAN.
Sonderbar ist, dass am ESP32 USB-Port GPS-NMEA Meldungen auftauchen (siehe 2. Zitat)?!? Ist das normal?

Ich hab nochmals durchgemessen ESP32 ist normal bis zum PCB1.4 verbunden.
Ich hab mit meinem Due einen eigenen Sketch gemacht und bei Serial2.print("AT\r\n"); kommt "OK" zurück. Also funktioniert eigentlich alles.

Hier der Bootvorgang:

I2C bus error. Could not clear (PCB not powered ON or RTC module missing or JCx jumper set for missing I2C module)
SCL clock line held low
I2C bus error. Could not clear (PCB not powered ON or RTC module missing or JCx jumper set for missing I2C module)
SCL clock line held low
RESET cause: power-on
Ardumower Sunray,1.0.187
compiled for: Adafruit Grand Central M4
MOTOR_DRIVER_BRUSHLESS: no
enableCharging 0
trying to detect Bluetooth 4.0/BLE module (make sure your phone is NOT connected)9600...
BLE: AT
trying to detect Bluetooth 4.0/BLE module (make sure your phone is NOT connected)115200...
BLE: AT
error: no BLE module found!
SERIAL_BUFFER_SIZE=1024 (increase if you experience GPS checksum errors)
-----------------------------------------------------
UBLOX::begin
trying to connect to ublox f9p...
NOTE: if GPS is not responding either set 'GPS_CONFIG=false' in config.h or perform GPS wire fix (see Wiki)
trying baud 115200
GPS receiver found!
ublox f9p: sending GPS rover configuration...
idx=0...OK
idx=1...OK
idx=2...OK
config sent successfully
sizeof Point=4
map dump - mapCRC=0
points:
perimeter pts: 0
exclusion pts: 0
exclusions: 0
dock pts: 0
mow pts: 0
free pts: 0
mowPointsIdx=0 dockPointsIdx=0 freePointsIdx=0 wayMode=3
WIFI (ESP8266) not found! If the problem persist, you may need to flash your ESP to firmware 2.2.1

ESP32 USB Port bringt GPS Meldungen ...

153874 ping
156181 ping
158821 ping
163753 ping
163900 UART rx:,125527.00,,,,,0,05,11.94,,,,,,*76
$GNGSA,A,1,03,01,21,22,,,,,,,,,34.32,11.94,32.17,1*3E
$GNGSA,A,1,71,,,,,,,,,,,,34.32,11.94,32.17,2*3A
$GNGSA,A,1,,,,,,,,,,,,,34.32,11.94,32.17,3*3D
$GPGS,2,1,057,30,*55
,49,227,LL,,,,,1,NMEA uNMEA unknown msgwn msg*4 msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXT,01,01,01,NMEA unknown msg*⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮~⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮,⸮L⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮\⸮⸮⸮⸮⸮⸮L⸮⸮⸮⸮⸮⸮~⸮w⸮t⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮𿿿⸮~⸮⸮⸮⸮⸮⸮?⸮⸮w⸮⸮⸮⸮⸮⸮⸮⸮p]⸮ݹ⸮o⸮⸮⸮_H⸮ONTX_⸮0?⸮01,0Lϫ⸮⸮unknown m⸮⸮⸮⸮j
$GNTXT,07,01⸮01,N⸮MA ]k⸮⸮⸮⸮⸮⸮⸮}⸮⸮⸮⸮⸮qe⸮⸮⸮⸮O˞⸮⸮⸮⸮⸮p⸮n⸮⸮⸮⸮m⸮⸮⸮jR;Qgul⸮??p1,07n^MMA unknown`m⸮⸮⸮⸮j
$GNTXT,01,01,01,NMEA unknown msg*46
$GNTXTl01,01,01,NMEA uno~own ms⸮⸮⸮j
$GNTXt,01,01,01,NMEA unk⸮빁msg*46
$GNTXT,01,01,01,NMEA unknown msg*46
 
Zuletzt bearbeitet:
Angeschlossen ist es wie auf github und im PDF-Manual-1.4 (Seite 37) beschrieben, also sollte es doch ganz einfach mit Sunray funktionieren?
(also nicht auf P44 Wlan)

Hmmm ... das ESP32 macht doch BLE und WLAN in einem auf einem Serial-Port, sollte da dann nicht WIFI dieselbe Serial verwenden wie BLE?
Aber das geht doch nicht. Wie ist das angedacht?

Also wie muss man das dann jetzt konfigurieren wenn WIFI Serial2 (auf Due) ist?
WIFI und ROBOT ändern und BLE auf den nicht angeschlossenen setzen?

Code:
#ifdef _SAM3XA_                 // Arduino Due
  #define WIFI Serial1
  #define ROBOT Serial1
  #define BLE Serial2
  #define GPS Serial3
  //#define GPS Serial                // only use this for .ubx logs (sendgps.py)
#elif __SAMD51__                      // Adafruit Grand Central M4
  #define WIFI Serial2
  #define ROBOT Serial2           
  #define BLE Serial3
  #define GPS Serial4
 
Zuletzt bearbeitet:
Ja das ESP reagiert sogar auf AT mit OK (am Due), aber nicht mit Sunray auf Grand Central :-(

Es ist nur so, dass das ESP32 auf Serial2 am Due (nicht wie im config.h auf Serial1) gefunden wird, also sollte es am Grand Central auf Serial3 sein?
Ich frag mich nur warum ich der erste bin der da drüber stolpert?
So ich probier's jetzt noch schnell aus ...

Es geht nicht.

Ich geb auf für heute :(
 
Zuletzt bearbeitet:
Eventuell kalte Lötstelle zwischen den TX/RX Anschlüssen am DUE/GrandCentral und dem ESP32 Anschluss?
Ist das RTC Modul eingebaut? Das findet dein Serielle Monitor auch nicht. Hast Du das ESP32 Modul auch am EN Knopf resettet nach dem Sketch Update? Hast du die Firmware 1.0.4 installiert ? (IMPORTANT!!! choose v1.0.4, latest v1.0.6 does not seem to connect to WiFi access point! )

1628961865557.png
1628961899676.png
 
Danke für deine Hilfe. Kalte Lötstellen? Eher wärs ein kaputter Ausgang am Chip.
Ich verwende git HEAD für alles, keine Versionen. ESP32 verbindet zu meinem WLAN und holt sich über DHCP eine IP (hab es direkt konfiguriert).

Ich hab jetzt einen eigenen Sketch gemacht. Due und Grand Central bekommen ein OK zurück wenn man AT sendet (aber auf einem anderen Serial!)

WIFI (ESP32) liegt auf Serial3 und nicht Serial2 wie in config_example.h und funktioniert.
Adafruit sagt dass Pin 16/17 TX2/RX2 SERCOM1 ist https://learn.adafruit.com/adafruit-grand-central/pinouts
SERCOM1 wird als Serial3 definiert: https://github.com/Ardumower/Sunray/blob/master/sunray/src/agcm4/adafruit_grand_central.cpp#L24

Es ist natürlich absolut genial verwirrend, wenn man Pins RX2/TX2, die SERCOM1 sind Serial3 zuweist.

Also ist es falsch wenn robot.cpp auf Serial2 AT-OK testet wenn ESP32 auf Serial3 hängt (https://github.com/Ardumower/Sunray/blob/master/sunray/robot.cpp#L442):
Code:
#elif __SAMD51__                      // Adafruit Grand Central M4
  #define WIFI Serial2

Jetzt frag ich mich wie das bei anderen funktioniert hat?

Morgen geht's weiter.
 
Zuletzt bearbeitet:
Ich bin mal auf den Due umgestiegen, der ist wenigstens zuverlässig und die serielle verschwindet nicht dauernd am Mac. I2C war ein vergessener Jumper.

Ich kann mit meinem eigenen Sketch ESP32 erreichen, aber bei Sunray kommt immer noch der Fehler.

Könnte es sein, dass der WiFi Fehler NORMAL ist weil eh alles über das BLE interface läuft?
Sunray beept jetzt im Sekundenrhythmus.


Code:
Ardumower Sunray,1.0.187
compiled for: Arduino Due
MOTOR_DRIVER_BRUSHLESS: no
enableCharging 0
trying to detect Bluetooth 4.0/BLE module (make sure your phone is NOT connected)9600...
BLE: AT
trying to detect Bluetooth 4.0/BLE module (make sure your phone is NOT connected)115200...
BLE: AT
OK
Bluetooth 4.0/BLE module found!
BLE: AT+VERSION
+VERSION=ESP32 firmware V0.2.4,Bluetooth V4.0 LE
BLE: AT+NAMEArdumower
+NAME=Ardumower
BLE: AT+RESET
+RESET
SERIAL_BUFFER_SIZE=1024 (increase if you experience GPS checksum errors)
-----------------------------------------------------
UBLOX::begin
sizeof Point=4
map dump - mapCRC=0
points:
perimeter pts: 0
exclusion pts: 0
exclusions: 0
dock pts: 0
mow pts: 0
free pts: 0
mowPointsIdx=0 dockPointsIdx=0 freePointsIdx=0 wayMode=3
WIFI (ESP8266) not found! If the problem persist, you may need to flash your ESP to firmware 2.2.1
MPU ID=0x0
MPU6050/9150/9250/9255 not found - Did you connect AD0 to 3.3v and choose it in config.h?
temp=998.0  humidity=998
...
 
Zuletzt bearbeitet:
Wenn BLE verbindet ist der Fehler "WIFI (ESP8266) not found!" ganz normal und kann ignoriert werden
:cautious: Fluch! :cautious:
 
Sunray beept jetzt im Sekundenrhythmus.
Du hast wahrscheinlich P20 mit einem Jumper gebrückt. Wenn dort ein Taster angeschlossen ist und man diesen länger gedrückt hält, gibt einem die Anzahl der Beeps Rückmeldung, welche Funktion man aktiviert, wenn der Taster wieder losgelassen wird.

Siehe config.h:
// button control (turns on additional features via the POWER-ON button)
#define BUTTON_CONTROL true // additional features activated (press-and-hold button for specific beep count:
// 1 beep=start/stop, 5 beeps=dock, 3 beeps=R/C mode ON/OFF)

Gruß Sven
 
DANKE.
Langsam lichtet sich der Nebel.

Achso! Wenn ich meine eigenen Sketches teste ist P20 gebrückt, hab jetzt BUTTON_CONTROL false (geht ja eh alles über die App).

Bin heute das erste mal gefahren.
Der Bumper ist so empfindlich, dass er durch 5cm hohen Löwenzahn auslöst.
Hab mir die Wlan/BLE Antenne kaputt gefahren Seufz! :(
.... aber das ist ein anderes Thema ... für Hardware.
 
Ja, das Problem mit dem weichen Bumper kenne ich leider auch. Hat mich ebenfalls die WLAN/BLE Antenne gekostet.
Es gibt einen Beitrag mit härteren Federn für den Bumper.
Siehe Beitrag Microschalter.
Aber letztendlich löst es das eigentliche Problem nicht. Wir müssen versuchen eine Lösung zu finden, mit der das Standard-Gehäuse auch einen Bumper für die Rückwärtsfahrt hat. Vielleicht gibt es ja bereits eine Lösung, auf die hier gerne verwiesen werden darf.

Gruß Sven
 
Zuletzt bearbeitet:
Also ich würde das Mähwerk nach vorne verlagern (wie bei den Mähtraktoren) und senkrechtes Gitter um das Mähwerk als Bumper verwenden. Die Grashalme schlüpfen durch und was festes löst den Bumper aus. Muss man natürlich auf Ampfer und Löwenzahn zu optimieren versuchen. Ein Problem ist auch noch, dass Ardumower sehr weit weg vom Rand mäht. Eigentlich muss man zuerst trimmen, dann ardumower schicken. Da hilft auch keine KI.

Die Rückwärtsfahrt würde ich schon mit Software ohne Bumper lösen (wo man herkommt kann auch nix dahinter sein). Der Mower kann immerhin fast im Stand umdrehen. Nur hat er derzeit kein Konzept von seinem Hinterteil :LOL:

Ein Trimmer wäre sicherer als die Klingen, nur der Energieverbrauch ist abnormal höher.
 
Zuletzt bearbeitet:
Es gibt im Netz schon einige Ideen mit dem Bumperdino als Schlauch, rund um den Roboter. Leider ist die Platine Bumperdino aktuell nicht verfügbar. Oder man muss ein zweites Gehäuse wie beim Automower oder Bosch Indego machen mit einem Zentralen Sensor und gefederter Aufhängung.
 
Oben