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.
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” :-)
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
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
– beiscale
den Rohwert 1 kg minus Rohwert unbelastet eintragen
– Rohwert unbelastet beioffset
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
- per telnet verbinden, und im log kontrollieren, ob alle Sensoren Daten liefern
- alternativ über https://swarm.hiveeyes.org/api/hiveeyes/statista/hds/hive-99/data.txt?from=now-5m
- bei BOB / Beep ebenfalls testen, ob Daten ankommen
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
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"
:
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.
OK ich verstehe … grundlegende Wissenslücke
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.
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).
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.
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.
Ja hatte ich
Ich stand auch in diesem Ordner drin, Problem war ich hatte einen Zweiten Projektordner offen
Hi Ingo,
danke, dass Du es mit der Annapurna-Firmware versuchen willst! Anbei ein paar Gedanken dazu, wie die Übertragung besser als mit Atom/Pymakr klappen könnte.
Viele Grüße,
Andreas.
Dateiübertragung übers Kabel
Dass die Übertragung per FTP besser wäre, haben wir ja schon erwähnt, hier wird es auch noch einmal entsprechend bekräftigt:
Da gibt es aber natürlich das Henne-Ei-Problem, dass das Gerät dafür erst am Netz sein müsste. Vielleicht kommst Du hier mit den Programmen GitHub - dhylands/rshell: Remote Shell for MicroPython oder GitHub - scientifichackers/ampy: MicroPython Tool - Utility to interact with a MicroPython board over a serial connection. schneller zum Ziel. Ersteres wird auch unter der Haube der Sandbox verwendet, um die Dateien aufs Gerät zu bringen.
Beide Werkzeuge lassen sich einfach über pip
installieren, also entweder/oder:
pip3 install rshell
pip3 install adafruit-ampy
Dateiübertragung über FTP
Um das Hennei-Ei-Problem der initialen Netzwerk-Konnektivität zu lösen, gibt es noch eine andere Möglichkeit, die wir bisher noch nicht ausprobiert haben.
Es wäre toll – wir schaffen es gerade nicht – wenn Du Zeit finden würdest, die ursprünglich von TI erfundene und von Espressif verwendete WiFi Smart Config Technologie anschauen könntest, um das Gerät ins Netz zu bringen.
- Espressif ESP-TOUCH protocol / Smart Config technology
- Wie bekomme ich bei Erst-Inbetriebnahme des FiPys meine WLAN-Zugangsdaten aufs Gerät?
Bei ersterem Link wird auch auf entsprechende Smartphone-Apps verwiesen.