Settings.py der Hiveeyes Micropython-Firmware

Könnte ich einmal ein Beispiel bekommen, indem eine BOB HAT V5a konfiguriert ist?

Ich frage speziell :slight_smile: :

die Taster für Reset (AP Mode gibts es ja mM. nach nciht)
die Telemetrie endpoints (diese sind beide aud false) hier wäre dann doch JSON over HTTP für die BOB App zu nehmen
P16 Spannungsteiler ? >> nicht bestückt/ Spannungsüberwachung nicht vorhanden > ignorieren

Gibt es noch andere Punkte auf die ich achten muss ?

wie verhält es sich mit den Offset SCAL daten?

{“tare_offset”: 27441, “calibration_factor”: -8386.424}

wird zu
‘scale’: 27441,
‘offset’: -8386.424,

Am 2.10. hat bei mir dieses Setting auf BOB-HAT-V5 funktioniert: settings.py (8.4 KB)
Ich habe probieren müssen und finde es aber etwas unübersichtlich.

Hi, Danke.
Unübersichtlich … hm … geht eigentlich.

Mir sind die Feinheiten nur nicht klar.
Was genau ist bei der Waagenkonfiguration zu mappen > Wie kann ich in Zukunft die Werte ermitteln?
Was ist mit den Angaben zum enviroment ? Hier werden ja auch DS18B20 konfiguriert.

Mit unübersichtlich meinte ich, dass der einfache Imker damit nicht klar kommen wird. Die offset- und scale-Werte habe ich von der hiverize/FiPy-Firmware, an der ich herumprogrammiert habe.

1 Like

das mag sein, aber ein permanent abstürzendes System bringt auch niemandem was. Dann fungiere ich lieber als HUB um den Leuten hier in Köln zumindest die Systeme dann ans fliegen zu bekommen.

Deswegen auch die Frage nach den Kalibrierungswerten der Waage … da muss glaube ich noch etwas Gehrinschmalz rein, wenn man “nur” die hiveeyes Software drauf hat.
Denn ich muss zu diesen Werten ja erst einmal finden … an die DS18B20 Adressen kommt man ja relativ einfach, als “eingeweihter” :-)

1 Like

Wie @didilamken sagt ist das für “den normalen Imker” eine Überforderung, die er oder sie nicht schaffen wird, aber klar, ein “einfaches System”, das instabil läuft bringt uns auch nicht weiter. @vinz nimmt sich aber gerade der hiverize-Frimware in branch devel-vincent an und hoffentlich läuft die in Zukunft auch stabiler.

Wer es in der Zwischenzeit mit der hiveeyes-Firmware versuchen möchte, ich habe es wie unten beschrieben für die Statista-Völker gemacht:

Die IDs der DS18B20 kannman auch über den normalen output der Seriellen bekommen, dazu würde ich das Messintervall auf 1 s setzen mit einer Hand oder im Sommer einem Kühlakku den Sensor erwärmen / kühlen und mir die P’osition des Sensors am Stang einfach notieren. Die Sensor-ID ebenfalls (per copy’n’paste).

Das hier beschriebene ist eher die kompliziertere Methode, da der Node großteils über WLAN konfiguriert wurde. Ist sicher einfacher, wenn er am Kabel und Rechner hängt und deroutput der seriellen Schnittstelle via Atom bestaunt werden kann und auch dort statt über FTP–Editor–FTP geändert wird.

Setup / Software-Konfiguration

Firmware: hiveeyes-micropython-firmware-0.6.0-source.zip

1. DS18B20-IDs auslesen und notieren

Mit Arduino-Sketch (da Reihenfolge damit ursprünglich festgelegt wurde) auslesen und notieren.

2. Firmware

  • WiPy mit expansion board
  • neueste Pycom-Firmware aufspielen / 1.20.0.rc13
    – dabei LittleFS als Filesystem wählen
    – dabei alle Dateien löschen
     
    2019-08-25%2022_05_27-Pycom%20Upgrade

3. hiveeyes-Software über Atom aufspielen, mit

  • Test-node-ID hiveeyes zum initalen Testen
  • Test-node-ID / sensor keys BOB

4. erster Test und Zugriff per WLAN

  • WiPy auf Platine mit angeschlossenen Sensoren setzen, ggf, reset
  • IP über Router herausfinden
  • per FTP verbinden, um settings.py zu editieren
  • ggf. fürs debugging per telnet verbinden um logging anzusehen

5. DS18B20 konfigurieren

  • falls noch nicht passiert, per FTP verbinden, um settings.py zu editieren
  • tatsächliche hardware-IDs der DS18B20 im Abschnitt hiveeyes und Bob / Beep ändern
  • Datei settings.py auf WiPy übertragen, resetten

6. Waage justieren

  • Rohdaten auslesen über https://swarm.hiveeyes.org/api/hiveeyes/statista/hds/hive-99/data.txt?from=now-5m&include=scale.0.raw,scale.0.kg
  • den Rohwert (scale.0.raw) bei unbelasteter Waage für tara notieren
  • Waage mit 1 kg belasten, diesen Wert ebenfalls notieren
  • Werte berechnen und in setting.py eintragen
    – bei scale den Rohwert 1 kg minus Rohwert unbelastet eintragen
    – Rohwert unbelastet bei offset eintragen
  • ggf. Nullpunkt anpassen: Da schon Bienen in der Beute waren, wurde die Waage so justiert, dass sie jetzt ca. 5 kg anzeigt, dazu Rohwert unbelastet neu berechnen mit
    Rohwert unbelastet neu = Rohwert unbelastet - 5x scale
  • Datei settings.py speichern und per FTP auf WiPy übertragen, resetten
  • nun sollte das Angezeigte Gewicht im link oben passen

7. Daten kontrollieren

8. endgültigen Daten-Kanal festlegen

  • wenn alles passt in der settings.py endgültigen Datenkanal für hiveeyes und BOB / Beep konfigurieren
  • Datei hochladen, Wipy resetten
  • bei hiveeyes und BOB / Beep final Daten kontrollieren

9. in firmware Messintervall anpassen und deep sleep sowie watchdog aktivieren

  • bei interval > field 60 eintragen
  • deep sleep einschalten
  • watchdog aktivieren
  • neu hochladen, reset

10. Nochmal die beiden Datenkanäle kontrolleren

1 Like

Getracked haben wir das bei

… und die korrektere Implementierung ist bereits seit einiger Zeit im “master” branch zu finden:

In der Blaupause der Konfigurationsdatei steht nun auch die Einheit per "Measurement intervals in seconds":

1 Like

OK. ich habe settings.pybd.py angepasst …
Ich bekomme aber via ATOM immer wieder Probleme beim UPLOAD der Dateien …
Ist das normal ?

Doch lieber auf den PI wechseln und von dort aus auf den FiPY die Software kopieren?

Die ist für das pyboard-D gedacht. Für Pycom Geräte im Kontext von BOB bist Du mit der settings.example-bob.py auf dem richtigen Dampfer.

1 Like

OK ich verstehe … grundlegende Wissenslücke :frowning:

Wie sieht es denn mit dem Thema von oben aus :

        {
            'id': 'ds18b20-1',
            'name': 'temperature',
            'description': 'Wabengasse 1',
            'type': 'DS18B20',
            'enabled': True,
            'bus': 'onewire:0',
            'devices': [
                {
                    'id': 'ds18b20-w1r1',
                    'address': '1111111111111111',
                    'description': 'Wabengasse 1, Rahmen 1',
                    'enabled': True,
                    #'offset': 0.42,
                },
                {
                    'id': 'ds18b20-w1r2',
                    'address': '2222222222222222',
                    'description': 'Wabengasse 1, Rahmen 2',
                    'enabled': True,
                    #'offset': -0.42,
                },

Diese Definitionen laufen ja sonst ins Leere

Wie man die DS18B20-Sensoren konfiguriert, meinst Du?

Hier bei

trägt man die 1-Wire Hardware-Adressen der DS18B20-Sensoren ein. Ich glaube bei der 0.6.0 ist das noch case-sensitive, im aktuellen master ist es schon so, dass Groß-/Kleinschreibung an dieser Stelle verziehen wird.

1 Like

A post was merged into an existing topic: Probleme beim Upload der Dateien über Atom

OK, ich dachte die telemetrie map reich aus!
#DS18B20

aber, was ist mit der ID?
ds18b20-w1r1 … ds18b20-w1r5
und dann ds18b20-out ??

id und description sind momentan beliebig, es gibt noch kein offizielles naming scheme. Die Idee ist aber die Zarge, die Wabengasse, ggf. mehrere Sensoren pro Wabengasse abzubilden.

Das Beispiel oben ist schlecht und muss verbessert werden. Wabengasse 1 mit Rähmchen 1 und Wabengasse 1 mit Rähmchen 2 usw. gibt es nicht, ich denke es sollte Zarge 1, Wabengasse 1; Zarge 1, Wabengasse 2 usw. sein. Oder Brutraum 1, Wabengasse 1 usw.

Wichtig ist nur, dass bei address die Hardware-Adresse des DS18B20 steht!

Anders ist es beim Mapping für BOB / die beep-Anbindung, da ist t_i_1 bis t_i_5 fest für die Temperatur-Brutraum- / Innensensoren festgelegt und t_o für den Außensensor (out).

1 Like

Hi.
Danke für die Antworten.

Also der FiPy läuft … glaube ich.
Ich komme nur mit meiner settings.py nicht via FTP oder TelNet auf das System …
Habe ich da was übersehen?

PING auf die IP klappt auch nicht.
Die Reservierung in der FritzBox ist aber vorhanden.

Wenn du deep sleep aktiviert hast ist er ab Schlafen bis zum Aufwachen nicht erreichbar, da er da ja schläft. ;-) Das mag im Router / der FritzBox manchmal anders aussehen, da sind Geräte auch als aktiv gekennzeichnet, die in den letzten x Minuten über den Router kommuniziert haben.

Versuche zuerst den deep sleep zu deaktivieren (per USB angeschlossen) und schau mal, ob du damit per FTP und / oder telnet aufs Gerät kommst. Wenn das funktioniert können wir versuchen den maintainance mode remote ein / auszuschalten. “remote” meint hier nur im lokalen Netzwerk! Das ging bei mir mit dem Win10 WSLinux nicht, aber mit dem RasPi sollte es gehen.

1 Like

ARG …
nachdem ich die Settings angepaßt habe hat sich ATOM ALLE Files genommen und nochmal auf den FiPy übetragen, obwohl ich in der richtigen Projektbibliothekl stand …

Also nochmal von Vorne … ich werde berichten.

Ja, wenn du die frozen firmware verwendest einen neuen Ordner mit main.py, boot.py und settings.py anlegen, Atom “denkt” da ja immer ordnerbezogen.

1 Like

Ja hatte ich :slight_smile:
Ich stand auch in diesem Ordner drin, Problem war ich hatte einen Zweiten Projektordner offen