Ja das möchte ich. Aber wenn du so fragst ist das sicher nicht richtig oder?
Beiträge von tutter
-
-
Hallo an alle,
aktuell versuche ich mich mit dem ESP 8266 zu beschäftigen. Für mich ist noch vieles Neuland, das gebe ich gleich zu.
Ich habe einen BME280 mit dem ESP8266 verkabelt.
D1 = SCL
D2 = -SDA
3V = VIN
G = GND
Dazu nachfolgender Code auf den ESP8266 geladen.
Das ganze klappt bei mir mit dem Port COM 4. Dieser steht unter Windows auf 9600 Baut.
Leider erhalte ich jedoch keinerlei Meldung vom Serieller Monitor. Ich habe es so verstanden das ich diesen einfach öffnen müsse und mir werden dann die Werte angezeigt. Bei mir geschieht jedoch überhaupt nichts!
Es kommt noch nicht einmal für keine Verbindung. An was kann das liegen? Die Windowsfirewall kann es doch nicht sein oder?
C
Alles anzeigen/*************************************************************************** This is a library for the BME280 humidity, temperature & pressure sensor Designed specifically to work with the Adafruit BME280 Breakout ----> http://www.adafruit.com/products/2650 These sensors use I2C or SPI to communicate, 2 or 4 pins are required to interface. The device's I2C address is either 0x76 or 0x77. Adafruit invests time and resources providing this open source code, please support Adafruit andopen-source hardware by purchasing products from Adafruit! Written by Limor Fried & Kevin Townsend for Adafruit Industries. BSD license, all text above must be included in any redistribution See the LICENSE file for details. ***************************************************************************/ #include <Wire.h> #include <SPI.h> #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #define SEALEVELPRESSURE_HPA (1013.25) Adafruit_BME280 bme; // I2C //Adafruit_BME280 bme(BME_CS); // hardware SPI //Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI unsigned long delayTime; void setup() { Serial.begin(9600); while(!Serial); // time to get serial running Serial.println(F("BME280 test")); unsigned status; // default settings status = bme.begin(0x76); // You can also pass in a Wire library object like &Wire2 // status = bme.begin(0x76, &Wire2) if (!status) { Serial.println("Could not find a valid BME280 sensor, check wiring, address, sensor ID!"); Serial.print("SensorID was: 0x"); Serial.println(bme.sensorID(),16); Serial.print(" ID of 0xFF probably means a bad address, a BMP 180 or BMP 085\n"); Serial.print(" ID of 0x56-0x58 represents a BMP 280,\n"); Serial.print(" ID of 0x60 represents a BME 280.\n"); Serial.print(" ID of 0x61 represents a BME 680.\n"); while (1) delay(10); } Serial.println("-- Default Test --"); delayTime = 1000; Serial.println(); } void loop() { printValues(); delay(delayTime); } void printValues() { Serial.print("Temperature = "); Serial.print(bme.readTemperature()); Serial.println(" °C"); Serial.print("Pressure = "); Serial.print(bme.readPressure() / 100.0F); Serial.println(" hPa"); Serial.print("Approx. Altitude = "); Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); Serial.println(" m"); Serial.print("Humidity = "); Serial.print(bme.readHumidity()); Serial.println(" %"); Serial.println(); }
-
hallo und danke euch beiden. einen Umweg über MySQL wäre grundsätzlich auch möglich.
Schreiben wollte ich das ganze durchaus in MicroPython.
Der SQL Server läuft in meiner Landschaft sowieso aber ein weiterer "Anwendungsserver" soll aus Stromgründen nicht laufen. Somit sollte der "Zwischenschritt" entfallen. Ich schau mir das Vorgehen von framp aber mal genauer an. Ein solches Vorgehen praktiziere ich aktuell nicht.
Der MS-SQL Server scheint aber auch hier wieder die Ausnahme zu sein. Oder gibt es hier doch noch etwas um mit MicroPython direkt in die Datenbank zu schreiben?
-
Hallo an alle,
ich habe mir ein paar ESP8266 zugelegt und möchte gern zb. Temperatursensor auslesen und den Wert in eine Datenbank schreiben lassen. Dazu möchte ich gern den ermittelten Wert direkt in eine Datenbank schreiben lassen (Microsoft SQL Server oder Postgre SQL). Jedoch finde ich nur Anleitungen die über den Weg eines Webservers gehen. Sprich der Wert wird ermittelt und über einen Push (PHP) auf den SQL Server bzw. Datenbank geschrieben.
Jetzt bin ich noch zu neu in dem Thema, aber warum ist das so? Kann der ESP nicht eine Verbindung aufbauen und ein Insert absetzen?
-
Fensterhebersteuerung vom auto ist breit und es liegt an den wiederständen. Da müssen jetzt neue rein.
-
Hallo an alle,
ich suche sehr kleine Wiederstände auf SMD-Basis die Maße sind 3,3 mm x 1,5 mm.
Ich benötige diese in
800 Ohm
1800 Ohm
160 Ohm
Alles was ich bisher gefunden habe war zu groß!
Es wäre super wenn jemand helfen könnte.
-
noisefloor: ich habe deinen Tipp gleich mal ausprobiert. Wenn ich es richtig verstehe heißt das, ich dies wie folgt umgesetzt habe:
Ausgang:
ser.write(b'sw i03 ENTER')
abgeändert in:
ser.write(b'sw i03 \n')
Jedoch, man glaubt es kaum, schaltet hier gar nichts!
Oder muss der Befehl anders aussehen und ich habe etwas falsch verstanden?
Ich werde noch wahnsinnig mit dem ding!
-
hallo an alle und erst einmal ein frohes neues Jahr! über die Jahre habe ich etwas erstaunliches herausgefunden. Das bisherige Vorgehen kann nicht funktionieren. Mein HDMI Switch ist eine neue Version. Hier lauten andere Befehle!
Gut das dies natürlich nirgends geschrieben steht! aber nun gut!
Also wieder alles auf "Anfang"!
Es ist bei meinen Switch möglich eine Zeichenfolge zu senden, jedoch muss dahinter noch ein Enter stehen.
An der Stelle wo ENTER steht müsste ich noch das betätigen der Entertaste übergeben.
Wie kann man sowas machen?
Zur Erläuterung die Zeichenkette "sw i03" veranlasst das schalten auf Port 3 am HDMI Switch.
-
So nun weiter geht's. Das Switch scheint entweder nicht das richtig zurück zu senden oder aber von mir nicht den passenden Code zu erhalten.
Die Antwort lautet b''
also genau jenes b wo der eigentliche steuernde Code für das Switch drin zu stehen hat.
Ich habe nun alles mir bekannte im Code gesetzt. Das Timeout habe ich nun auch auf 3 Sekunden erhöht.
Trotzdem zuckt das Switch nicht. Das Tool von Aten arbeitet aber mit dem COM Port zusammen.
Der Code sieht nun so aus:
Code
Alles anzeigenimport serial ser = serial.Serial() ser.baudrate = 19200 ser.port = 'COM1' ser.bytesize = 8 ser.parity = 'N' ser.stopbits = 1 ser.timeout = 3 ser.open() ser.is_open True ser.write(b'\x5A\x7E\x81\x08\x01\x31\xBB\x81\xA5') answer = ser.readall() print(str(answer)) temp = input() #setzt das script in einen Wartezustand (wartet auf Tastatureingabe) ser.close() ser.is_open False
-
Hallo El_Zetto,
anbei der Code:
Codeimport serial ser = serial.Serial() ser.baudrate = 19200 ser.port = 'COM6' ser.timeout = 1 ser.open() ser.write(b'\x5A\x7E\x81\x00\x00\x81\x81\xA5') #ser.close() # warten auf Feedback?
ich habe mal über CMD
abgefragt nach dem ich das oben aufgeführte Python Skript laufen lies. Müsste der Com Port 6 nicht in "benutzung" bleiben, also müsste ich nicht ein Zugriff verweigert erhalten?
Wie kann ich die das von dir genannte Feedback abfangen? Meinst du das Aten HDMI Switch sendet ein Feedback?
-
Hallo EL_Zetto,
danke erstmal für deine Hilfe. Jedoch scheine ich irgendwo noch einen Denkfehler zu haben.
Vielleicht kannst du mir noch einmal helfen?
Anbei mal eine Portbeschreibung von meinen HDMI Switch.
Wenn ich das alles richtig verstanden habe müsste sich mein HDMI Switch von aktuell Port 4 auf Port 1 umschalten.
Hast du eine Idee warum es nicht umschaltet?
-
Hallo an alle,
ich nutze gerade Windows (ja keinen Pi) um mit den SerialPorts zu arbeiten.
Mein Ziel ist es mit Serial Ports eines HDMI Switch´s zu spielen. Der an das Switch zu sendende Befehl ist :
0x5A0x7E0x810x080x010x310xBB0x810xA5
Ich würde nach den ersten Test von Python darauf hingewiesen das Unicode nicht supported wird und ich meinen Befehl encoden soll.
Deswegen habe ich es mit serialcmd.encode versucht.
Jedoch bekomme ich jetzt permanent den Fehler das 'serialcmd' nicht gefunden werden kann. Installiert habe ich es doch und beim einbinden am Anfang des Skripts meckert er auch nicht.
Wo liegt denn jetzt mein Fehler?
Meine Python-Datei sieht wie folgt aus:
Code
Alles anzeigenimport serial ser = serial.Serial() ser.baudrate = 19200 ser.port = 'COM6' ser.timeout = 1 ser.open() ser.write(serialcmd.encode('0x5A0x7E0x810x080x010x310xBB0x810xA5')) #command = '0x5A0x7E0x810x080x010x310xBB0x810xA5' #ser.write(command) #print(ser.name) #ser.readline() #print (ser.readline()) ser.close()
-
Gnom PERFEKT! danke! ich wusste noch gar nicht das es so was gibt!
-
Gnom das wäre doch eine super Lösung! den Reed als Öffner finde ich eine super Idee. Kannst du mir hier einen empfehlen?
-
Ähhmmm nein das Bimetall ist nicht geeicht und Stromausfall ist egal! Denn wenn nix Strom zum Relaischalten da ist dann kann die Dunstabzugshaube auch nicht gehen!
Hat jemand einen Lösungsansatz wie ich das Thema umsetzen kann_?
-
Oh das stimmt! da haben sich Fehler eingeschlichen! Danke euch beiden! Ich habe es korrigiert.
@flyppo nein tut es nicht! zu mindestens ist dieser Lösungsansatz mit ihm abgesprochen
-
Hallo an alle ich muss meinen Ofen (in der Wohnung) überwachen um diesen weiter betreiben zu können um so die Anforderungen des Schornsteinfegers zu erfüllen.
Um das zu realisieren habe ich mir folgendes ausgedacht. Dabei habe ich bewusst auf eine Überwachung mit einem Pi verzichtet da ich es gern so einfach wie möglich realisieren will, sprich nur über einen Schaltkreis.
Ich habe ein Bimetal welches bei über 60 Grad den Schaltkreis öffnet und ein Reed-Schalter (am Fenster) der bei Trennung der Kontakte den Schaltkreis öffnet.
Beide zusammen steuern ein Relai welches meine Dunstabzugshaube mit Strom versorgt oder eben nicht.
Dabei soll sich folgendes Szenario ergeben.
Fenster auf (Reedschalter auf = 0 ) und Ofen an (Bimetall = 1 ) Dunstabzugshaube an.
Fenster zu (Reedschalter zu = 1 ) und Ofen an (Bimetall = 1) Dunstabzugshaube aus.
Fenster auf (Reedschalter auf = 0) und Ofen aus (Bimetall = 0) Dunstabzugshaube an.
Fenster zu (Reedschalter zu = 1) und Ofen aus (Bimetall = 0) Dunstabzugshaube aus.
ergibt sich also folgendes:
Reed Ofen Relai
0 1 1
1 1 0
0 0 1
1 0 0
Wie könnte ich die Schaltzustände realisieren ohne Pi?? -
-
ja es sind auch kleine w´s das hatte ich nicht kopiert sondern nachträglich geschrieben aber die Forensoftware macht das automatisch in groß. Nicht gefunden?! das ist ja noch verwirrender! in dem Verzeichnis /var/www/html liegt eine phpinfo.php Datei.
Diese rufe ich über dem Browser wie folgt auf http://192.168.178.29/html/phpinfo.php hier kommt dann der 404. Mach ich das ganze so
http://192.168.178.29/phpinfo.php wird phpinfo auch aufgerufen(im root liegt auch eine phpinfo.php). Also macht das mit dem finden keinen sinn!
Ich habe die Datei zwar gefunden aber da steht nicht das drin was du geschrieben hast.
Code
Alles anzeigen<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
für was ist denn dieses DocumentRoot? das zeigt ja auf /var/www/html
-
Hallo an alle,
ich komme einfach nicht auf mein html -Verzeichnis in meinen Apache2 kann mir jemand sagen was ich falsch mache? Eine Phpinfo kann ich außerhalb (also im Root des Apache 2 also im WWW Ordner) aufrufen. Hier die Rechte:
ls -l /var/WWW/html
-rw-r--r-- 1 www-data www-data 10701 Nov 20 19:54 index.html
-rw-r--r-- 1 www-data www-data 41 Nov 20 21:00 phpinfo.php
-rw-r--r-- 1 www-data www-data 268 Jan 8 23:00 relais.php
-rw-r--r-- 1 www-data www-data 915 Jan 11 22:11 test.php
-rw-r--r-- 1 www-data www-data 775 Jan 11 22:41 test.php.save
trotzdem bekomme ich einen 404 wenn ich die index.html aufrufe.