Funksensor mit Bosch sensortec BME680 / Luftgüte

Begonnen von juergs, 28 Oktober 2017, 18:05:43

Vorheriges Thema - Nächstes Thema

juergs

Zur Zeit sind die Breakoutboards ausverkauft oder überteuert.

Bestünde Interesse an einem einfachen Breakoutboard für < 10 € ?

Bei Mouser kosten 10 Stück BME680:  77,10 € + Breakoutboard, habe 12 Stück bei OSHpark bestellt.

Falls sich genügend Abnehmer fänden ....

Dann die Frage an @PeMue: ist das Selbst-Bestücken überhaupt machbar?

Grüße,
Jürgen

PeMue

Hallo Jürgen,

Zitat von: juergs am 19 Januar 2018, 17:36:55
Dann die Frage an @PeMue: ist das Selbst-Bestücken überhaupt machbar?
das geht nur mit (Hand)-Dispensen und Ofen. Bei einer größeren Menge an Leiterplatten wäre es besser, eine Schablone zu haben.

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

juergs

#317
Zitat...das geht nur mit (Hand)-Dispensen und Ofen.
Ja ich weiss, die Geschichte mit dem Kaffee ...  ;)

Mal schauen.  Evtl wäre es besser dann bei einem anderen PCB-Lieferant anzufragen, der die Schablone mitliefert... ?


juergs

#318
@PeMue
habe kurz in "Atmel Studio 7" das .ino-Projekt migriert und die Precompiled-Lib einfach als Library eingebunden.

Bis auf:
ZitatSeverity   Code   Description   Project   File   Line
Error      recipe for target 'src/libraries/Wire/src/utility/twi.o' failed   bme680Mega644   c:\users\<user>\Documents\Atmel Studio\7.0\bme680Mega644\bme680Mega644\Debug\Makefile   148

und

ZitatSeverity   Code   Description   Project   File   Line
Error      Arduino.h: No such file or directory   bme680Mega644   c:\users\<user>\Documents\Atmel Studio\7.0\bme680Mega644\bme680Mega644\src\libraries\Wire\src\utility\twi.c   28

Evtl. benötigt man auch:
http://www.visualmicro.com/page/Arduino-for-Atmel-Studio-7.aspx

Das ist das Ergebnis:

PeMue

Hallo Jürgen,

echt cool, das finde ich klasse.

Zitat von: juergs am 19 Januar 2018, 20:48:25
habe kurz in AtmelStudio das .ino-Projekt migriert und die Precompiled-Lib einfach als Library eingebunden.
Welches? Das von Dir oder das von Thomas?
Wenn Du das von Thomas genommen hast, könnte ich das ja mal auf dem Steckbrett (oder meinem uralten Pollin Board) mal in Betrieb nehmen.

Sprich ich könnte mir jetzt Gedanken über einen Batteriesensor mit folgenden Eigenschaften machen:
- 2xAA + stepup Regler
- Atmega644PAU (mit Quarz oder nur internem Quarz?)
- BME680 bzw. andere Sensoren (auch VOC?), welche?
- RFM69CW (Universalsensor) bzw. alternativ CC1101 Modul (Homematic oder was auch immer)
- vernünftiges Gehäuse

Fehlt dann noch was?

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

juergs

#320
Hallo Peter,

ich habe das gerade quick&dirty gemacht.
Habe das ESP-Projekt von mir genommen (mit Thomas seinem geht das auch...)
Man muss nur die ESP-spezifischen Dinge herausnehmen ...

Für den 644P muss man noch die Feinheiten einstellen und schauen dass der Compile ohne Fehler mit den Arduino Bibliotheken durchgeht.
Das ist noch etwas F&E notwendig....  ;)

Wenn es auf den 328P geht (sprich NANO) ...  :-\

Aber prinzipiell geht es mal, das ist doch schon gut!

ZitatSprich ich könnte mir jetzt Gedanken über einen Batteriesensor mit folgenden Eigenschaften machen:
- 2xAA + stepup Regler
- Atmega644PAU (mit Quarz oder nur internem Quarz?)
- BME680 bzw. andere Sensoren (auch VOC?), welche?
- RFM69CW (Universalsensor) bzw. alternativ CC1101 Modul (Homematic oder was auch immer)
- vernünftiges Gehäuse
Das hört sich super gut an. Als erstes mal ein Breadboard-Prototyp, um zu sehen wie sich die Lib auf einem 8-Bitter verhält....

Ein 3D-Gehäuse hätte ich (eigentlich) für morgen geplant ...

juergs

#321
Zitat(auch VOC?), welche?
Mein geliefertes CSS811-Board mit dem CSS811 ist der Chip leider defekt, lässt sich aber gut auslöten ...
Muss aber erst einen Neuen besorgen.

Die andere VOC Variante wäre ja, die mit dem Sensor des CO2Monitor-Teils mit dem ZGm053U
ZitatMethod - Dual Beam NDIR
Könnte aber etwas teurer sein ... Evtl. billiger dem CO2Monitor einfach ein FHEM-Node-Gateway zu "verpassen" ...  ;)

Finde den BME680 mittlerweile mehr als ausreichend mit plausiblen Werten ... was braucht man mehr?

Ich  habe bei den Sensortec-Issues auf github einen Vergleich diverser Sensoren mit dem BME680 gesehen, die Kurven waren fast alle gleichwertig ...
Finde aber die Seite nicht mehr ...


PeMue

Zitat von: juergs am 19 Januar 2018, 21:06:57
Ich  habe bei den Sensortec-Issues auf github einen Vergleich diverser Sensoren mit dem BME680 gesehen, die Kurven waren fast alle gleichwertig ...
War das diese Seite (Posts vom 12. November)?
https://github.com/BoschSensortec/BME680_driver/issues/6

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

juergs

#324
ja, genau! Danke.
Diese Seite verhält sich komisch, geht man raus und wieder rein sind es nur 5 Issues.  >:(
Ok, es sind Unterkommentare des 5. Eintrages, jetzt!
Deswegen: Es wird aber nur zögerlich geantwortet ...
Man hätte eine Ebene höher fragen sollen ...

Zitatthe code will not fit on Arduino boards based on the Atmel AVR series that have 32kB flash and 2kB of RAM
Also doch 644 oder größer ...

Ein 644P-Board und ein Atmel-ICE habe ich auch noch irgendwo rumliegen ....

juergs

#325
AVR_GCC Standalone-Toolchain für Windows & Linux: avr-and-arm-toolchain
ZitatAtmel AVR GNU Toolchain is also available as part of Atmel Studio. Only those users who wish to run the Atmel AVR GNU Toolchain as standalone tools from the command line need to download and install this package.
Dann sollte ein passendes Makefile reichen...

Momentan macht boards.txt noch Probleme, weil sich die Struktur mit dem Boardmanager geändert hat, aber AtmelStudio eigentlich die "alte" Variante erwartet.
Anbei Beispiel-Einträge für den ATMEGA644. Oder von: hier
Der Arduino Boardmanager bietet mir keine ATMEGA644-Boards an. (Platforms1.wiki , Bootloader)
Arduino-IDE-1.5-3rd-party-Hardware-specification

juergs

Info zum Maple mit BME680:
Zitat2018.01.20 18:14:52 5: LGW: CustomSensor-Frame: OK CC 7 6 7 45 9 134 0 37 0 0 80 35 144 16
2018.01.20 18:14:52 3: LGW: CustomSensor-rname: bme680_cc_07

Senden mit RFM funktioniert.
Ursache : RF_PALEVEL_OUTPUTPOWER_11111 geändert auf RF_PALEVEL_OUTPUTPOWER_01111.  :)

hdgucken

#327
Hallo Jürgen, Hallo Peter,

hab inzwischen auch alles mögliche inkl. Atmel Studio 7 und Mighty Core für Arduino probiert, aber nichts führt so recht zum Erfolg mit den ATMEGA 644/1284  :(
Es sollte eigentlich dieser Tage eine Arduino kompatible Lib für die AVR's von Bosch Sensortec kommen, ich schaue jetzt immer mal wieder nach dieser Version  8)
Zitat von: juergs
Info zum Maple mit BME680:
Senden mit RFM funktioniert.
Ursache : RF_PALEVEL_OUTPUTPOWER_11111 geändert auf RF_PALEVEL_OUTPUTPOWER_01111.  :)
Cool, ich hab meine ARM's leider noch nicht bekommen (ab ca. dem 5.Feb. sollen sie geliefert werden) :P

Hab mal wieder den Universalsensor überarbeitet, hier ist V2.2 ! Alles ist jetzt über die Defines auswähl- bzw. einstellbar,
Soft-SPI (nicht mehr die RFMxx.h ändern), debug mode und alle Zubehör Sachen.
Dabei ist mir aufgefallen, warum bei Dir und dem WROOM2 Board die Adafruit Lib warscheinlich nicht funktioniert:
In der Adafruit_SSD1306.cpp steht nochmal "Wire.beginn()" !!! Damit geht das natürlich nicht für's WROOM2  :o
 
  ...
  else
  {
    // I2C Init
    Wire.begin();
#ifdef __SAM3X8E__
...


Anbei mal wieder die neue Version, plus ein paar Impressionen(mit und ohne debug, soft/hw SPI ...):

Gruß Thomas


juergs

#328
Hallo Thomas,
richtig gut!

Zitathab inzwischen auch alles mögliche inkl. Atmel Studio 7 und Mighty Core für Arduino probiert, aber nichts führt so recht zum Erfolg mit den ATMEGA 644/1284

Ja so ist es mir auch ergangen ... Vorrausetzung ist es die Arduino IDE zu überreden die alte Struktur der Boards auf ATMEGA644 zu setzen, da AS7 diese alte Struktur erwartet um die Templates beim Import auf den 644  setzen zu können.
Evtl. geht das nur mit einer älteren Version, die noch mit <Arduino_Verzeichnis>/Hardware/boards.txt arbeitet. Genau
diese liest ja AS7 bei migrieren und setzen der Boardeinstellungen aus.
Vielleicht reicht es aus dort nur den 644-Eintrag nachzurüsten, ohne dass es in Arduino eine Wirkung hätte.
Der Rest erfolgt ja dann in der eigenen Toolchain von AS7. Wichtig wäre einfach nur das "richtige" Makefile für den 644 zu erhalten.
Wie gesagt, der 644 ist ja nicht mehr so der "Mainstream" bei den Boards  :'(


ZitatWROOM2 Board die Adafruit Lib warscheinlich nicht funktioniert: In der Adafruit_SSD1306.cpp steht nochmal "Wire.begin()"
=> Standard I2C für das Wroom2-Board falsch herum...

Ja ist mir auch schon aufgefallen, nach dem ich die ASCII1306-Lib schon angewandt hatte.
Damit war für mich die Adafruit-Lib raus ... Kann aber wegen den Grafik-Eigenschaften noch mal
die Lib in Betracht ziehen.  ;)

Verbesserungen kann ich noch weiter Implementieren:
z.B.: 
* Display (An/Aus ggf. Sleep und WakeUp)
* Balken- oder Gauge-Anzeige wie hier, eigene Display-Routinen!
* Ersetzen des Display-Updates durch direktes Positionieren der Messwerte. (Blinken stört mit der Zeit (wg. println -Bildaufbau) 
* mehrere Display-Seiten

Beim Maple erfolgt der Displayaufbau etwas langsamer als mit dem ESP. Liegt wohl an der 400KHz-I2C-Taktrate.
Aber dieser ist für Batteriebetrieb geeignet.

Den PALevel auf 15 setzen ist wahrscheinlich für alle Varianten zu empfehlen ...  :)

Ich kümmere mich jetzt mal um das Gehäuse und widme mich dann deinem UniversalSensor-Build  :)

Vielleicht solltes Du auch über einen Github-Account den Code dort ablegen, das hätten den Charme, dass man dort
dann zusammen arbeiten könnte  ;) und die Versionierung + Dokumentation einfacher ist ...

Grüße,
Jürgen

juergs

3D-Gehäuse für Wroom2-Board im 3D-Druck-Thread:
https://forum.fhem.de/index.php/topic,83085.0.html

Ideen dazu gerne wilkommen.  :D