Selbstbau HM_WDS10_TH_O mit Luftdruckmessung

Begonnen von trilu, 23 Februar 2014, 12:23:22

Vorheriges Thema - Nächstes Thema

Tom Major

ohne bootloader kannst du nicht über das serielle Interface (PINs 9 bis 12) von JP1 flashen..
Du brauchst erst mal einen bootloader im device, den du über 6 pins (ISP: 3xSPI, Vcc, Gnd, Rst) flashen musst.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

Gernott

Zitat von: Tom Major am 24 September 2018, 16:50:23
ohne bootloader kannst du nicht über das serielle Interface (PINs 9 bis 12) von JP1 flashen..
Du brauchst erst mal einen bootloader im device, den du über 6 pins (ISP: 3xSPI, Vcc, Gnd, Rst) flashen musst.

Den Bootloader bekommt man nur drauf, bevor das Funkmodul aufgelötet wurde, da es an denselben Pins hängt. Zumindest habe ich es bisher immer so gemacht.

PeMue

Zitat von: Gernott am 24 September 2018, 17:17:47
Den Bootloader bekommt man nur drauf, bevor das Funkmodul aufgelötet wurde, da es an denselben Pins hängt. Zumindest habe ich es bisher immer so gemacht.
Sollte m.E. auch mit dem Funkmodul gehen, ich meine ich hätte das damals so gemacht (ist aber ein paar Jahre her  ;)).

Gruß PeMue
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

Tom Major

#2523
Zitat von: Gernott am 24 September 2018, 17:17:47
Den Bootloader bekommt man nur drauf, bevor das Funkmodul aufgelötet wurde, da es an denselben Pins hängt. Zumindest habe ich es bisher immer so gemacht.

Solange das Funkmodul am Chip Select pin (CSN -> Arduino D10) High Pegel hat ist alles save, jeder SPI chip ist dann per Definition passiv. Also z.B. einen 10k von D10 nach +3,3V während des Flashes über ISP, dann ist man auf der sicheren Seite.
p.s. Gute Designs haben einen solchen pull-up Widerstand standardmässig in der Schaltung drin wenn die SPI mehrfach verwendet wird.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

Gernott

Zitat von: Tom Major am 24 September 2018, 17:27:50
Gute Designs haben einen solchen pull-up Widerstand standardmässig in der Schaltung drin wenn die SPI mehrfach verwendet wird.
Auf der abgebildeten Außensensorplatine ist dieser Widerstand nicht vorgesehen (ohne Wertung), muß also temporär angehängt werden.

PSI69

Danke! Ich versuche mal zusammen zu fassen, was ich mitbekommen habe:

  • 10k von D10 nach +3,3V; also JP2/12; während des Flashvorganges
  • bootloader über 6 pins (ISP: 3xSPI, Vcc, Gnd, Rst) flashen

OK, laut http://www.holgerschurig.de/de/raspi-atmega/ muss

  • GPIO25 nach RESET - JP2/3?
  • GPIO10/SPI0_MOSI nach D11/MOSI - JP2/11?
  • GPIO9/SPI0_MISO nach D12/MISO - JP2/10?
  • GPIO11/SPI_CLK nach D13/SCK - JP2/9?
  • 3,3V an VCC - JP2/4?
  • GND an GND - JP2/2?

Laut hier https://www.elektronik-kompendium.de/sites/raspberry-pi/1907101.htm bekomme ich die 3,3V von Anschluss 1 bzw. 17 am PI, reichen die 50mA zum flashen?

Passt das und muss ich als 'Ersttäter' noch etwas beachten?
Peter
FHEM auf RPi 5 unter Bookworm mit inzwischen einem ganzen Zoo von Geräten...

Tom Major

#2526
Zitat von: PSI69 am 24 September 2018, 18:13:04
Danke! Ich versuche mal zusammen zu fassen, was ich mitbekommen habe:

  • 10k von D10 nach +3,3V; also JP2/12; während des Flashvorganges
  • bootloader über 6 pins (ISP: 3xSPI, Vcc, Gnd, Rst) flashen

Dieser Teil klingt def. ok.
Zum Flashen über RPi kann ich nichts sagen da noch nie gemacht, Schaltung sieht aber ok aus.
Wenn du noch nie einen AVR geflasht hast würde ich eher auf einen der zahlreichen USB Programmer zurückgreifen, USBasp usw.
imho ist das der Standard, Flashen über die SPI eines RPi ein eher etwas unüblicherer Weg..
Ich würde annehmen das 50mA fürs Flashen reichen, finde auf den ersten Blick keine Angabe dazu im datasheet.

P.S. Du kannst auch mit einem Arduino Uno usw. einen anderen AVR flashen, Anleitungen dazu gibt es viele im Netz.
Zitathttps://www.arduino.cc/en/Tutorial/ArduinoToBreadboard
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

PSI69

Zitat von: Tom Major am 24 September 2018, 22:31:29
Dieser Teil klingt def. ok.
Zum Flashen über RPi kann ich nichts sagen da noch nie gemacht, Schaltung sieht aber ok aus.
Wenn du noch nie einen AVR geflasht hast würde ich eher auf einen der zahlreichen USB Programmer zurückgreifen, USBasp usw.
imho ist das der Standard, Flashen über die SPI eines RPi ein eher etwas unüblicherer Weg..
Ich würde annehmen das 50mA fürs Flashen reichen, finde auf den ersten Blick keine Angabe dazu im datasheet.

P.S. Du kannst auch mit einem Arduino Uno usw. einen anderen AVR flashen, Anleitungen dazu gibt es viele im Netz.

OK, ein flashen über USB ist mir lieber, ich hatte mir dazu den hier https://www.amazon.de/dp/B0757FQ5CX/ref=pe_3044161_185740101_TE_item besorgt, aber nicht beachtet, dass mir dieser Weg (seriell) ohne Bootloader noch nicht offen steht. Ich habe mir für den Bootloader nun noch einen USBasp Programmer bestellt - so lange hat das jetzt halt noch Zeit.

Peter
FHEM auf RPi 5 unter Bookworm mit inzwischen einem ganzen Zoo von Geräten...

Gernott


cactus-online

Zitat von: Gernott am 03 Oktober 2018, 14:36:04
Mal dazu eine Frage: Läuft der SHT31 auf der Universalsensorplatine auch mit der Standard-Firmware von Dirk, in der ja original der SHT10 eingesetzt ist?

Gruß
G.

Nein. SHT31 "spricht" I2C nativ. Die SHT1x haben ein eigenes Protokoll, wenn ich mich recht erinnere.

Gernott

Ich habe eine geforkte sensirion-Library gefunden, die wohl auch den SHT31 anspricht:
https://github.com/HydroSense/sensirion/blob/master/sensirion.h

Kann man die als direkten Ersatz verwenden und welche Modifikationen am Code wären dann noch notwendig?

Danke & Gruß
G.

Tom Major

Zitat von: Gernott am 03 Oktober 2018, 15:34:26
Ich habe eine geforkte sensirion-Library gefunden, die wohl auch den SHT31 anspricht:
https://github.com/HydroSense/sensirion/blob/master/sensirion.h

Kann man die als direkten Ersatz verwenden und welche Modifikationen am Code wären dann noch notwendig?

Danke & Gruß
G.

In meinem UniSensor Beispiel ist die Einbindung diverser Sensoren demonstriert
https://github.com/TomMajor/AskSinPP_Examples/tree/master/HB-UNI-Sensor1
Dort habe ich gerade letztens den SHT10 für kpwg eingebunden.
Du könntest dort einen "einfachen" I2C Sensor wie Sensors/BME280 hernehmen und den versuchen auf SHT31 umzuschreiben.

Bei deinem link der geforkte sensirion-Lib wundert mich nur dass dort "Bit-Banging" statt der Arduino Wire Lib für die I2C Kommunikation verwendet wird, erscheint mir merkwürdig, habe aber nur ganz kurz einen Blick reingeworfen..
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

cactus-online

Die funktioniert auf jeden Fall, ich habe diese schon in anderen Projekten verwendet.

https://github.com/adafruit/Adafruit_SHT31

Tom Major

Die sieht auch besser aus, benutzt Arduino Wire Lib für I2C.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

P.A.Trick

Hallo Dirk, mein Universalsensor hat nach 4 Jahren den Geist aufgegeben. Hast du zufällig noch einen vorrätig?
Danke und Gruß
Patrick
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn