SDS011 funktioniert nur mit sketch.bin von der OSM-Website

Hallo zusammen,

ich habe den SDS011-Sensor am Serial1, eine neue senseBox-Home registriert, die sketch.bin bei der Registrierung compiliert und auf die sB-Home geladen.
Sensor legt los, Daten werden korrekt hochgeladen.

Kopiere ich mir bei derselben Registrierung den zugehörigen Sketch-Code und lade den über die Arduino-UI, funktioniert es nicht.
Der SDS011 gibt keinen Ton mehr von sich (Lüfter läuft gar nicht erst an).

Alle anderen Sensoren funktionieren sowohl mit der sketch.bin als auch mit dem Sketch-Code korrekt.
Hat jemand dafür eine Erklärung? Ich finde in dem Code aber auch keinen Fehler und er lässt sich problemlos compilieren und auf die Box laden.

Die sketch.bin bringt mir nichts, da ich den Code noch für eigene Sachen erweitern muss.
Und gleich vorab, ich hab den Code von der osm-Webseite noch gar nicht angepasst.

Gruß
Mirko

…die Ursache habe ich nun gefunden.
Registriert man auf der Webseite eine neue Sensebox, fehlt im generierten Code im Setup die Zeile
void setup() {
senseBoxIO.powerUART(true);
}

Letzendlich wird also der Strom auf den Serial-Ports nicht eingeschaltet.
Im gleichzeitig generierten sketch.bin besteht dieses Problem nicht.
solved

Hi @DrEvil75,

eigentlich ist der Sketch, der an den online Compiler gesendet wird und als sketch.bin heruntergeladen wird identisch mit dem, der per Email versendet wird oder auch auf der openSenseMap angezeigt wird.

Kannst du einmal schauen welche Arduino Version du installiert hast inkl. welcher Version des Board Support Packages?

Viele Grüße

Mario

Hallo Mario,

Arduino 1.8.12 (mit .7 und .13 ist es dasselbe).
Support Packe=latest
(SAMD 1.8.11, sensebox SAMD 1.3.3)

…nochmal ein Nachtrag. Wir haben heute bei einem Freund eine zweite neue SB-Home eingerichtet.
Dass der online Compiler dasselbe Resultat erzeugt wie der Sketch-Code, würde nun definitiv verneinen.

Folgende Beobachtungen:
Wird die sketch.bin eingespielt, werden keine Daten auf OSM aktualisiert. Soweit nachvollziehbar, verbindet sich die SB damit nicht mit dem WiFi. Der Feinstaubsensor, läuft an, auf der Platine sind 4 leuchtende LEDs zu sehen. Interessanter Weise leuchtet die LED bei dem xbee2 Port.

Verwenden wir den zugehörigen Sketch-Code, verbindet sich die SB mit dem WiFi, aktualisiert die Werte in OSM. Der Feinstaubsensor ist aus, lässt sich aber mit der o.g. Code-Zeile zum Leben erwecken. Auf der Platine sind 3 leuchtende LEDs zu sehen.

Was der online Compiler so treibt, kann ich nicht bewerten. Aber identisch zum Sketch-Code ist er nicht.

Gruß
Mirko

Hi @DrEvil75,

bzgl. des nicht Verbinden der senseBox mit dem Wlan, wenn ihr die Sketch.bin verwendet. Habt ihr den Wlan-Namen und das Passwort eingetragen? Mit Klick auf den Kompilieren Button wird der Code anschließend einfach nur zum online Compiler gesendet. Der Code an sich ist der selbe, wie der, der zum Download angeboten wird oder in dem Skript Feld angezeigt wird.

Der Compiler verwendet folgende Versionen der einzelnen Packages und Libraries:

  IDE_VERSION=1.8.11 \
  SENSEBOXCORE_VERSION=1.3.3 \
  ARDUINO_SAMD_VERSION=1.8.4 \
  ARDUINO_AVR_VERSION=1.6.21 \

Wir versuchen gerade rauszufinden wieso es dennoch zu unterschiedlichen Ergebnissen kommt.

Grüße
Mario

Die WiFi Credentials haben wir eingegeben. Der zugehörige Code funktioniert ja auch.

Am WE komme ich wieder etwas zum Testen. Evtl. bekomm ich noch etwas qualifiziertere Aussagen zu den Unterschieden hin.
Ich bin Informatiker, der Unterschied zwischen sollte und Ist, begegnet mir jeden Tag. :slight_smile:
Ich werde alles nochmal löschen, neu kompilieren und die Unterschiede erfassen.
Vorher werde ich einen leeren Sketch auf die sB laden. Gibt es noch einen anderen Weg die sB in den „Werkszustand“ zu setzen? Und kann es evtl. sein, dass die Übergabe (an den Compiler) des WiFi-Passworts mit einigen Sonderzeichen Problem machen (könnte)?

Gruß
Mirko

Ich hatte neulich das gleiche Problem: In dem Sketch der Web-Seite fehlt die Zeile

senseBoxIO.powerUART(true);

Nachdem ich die händisch nachgetragen hatte, funktionierte der von mir angepasste Sketch.

Hallo zusammen,

ich habe soeben senseBoxIO.powerUART(true); mit in den Code auf der openSenseMap eingebaut. Ihr könnt euch euren Code neu herunterladen bzw. online kompilieren lassen, dann sollte es funktioneren. Leider habe ich keinen Feinstaubsensor im Homeoffice, deswegen wäre es schön wenn es jemand nochmal kurz testen könnte :slight_smile:

Hallo Felix,

vielen Dank, es funktioniert!
Der SDS011 springt nun an.

Ich habe auch gesehen, dass ihr noch 2 Funktionen für den Lux-Wert eingefügt habt.
Das wäre mein nächster Thread geworden. :slight_smile:
Aber der hat sich nun gleich mit erledigt.

Gruß
Mirko