UniPi - The Universal Raspberry Pi add-on board

Begonnen von betateilchen, 10 November 2014, 19:01:15

Vorheriges Thema - Nächstes Thema

betateilchen



root@raspberrypi:/home/udo# echo mcp7941x 0x6f > /sys/bus/i2c/devices/i2c-1/new_device
root@raspberrypi:/home/udo# hwclock -r
Mo 01 Jan 2001 01:00:02 CET  -0.512983 seconds
root@raspberrypi:/home/udo# hwclock -w
root@raspberrypi:/home/udo# hwclock -r
Fr 14 Nov 2014 19:33:58 CET  -0.512091 seconds
root@raspberrypi:/home/udo#



Die RTC scheint schonmal zu laufen...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

(http://up.picr.de/20123689pf.png)

Sieht auch schon gut aus.

Klaus, ich hab noch ausser dem BMP180 noch nie weiter mit I2C auf dem Raspi beschäftigt. Gibt es schon was, das ich jetzt sinnvoll testen könnte?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

klausw

Zitat von: betateilchen am 14 November 2014, 19:40:54
Sieht auch schon gut aus.

Klaus, ich hab noch ausser dem BMP180 noch nie weiter mit I2C auf dem Raspi beschäftigt. Gibt es schon was, das ich jetzt sinnvoll testen könnte?
Jo, das läuft würde ich sagen.

Mhh, ich bin unterwegs kann also nicht testen.
Du kannst mit dem RPII2C Modul über set und get testweise mit den I2C IC's kommunizieren.

Schau mal ins Datenblatt von MCP23016 und 23008. Wenn die Register kompatibel sind könntest Du das 52_MCP23016 auch für den 23008 verwenden.
Die RTC würde ich nicht in FHEM sondern auf Systemebene einbinden.

Den 1Wire Treiber kannst Du meines Wissens über owfs einbinden, aber Norbert hat schon mal begonnen, sein 1-wire Modul zu erweitern, das sich auch RPII2C als physical nutzen lässt. Dann währe owfs hinfällig. (Ohne 1-wire Geräte bringt Dir das aber sowieso nix)

Für den EEPROM und A/D Wandler habe ich noch nix. A/D Wandler werde ich als nächstes beginnen. Um den EEPROM sinnvoll einzubinden fehlt mir noch die zündende Idee.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

betateilchen

Zitat von: klausw am 14 November 2014, 20:05:01
Du kannst mit dem RPII2C Modul über set und get testweise mit den I2C IC's kommunizieren.


Schau mal ins Datenblatt von MCP23016 und 23008. Wenn die Register kompatibel sind könntest Du das 52_MCP23016 auch für den 23008 verwenden.

Ja, ich befasse mich mal damit. 52_MCP23016 finde ich nicht, nur MCP23017. Damit konnte ich testweise keine Relais schalten.

Zitat von: klausw am 14 November 2014, 20:05:01
Die RTC würde ich nicht in FHEM sondern auf Systemebene einbinden.

Das sehe ich auch so.

Zitat von: klausw am 14 November 2014, 20:05:01
Den 1Wire Treiber kannst Du meines Wissens über owfs einbinden, aber Norbert hat schon mal begonnen, sein 1-wire Modul zu erweitern, das sich auch RPII2C als physical nutzen lässt. Dann währe owfs hinfällig. (Ohne 1-wire Geräte bringt Dir das aber sowieso nix)

Mit 1Wire hab ich noch nie was gemacht. Die Variante über RPII2C wäre natürlich charmant.

Zitat von: klausw am 14 November 2014, 20:05:01
Für den EEPROM und A/D Wandler habe ich noch nix. A/D Wandler werde ich als nächstes beginnen. Um den EEPROM sinnvoll einzubinden fehlt mir noch die zündende Idee.

Da wird sich sicher noch was finden lassen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Die Register sind komplett anders, da der MCP23008 nur einmal 8 ports besitzt. Sieht so aus, als müsste man aus dem 52_I2C_MCP23017 ein 52_I2C_MCP23008 ableiten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

klausw

Zitat von: betateilchen am 14 November 2014, 20:10:51
Ja, ich befasse mich mal damit. 52_MCP23016 finde ich nicht, nur MCP23017. Damit konnte ich testweise keine Relais schalten.

Äh, das meinte ich auch. Ok, dann gibts ein neues Modul dafür. Schaffe ich denke ich dieses Wochenende.

Zitat von: betateilchen am 14 November 2014, 20:24:43
Die Register sind komplett anders, da der MCP23008 nur einmal 8 ports besitzt. Sieht so aus, als müsste man aus dem 52_I2C_MCP23017 ein 52_I2C_MCP23008 ableiten.

Genau

Zitat von: betateilchen am 14 November 2014, 20:10:51
Mit 1Wire hab ich noch nie was gemacht. Die Variante über RPII2C wäre natürlich charmant.

Eben, das spart jede Menge Aufwand bei der Installation. Wenn Du Lust hast, kannst du mal Norbert anhauen, der ist für Unterstützung sicher dankbar.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

betateilchen

#21
Ich hab das 52_I2C_MCP23008 fast fertig :) Die %register wurden angepaßt, und schon kann ich die acht Relais schalten:

(http://up.picr.de/20124441of.png)

Was am Modul noch gemacht werden müsste: Es werden readings für portB erzeugt, die natürlich keinen Sinn machen.

Ich schick Dir meine Modulversion per email. Es ist eine Kopie der MCP23017 mit folgenden Änderungen:


  • alle Vorkommen von MCP23017 durch MCP23008 ersetzt
  • Register angepaßt


define relais I2C_MCP23008 32
attr relais IODev i2c
attr relais OutputPorts A0,A1,A2
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

klausw

#22
Hier die Vorabversion des Moduls, um die Relais anzusteuern
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

tomster

Hui, Jungs. Ihr seid schneller als die Feuerwehr!
Jetzt müsst ich bloß noch eine Hutschiene haben, dann würd ich auf den Zug aufspringen...

betateilchen

Monatagetipps für diverse Boards - Achtung: Beaglebone kann verwendet werden, wird aber offiziell (noch) nicht unterstützt.

(http://up.picr.de/20187723ad.jpg)

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Inzwischen sind hier auch ein 1wire-Temperatursensor und eine Montageplatte für den Verteilerschrankeinbau auf Hutschiene angekommen. Mal schauen, wie ich mit dem Sensor weiterkomme. 1wire ist bisher komplett an mir vorbeigegangen - damit hatte ich noch nie was zu tun.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

klausw

Zitat von: betateilchen am 27 November 2014, 13:51:02
Inzwischen sind hier auch ein 1wire-Temperatursensor und eine Montageplatte für den Verteilerschrankeinbau auf Hutschiene angekommen. Mal schauen, wie ich mit dem Sensor weiterkomme. 1wire ist bisher komplett an mir vorbeigegangen - damit hatte ich noch nie was zu tun.
Da hast du mur was vorraus, ich habe noch keine passenden 1wire Teile  8).
Da hatte sich Norbert schonmal rangesetzt (OWX Modul -> RPII2C Modul). Ist aber noch nicht fertig.
Diese Lösung hätte den Vorteil, das man keine zusätzlichen Module/Server/Programme installieren muss.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

betateilchen

Für das Notizbuch...



1. Pakete installieren:
dpkg -i owserver_2.8p17-1_armhf.deb libow-2.8-17_2.8p17-1_armhf.deb owfs-common_2.8p17-1_all.deb owhttpd_2.8p17-1_armhf.deb

2. Datei /etc/owfs.conf bearbeiten:

  server: device = /dev/i2c-1
  http: port = 2121
  ftp: port = 2120
  server: port = localhost:4304
  Celsius

3. fhem device anlegen:
define OWSERVER OWServer localhost:4304

4. die erste Abfrage
get OWSERVER devices

Ergebnis: 28.DB9453060000 DS18B20



so weit, so gut. Jetzt mal schauen, wie ich da die tatsächliche Temperatur rausbekomme.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

och, das war ja völlig unspektakulär...


define sensor OWDevice 28.DB9453060000 60


(http://up.picr.de/20237554bx.png)

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Die Lösung über OWX und RPII2C wäre natürlich genial. Aber um da mitzuhelfen, hab ich zu wenig Ahnung von I2C.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!