An die Vorstellung des Projekts habe ich mich noch nicht gewagt. Sobald ein zwei drei vier .... Schönheitsfehler ausgebügelt sind, werde ich es vorsichtig versuchen.
Posts by Denker
-
-
Gut geschissen.
-
Python ist sehr sexy. Für meine Steuerung im Hühnerstall habe ich eine Mischform gewählt die es ermöglicht, die Hühnerklappe, das Licht und den Wasserwärmer vor ORT via Taster am PI, sowie über das Internet, per Smartphone zu steuern. PHP ist schon auch sehr cool und die grafischen Gestaltungsmöglichkeiten sind enorm.
-
Danke für die Rückmeldungen.
Was ich gelernt habe:
. Meine Datenbank ist von meinem Dienstleister für Webspace für direkte Fütterungen von außen geschützt. Gut so.
. SD-Karten-Zugriffe sind in meiner Dimension (so alle 30 Minuten) keine so großes Thema.
. SHOW GRANTS FOR sagt viel über Rechte und Struktur der Datenbank.
. man muss das Anliegen schon genau beschreiben
. ich kann urllib.urlopen("http://xxxxx").read() auch ohne read benützen.Und das ist auch meine angewendete Form, die Temperaturdaten in die externe Datenbank zu platzieren. Ich rufe ein PHP-Script auf dem Server - auf dem auch die Datenbank läuft - auf, und schicke mit dem Aufruf die Werte an die Datenbank. Das funktioniert.
Eine Frage, die ich vielleicht sogar an einer anderen Stelle stellen muss eröffnet sich neu.
Jetzt lese ich die Temperaturwerte mit PYTHON und Adafruit_DHT.read_retary(sensor, pin).
Welche Möglichkeit gibt es die Werte via PHP-Script zu lesen?Liebe Grüße
der nachdenkliche DENKER -
Hallo Denker,versuchst du denn direkt von deinem Pi aus auf die externe Datenbank zuzugreifen? Das ist - aus guten Gründen - bei vielen Hostern nicht erlaubt und einen eigenen Root Server (bei dem du das erlauben könntest) wirst du vermutlich nicht am Start haben.
Was du aber machen kannst ist mit einem Script auf dem Pi deine Messdaten per $_GET oder $_POST Request an ein (z.B. PHP) Script auf ebendiesem Server zu schicken, das die angenommenen Daten (nach einer Verifizierung > siehe auch SQL Injection) an die angebundene Datenbank weiterreicht. Das mache ich mit meinen 14 Funksensoren auch so und das funktioniert prima, da das Script an das du die Daten sendest ja auf dem Server / dem Webspace liegt und damit auch Zugriff auf den Localhost hat.
Ja, ich will vom PI aus da zugreifen. Habe auf dem Server schon ein Script geschrieben, welches die Aufgabe eigentlich erfüllt. Ich fand aber nur den Befehl urllib.urlopen("http://xxxxx").read(). Bei diesem Befehl ist mir aber auch nicht klar, ob da schon etwas auf die lokale SD-Karte geschrieben wird. Dieses Schreiben will ich ja vermeiden.
Die weiteren Anregungen werde ich jetzt abarbeiten. Danke.
-
Hat der Benutzer xx@xx.xx.xx.xx denn die Berechtigung auf die Datenbank zuzugreifen?ja, xx sind Phantasiebuchstaben. In der realen Anwendung schaut es dann schon anders aus.
-
Einen schönen verregneten Nachmittag.
Mein begehren ist es, die Daten von meinem Temperatursensor in einer Datenbank zu speichern. Da ich gelesen habe, dass die Schreibvorgänge auf der SD-Karte nicht zu sehr strapaziert werden sollen, möchte ich die Daten an eine Datenbank im Netz senden. Über einen Provider habe ich ja da schon eine SQL-Datenbank. Mein Problem ist die Anmeldung an diese Datenbank. MySQLdb.connect bringt einige Fehler. Deshalb meine Frage: Ist MySQLdb.connect auch für SQL-Server möglich, der nicht als localhost angesprochen wird?
Code
Display Moredb_conn =MySQLdb.connect( ... host = db_host, ... user = db_user, ... passwd = db_pass, ... db = db_name ... ) Traceback (most recent call last): File "<stdin>", line 5, in <module> File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect return Connection(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__ super(Connection, self).__init__(*args, **kwargs2) _mysql_exceptions.OperationalError: (1045, "Access denied for user 'xxx'@'xx.xxx.xx.xx' (using password: YES)")Herzlichst
denker -
Herzlichen Dank an alle Wissenden.
Das Relais macht jetzt was es soll. Raspberry PI und ich leben noch. Einzig - beim Starten des Raspberry leuchten die Dioden des Moduls ganz leicht. Nach einer ersten Initialisierung der Ports ist das schwache Glimmen vorbei.
Liebe Grüße
Denker
ES GIBT SO VIEL ZEIT - UND TÄGLICH KOMMT NEUE HINZU -
Da muss ich Aro zustimmen, wenn ich mir den Schaltplan hier anschaue, ist da aber noch die Leuchtdiode in Reihe geschaltet.
http://cm.lnwfile.com/_/cm/_raw/d3/rg/v7.jpg
Das heißt im Klartext, dass der Strom durch die Leuchtdiode im Optokoppler noch kleiner ist, als Aro überschlagen hat.
Der Widerstand ist auf deinem Foto 1 kOhm groß (der mit der 102 drauf), wo hast du die 470 Ohm her? Hast du noch einen extra 470 Ohm Widerstand am Kabel zwischen Raspberry Pi und Relaisplatine?
Wenn der verlinkte Schaltplan stimmt, müsste das Relais auch bei GPIO=Low anziehen und bei GPIO=High abfallen, also invertierte Logik.Man könnte die Leuchtdiode auslöten und durch eine Brücke ersetzen und dann den 1 kOhm Widerstand anpassen. Dann müsste die Schaltung auch mit den 3,3 V GPIOs des Raspi funktionieren.
Ich rechne das gleich mal aus.
Mfg, Bimbo385
Genau, ich habe eine invertierte Logik. Will ich eigentlich nicht.
Und ja die 470 Ohm sind zwischen Raspberry Pi und Relaisplatine.Danke für die "Hochrechnungen"
-
Display More
Das klingt schon besser. Die Leuchtdiode im Optokoppler ist mit 1,2 V angegeben. Wenn man jetzt mit 5 mA durch die Leuchtdiode im Optokoppler rechnet und die extra Leuchtdiode durch eine Brücke ersetzt, braucht man einen 420 Ohm Widerstand, statt 1000 Ohm:
R [Ohm] = (3,3 V - 1,2 V) / 0,005 A = 420 Ohm
Du kannst die Rechnung auch umdrehen und schauen, was mit 1 kOhm passiert:
I [A] = (3,3 V - 1,2 V) / 1000 Ohm = 0,0021 A = 2,1 mA
Das könnte auch noch solide funktionieren. Der Optokoppler hat ein CTR von mindesten 50 %, das heißt gut 1 mA für den nachgeschalteten NPN-Transistor. Der hat vielleicht einen hFE von 100 (kenne ja den Transistortyp nicht), macht dann 100 mA für das Relais, vielleicht auch mehr. Das könnte man riskieren, du solltest aber die Spannung am Kollektor des NPN-Transistors nachmessen, ist das mehr als 0,4 V, reicht der Strom nicht um den richtig durchzuschalten.Mit der sichtbaren Leuchtdiode sieht die Rechnung schon etwas anders aus, z.B. bei einer normalen grünen LED (2,1 V):
R [Ohm] = (3,3 V - 1,2 V - 2,1 V) / 0,005 A = 0 Ohm !!!!!!! ACHTUNG NICHT MACHEN !!!!!!!!!!!
Es bleibt mit der LED zur Anzeige bei nur 3,3 V praktisch keine Spannung für den strombegrenzenden Vorwiderstand mehr übrig.
Das heißt im Klartext, dass sich so kein solider Arbeitspunkt einstellen kann. Bei deiner jetzigen Kombi fließt nur ein minimaler Strom, der sich irgendwie aus den Diodenkennlinien und dem 1 kOhm Widerstand ergibt und mehr oder weniger zufällig ausreicht, damit der nachgeschaltete NPN-Transistor das Relais durchschaltet. Das es so funktioniert ist eher pfusch und kann bei einer Erwärmung, Alterung oder einfach einem anderen, baugleichen Relaismodul schon anders aussehen.Mfg, Bimbo385
Aha. Das heißt, eigentlich verstehe ich das nicht ganz. Ich dachte der zusätzliche 5 V - Anschluss am Relais Bord - versorgt vom PI - sollte die nötige Kraft liefern. Der Kreis mit 3,3 V sei nur
Dann brauche ich also wirklich eine Transistorstufe (siehe Anhang)?
-
-
1,2 V messe ich zwischen Ground und jedem IN-Pin.
Setzte ich den GPIO auf HIGH, liegen an diesem PIN (IN1) 3,2 V an.Ist das China-Modul das Problem? Was gäbe es für eine Alternative?
-
Mein Raspberry lebt noch.
Habe ein 8 Relais Modul neben mir liegen.
3,3 V vom PI liegen an VCC (bei den INPUTS) an
5,0 V vom PI liegen an VCC (Relais Versorgung) an
Ground vom PI ist mit dem Ground vom Relais verbundenGPIO 4 vom PI ist über einen 470 Ohm Widerstand mit IN1 vom Relais verbunden.
Weil sich nichts tut wenn ich den GPIO auf HIGH oder LOW setzte habe gemessen und festgestellt, an allen IN-Pins liegen ca. 1,2 V an.
Darf das sein?Herzlichst
Denker -
Mein Raspberry lebt noch.
Habe ein 8 Relais Modul neben mir liegen.
3,3 V vom PI liegen an VCC (bei den INPUTS) an
5,0 V vom PI liegen an VCC (Relais Versorgung) an
Ground vom PI ist mit dem Ground vom Relais verbundenGPIO 4 vom PI ist über einen 470 Ohm Widerstand mit IN1 vom Relais verbunden.
Weil sich nichts tut wenn ich den GPIO auf HIGH oder LOW setzte habe gemessen und festgestellt, an allen IN-Pins liegen ca. 1,2 V an.
Darf das sein?Herzlichst
Denker