Jump to content

saschakp

Members
  • Gesamte Inhalte

    27
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von saschakp

  1. Hallo, da wir ein Haus gekauft haben wo noch eine ÖL Heizung drin ist, würde ich gerne den ÖL Verbauch messen, dazu würde ich das Ambient Light Bricklet verwenden und dieses auf die Kontrollleuchte vom Brenner Kleben. Jetzt meine Frage, wie erfasse ich die Zeit die der Brenner an ist und die Menge ÖL die er Verbraucht. Düse ist 0,5 USgal/h = 1.89l/h, ich muss die Zeit erfassen wo die Statusleuchte an ist und dieses dann in eine Datenbank schreiben. Am besten mit RRDTool anzeigen lassen in Stunde/Tag/Woche/Monat Wie schreibe ich das in Python? Mir fehlt gerade der Ansatz, wie ich das Programmiere. Vieleicht könnt Ihr mir ja einen Tipp geben. lg Sascha
  2. danke für die Antwort, habe jetzt den Übeltäter gefunden, ein Temperatur Bricklet. Irgendwas hat den zum Absturz gebracht, alles lief 6 Monate durch, es wurden alle 5 min Werte abgefragt per Python und in eine Datenbank geschrieben. Seit ich OpenHab verwendet habe stürzte der ganze Stack ab. Habe jetzt alle mal vom Master abgezogen und durchgetestet. Jetzt läuft alles durch ohne den Temperatur Bricklet. lg Sascha
  3. Anhängen meine ich mit das es nicht mehr ansprechbar ist, im WLAN nicht mehr zu finden und per BrickV nicht ansprechbar. Habe verschiede Master versucht Ver. 1.0, 2.0 und 2.1 und alle mit aktuellen Firmwares. Läuft seitdem ich OpenHab deaktiviert habe seit einem Tag durch. Es hängt ein Barometer, Remote und ein Temperatur Bricklet an Master. lg Sascha
  4. saschakp

    OpenHab und disconnect

    Hallo, haben folgendes Problem: Mein Masterbrick mit Wifi hängt sich immer wieder auf wenn ich OpenHab am laufen habe und er damit verbunden ist. Habe noch ein Masterbrick der direkt (USB) am Raspberry angeschlossen ist und auch von OpenHab angefragt wird, dieser ist noch nicht abgestürzt. Anbei ein Auszug aus der openhab.cfg tinkerforge:hosts=192.168.2.156 192.168.2.2 tinkerforge:rs1.uid=jL7 tinkerforge:rs1.type=bricklet_remote_switch tinkerforge:rs1.typeADevices=rslr1 rslr2 rslr4 rslr8 tinkerforge:rs1.typeBDevices=kitchen tinkerforge:rs1.typeCDevices=floor tinkerforge:rs_living_room.uid=jL7 tinkerforge:rs_living_room.subid=rslr1 tinkerforge:rs_living_room.type=remote_switch_a tinkerforge:rs_living_room.houseCode=31 tinkerforge:rs_living_room.receiverCode=1 tinkerforge:rs_living_room2.uid=jL7 tinkerforge:rs_living_room2.subid=rslr2 tinkerforge:rs_living_room2.type=remote_switch_a tinkerforge:rs_living_room2.houseCode=31 tinkerforge:rs_living_room2.receiverCode=2 tinkerforge:rs_living_room4.uid=jL7 tinkerforge:rs_living_room4.subid=rslr4 tinkerforge:rs_living_room4.type=remote_switch_a tinkerforge:rs_living_room4.houseCode=31 tinkerforge:rs_living_room4.receiverCode=4 tinkerforge:rs_living_room8.uid=jL7 tinkerforge:rs_living_room8.subid=rslr8 tinkerforge:rs_living_room8.type=remote_switch_a tinkerforge:rs_living_room8.houseCode=31 tinkerforge:rs_living_room8.receiverCode=8 lg Sascha
  5. Bin auch am überlegen wie mir mein Briefkasten mitteilt das Post da ist. Da der Briefkasten 2 Etagen weiter unten ist, wollte ich die Funkelektronik und Empfänger einer Funkklingel nutzen und dann ein Digital IN Bricklet zu nutzen. Unten dachte ich an eine Lichtschranke. lg Sascha
  6. Sorry war mein Fehler, mußte OpenHab stoppen und neu starten. Echt peinlich, danke für die Hilfe. OpenHab ist echt interessant. lg Sascha Schönes Wochenende
  7. Danke für die Antwort habe es so eingetragen: tinkerforge:hosts=192.168.1.101 192.168.1.102 leider klappt das nicht. lg Sascha
  8. Hallo zusammen, gibt es die Möglichkeit bei OpenHab mehrere Masterbricks ab zu fragen? In der openhab.cfg kann ich ja nur eine IP eintragen. Habe im Flur ein Display, 2 Sensoren über LAN und im Wohnzimmer 3 Sensoren, Remote Switch per WLAN, möchte die aber gerne per OpenHab auslesen steuern. Jemand eine Idee ob und wie das geht? lg Sascha
  9. Also mache ich eine Tabelle mit Uhrzeiten: Zeit: 09:00 09:15 09:30 09:45 etc. Schalter 1: AN AUS Schalter 2: AN AUS Habe aber noch kein Ansatzpunkt wie ich das Script schreibe. Mir fehlt da im Moment noch die Phantasie. lg Sascha
  10. Möchte gerne Funksteckdosen zeitgesteuert schalten. Dazu möchte ich in einer Datenbank bis zu vier Schaltzeiten hinterlegen. z.b. Steckdose 1: AN 10:00 AUS 10:15 / AN 14:00 AUS 14:15 etc ...... wie frage ich das mit einem CronJob ab? Dachte das alle 5 min ein Python oder PHP Script gestartet wird um zu schauen ob jetzt was geschaltet werden soll. lg Sascha
  11. Lernen durch schmerz So sollte es jetzt laufen: ... ... if __name__ == "__main__": while True: ipcon1 = IPConnection() # Create IP connection ipcon2 = IPConnection() # Create IP connection lcd = LCD20x4(UID_L, ipcon1) # Create device object b = Barometer(UID_B, ipcon2) # Create device object temp1 = Temperature(UID_T1, ipcon2) temp2 = Temperature(UID_T2, ipcon1) al = AmbientLight(UID_A, ipcon1) # Create device object h = Humidity(UID_F, ipcon2) # Create device object master = Master(UID_M, ipcon2) # Create device object ipcon1.connect(HOST1, PORT) # Connect to brickd ipcon2.connect(HOST2, PORT) ... ... "while True:" muss richtig eingerückt sein und der rest darunter auch. Ohh mann war ich dämlich. lg Sascha p.s. schöne Ostern.
  12. Hey, habe gerade festgestellt das das Script doch nicht so 100% funktioniert. Es beendet sich mit einem Timeout. Dieser Code hier hat ja auch nicht funktioniert, da er zwar durchläuft, aber die Werte nicht aktualisieren. Hast du eine Idee? Habe einen Mäster per WLAN im Esszimmer (Temp, Baro, Luft) Ein Master hängt im Flur (LCD, Temp, Licht) Wahrscheinlich wäre es mit der CallBack Funktion besser, aber das habe ich noch nicht hinbekommen, das er mehrere Master abfragt und die dann noch in das LCD schreibt und dann noch verschiedene Buttons abfragt. ##!/usr/bin/env python # -*- coding: utf-8 -*- import socket import sys import time import math import os HOST1 = "192.168.2.157" # MasterBrick Flur mit Ethernet HOST2 = "192.168.2.156" # MasterBrick Esszimmer mit Wireless LAN PORT = 4223 # Port von den Bricks UID_L = "9LY" # UID_B = "jXQ" #Barometer inkl. Temperatur UID_A = "jxV" UID_M = "68USSm" #MasterBrick 1 UID_T1 = "Temp1" # Temperatur Aussen UID_T2 = "dUj" # Temperatur Flur UID_F = "ka6" # Luftfeuchte from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_lcd_20x4 import LCD20x4 from tinkerforge.bricklet_barometer import Barometer from tinkerforge.bricklet_ambient_light import AmbientLight from tinkerforge.brick_master import Master from tinkerforge.bricklet_temperature import Temperature from tinkerforge.bricklet_humidity import Humidity if __name__ == "__main__": ipcon1 = IPConnection() ipcon2 = IPConnection() lcd = LCD20x4(UID_L, ipcon1) b = Barometer(UID_B, ipcon2) temp1 = Temperature(UID_T1, ipcon2) temp2 = Temperature(UID_T2, ipcon1) al = AmbientLight(UID_A, ipcon1) h = Humidity(UID_F, ipcon2) master = Master(UID_M, ipcon2) ipcon1.connect(HOST1, PORT) ipcon2.connect(HOST2, PORT) lcd.backlight_on() # Don't use device before ipcon is connected air_pressure = b.get_air_pressure()/1000.0 altitude = b.get_altitude()/100.0 illuminance = al.get_illuminance()/10.0 bartemp = b.get_chip_temperature()/100.0 esszimm = temp1.get_temperature()/100.0 flur = temp2.get_temperature()/100.0 voltage = master.get_stack_voltage() current = master.get_stack_current() wifi = master.get_wifi_configuration() wifistatus = master.get_wifi_status() wifipower = master.get_wifi_power_mode() wifihost = master.get_wifi_hostname() usbvoltage = master.get_usb_voltage() masterid = master.get_identity() feuchte = h.get_humidity()/10.0 lcd.backlight_on() os.system('clear') while True: # "Seite 1" lcd.clear_display() lcd.write_line(0, 0, 'Aussen: ' + str(esszimm) + '') lcd.write_line(0, 13, ' \xdfC') lcd.write_line(1, 0, ' Buero: ' + str(21.82) + '') lcd.write_line(1, 13, ' \xdfC') lcd.write_line(2, 0, ' Flur: ' + str(flur) + '') lcd.write_line(2, 13, ' \xdfC') lcd.write_line(3, 0, ' EssZi: ' + str(bartemp) + '') lcd.write_line(3, 13, ' \xdfC') time.sleep(10) # "Seite 2" lcd.clear_display() lcd.write_line(0, 0, 'Luftdr.: ' + str(air_pressure) + '') lcd.write_line(0, 15, ' mbr') lcd.write_line(1, 0, 'Feuchte: ' + str(feuchte) + '') lcd.write_line(1, 15, ' %') lcd.write_line(2, 0, ' Licht: ' + str(illuminance) + '') lcd.write_line(2, 15, ' Lux') lcd.write_line(3, 0, ' ' + str() + '') lcd.write_line(3, 13, ' ') time.sleep(10) lg Sascha
  13. Habe die Lösung: ... ... from tinkerforge.bricklet_temperature import Temperature from tinkerforge.bricklet_humidity import Humidity def restart_program(): python = sys.executable os.execl(python, python, * sys.argv) if __name__ == "__main__": ipcon1 = IPConnection() # Create IP connection ipcon2 = IPConnection() # Create IP connection ... ... ... ... restart_program() # Skript neustarten lg Sascha
  14. Das mit den Seitenwechsel klappt ja ganz gut, habe es auch hinbekommen das er Werte von verschiedenen Bricks anzeigt. Nur er läd die Werte nicht neu, wenn ich das Script starte holt er sich die Werte und dann bleiben die bestehen. Wie muss ich das mit der schleife machen damit er sich die werte jedesmal neu holt bzw aktualisiert? ##!/usr/bin/env python # -*- coding: utf-8 -*- import socket import sys import time import math import os HOST1 = "192.168.2.157" # MasterBrick Flur mit Ethernet HOST2 = "192.168.2.156" # MasterBrick Esszimmer mit Wireless LAN PORT = 4223 # Port von den Bricks UID_L = "9LY" # UID_B = "jXQ" #Barometer inkl. Temperatur UID_A = "jxV" UID_M = "68USSm" #MasterBrick 1 UID_T1 = "Temp1" # Temperatur Aussen UID_T2 = "dUj" # Temperatur Flur UID_F = "ka6" # Luftfeuchte from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_lcd_20x4 import LCD20x4 from tinkerforge.bricklet_barometer import Barometer from tinkerforge.bricklet_ambient_light import AmbientLight from tinkerforge.brick_master import Master from tinkerforge.bricklet_temperature import Temperature from tinkerforge.bricklet_humidity import Humidity if __name__ == "__main__": ipcon1 = IPConnection() ipcon2 = IPConnection() lcd = LCD20x4(UID_L, ipcon1) b = Barometer(UID_B, ipcon2) temp1 = Temperature(UID_T1, ipcon2) temp2 = Temperature(UID_T2, ipcon1) al = AmbientLight(UID_A, ipcon1) h = Humidity(UID_F, ipcon2) master = Master(UID_M, ipcon2) ipcon1.connect(HOST1, PORT) ipcon2.connect(HOST2, PORT) lcd.backlight_on() # Don't use device before ipcon is connected air_pressure = b.get_air_pressure()/1000.0 altitude = b.get_altitude()/100.0 illuminance = al.get_illuminance()/10.0 bartemp = b.get_chip_temperature()/100.0 esszimm = temp1.get_temperature()/100.0 flur = temp2.get_temperature()/100.0 voltage = master.get_stack_voltage() current = master.get_stack_current() wifi = master.get_wifi_configuration() wifistatus = master.get_wifi_status() wifipower = master.get_wifi_power_mode() wifihost = master.get_wifi_hostname() usbvoltage = master.get_usb_voltage() masterid = master.get_identity() feuchte = h.get_humidity()/10.0 lcd.backlight_on() os.system('clear') while True: # "Seite 1" lcd.clear_display() lcd.write_line(0, 0, 'Aussen: ' + str(esszimm) + '') lcd.write_line(0, 13, ' \xdfC') lcd.write_line(1, 0, ' Buero: ' + str(21.82) + '') lcd.write_line(1, 13, ' \xdfC') lcd.write_line(2, 0, ' Flur: ' + str(flur) + '') lcd.write_line(2, 13, ' \xdfC') lcd.write_line(3, 0, ' EssZi: ' + str(bartemp) + '') lcd.write_line(3, 13, ' \xdfC') time.sleep(10) # "Seite 2" lcd.clear_display() lcd.write_line(0, 0, 'Luftdr.: ' + str(air_pressure) + '') lcd.write_line(0, 15, ' mbr') lcd.write_line(1, 0, 'Feuchte: ' + str(feuchte) + '') lcd.write_line(1, 15, ' %') lcd.write_line(2, 0, ' Licht: ' + str(illuminance) + '') lcd.write_line(2, 15, ' Lux') lcd.write_line(3, 0, ' ' + str() + '') lcd.write_line(3, 13, ' ') time.sleep(10) lg Sascha
  15. Danke für die Antwort, habe das jetzt so gemacht, weiß nicht ob da die eleganteste Lösung ist, aber es funktioniert. #!/usr/bin/env python # -*- coding: utf-8 -*- import socket import sys import time import math import os HOST1 = "192.168.2.157" HOST2 = "192.168.2.156" PORT = 4223 UID_L = "xxx" UID_B = "xxx" UID_A = "xxx" UID_M = "xxxxx" from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_lcd_20x4 import LCD20x4 from tinkerforge.bricklet_barometer import Barometer from tinkerforge.bricklet_ambient_light import AmbientLight from tinkerforge.brick_master import Master if __name__ == "__main__": ipcon1 = IPConnection() # Create IP connection ipcon2 = IPConnection() # Create IP connection lcd = LCD20x4(UID_L, ipcon1) # Create device object b = Barometer(UID_B, ipcon2) # Create device object al = AmbientLight(UID_A, ipcon1) # Create device object master = Master(UID_M, ipcon2) # Create device object ipcon1.connect(HOST1, PORT) # Connect to brickd ipcon2.connect(HOST2, PORT) lg Sascha
  16. Hallo irgendwie weiß ich nicht wie ich das anstellen soll, habe folgendes vor: Master Brick 1 + Wifi im Esszimmer, mit: 2x Temperatur und Luftdruck Bricklets Master Brick 2 + Ethernet im Flur, mit: Temperatur, Licht Bricklets und LCD Display. Auf dem LCD Display im Flur (an MasterBrick2) sollen die Werte von den an Master Brick1 und Brick2 angeschlossenen Bricklets angezeigt werden, geht das überhaupt? Möchte dieses gern mit Python machen. lg Sascha
  17. Habe heute ein bisschen mit dem Geektool http://projects.tynsoe.org/en/geektool/ rumgespielt, da habe ich die Idee bekommen warum nicht die Werte von meinem Tinkerforge auf dem Desktop anzeigen lassen. Gesagt getan hier das Ergebnis (siehe Anhang) Ist im Hintergrund Prozess nicht so elegant gelöst aber es klappt. lg Sascha
  18. Danke für die Antworten, wenn ich "While (TRUE)" einfüge kommen folgende meldungen: Traceback (most recent call last): File "lcd.py", line 26, in <module> while (TRUE): NameError: name 'TRUE' is not defined Exception in thread Brickd-Receiver (most likely raised during interpreter shutdown):Exception in thread Disconnect-Prober (most likely raised during interpreter shutdown): Traceback (most recent call last): Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner File "/usr/lib/python2.7/threading.py", line 505, in run File "/usr/lib/python2.7/threading.py", line 505, in run File "/usr/local/lib/python2.7/dist-packages/tinkerforge.egg/tinkerforge/ip_connection.py", line 617, in receive_loop File "/usr/local/lib/python2.7/dist-packages/tinkerforge.egg/tinkerforge/ip_connection.py", line 752, in disconnect_probe_loop <type 'exceptions.TypeError'>: 'NoneType' object is not callable File "/usr/lib/python2.7/Queue.py", line 174, in get <type 'exceptions.TypeError'>: 'NoneType' object is not callable Das mit den Buttons ist die CallBack funktion? Muss mich da mal reinlesen. lg Sascha
  19. Hallo, möchte gern das mein LCD Display alle 5 sek. was anderes auf dem Diplay anzeigt (Seiten). Wie bekomme ich das hin? #!/usr/bin/env python # -*- coding: utf-8 -*- import socket import sys import time import math HOST = "192.168.2.32" PORT = 4223 UID = "9LY" # Change to your UID from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_lcd_20x4 import LCD20x4 if __name__ == "__main__": ipcon = IPConnection() # Create IP connection lcd = LCD20x4(UID, ipcon) # Create device object ipcon.connect(HOST, PORT) # Connect to brickd # Don't use device before ipcon is connected # Turn backlight on lcd.backlight_on() # "Seite 1" lcd.clear_display() lcd.write_line(0, 0, 'Seite1') lcd.write_line(1, 0, 'Seite1') lcd.write_line(2, 0, 'Seite1') lcd.write_line(3, 0, 'Seite1') time.sleep(5) # "Seite 2" lcd.clear_display() lcd.write_line(0, 0, 'Seite2') lcd.write_line(1, 0, 'Seite2') lcd.write_line(2, 0, 'Seite2') lcd.write_line(3, 0, 'Seite2') time.sleep(5) # "Seite 3" lcd.clear_display() lcd.write_line(0, 0, 'Seite3') lcd.write_line(1, 0, 'Seite3') lcd.write_line(2, 0, 'Seite3') lcd.write_line(3, 0, 'Seite3') time.sleep(5) # "Seite 4" lcd.clear_display() lcd.write_line(0, 0, 'Seite4') lcd.write_line(1, 0, 'Seite4') lcd.write_line(2, 0, 'Seite4') lcd.write_line(3, 0, 'Seite4') time.sleep(5) raw_input('Press key to exit\n') # Use input() in Python 3 ipcon.disconnect() Müsste da ein schleife einbauen oder? lg Sascha
  20. Wie lang darf den so ein Kabel sein? Verwenden Heizungsanlagen für den Aussenfühler nicht auch so einen Temperaturfühler? lg Sascha
  21. Hallo, ich komme gerade irgendwie nicht weiter, habe es geschafft daten die ein script in die mysql db geschrieben hat auszulesen und in highcharts anzuzeigen. Leider bekomme ich unter dem diagramm nicht die uhrzeit angezeigt. http://jediwookie.dyndns.org/test4.php?hour=2 xAxis: { categories: [<?php echo $row_buero; ?>] // HIER SOLL DIE UHRZEIT AUS DER DATENBANK REIN !!!!!!!! }, Funktioniert und er schreibt unter den Char die Temperatur Werte aus dem Büro, dieses habe mal zum testen anzeigen lassen. xAxis: { categories: [<?php echo $row_dattim; ?>] // HIER SOLL DIE UHRZEIT AUS DER DATENBANK REIN !!!!!!!! }, Funktioniert leider nicht und die website bleibt weiss. Auch das umwandeln des datums in Hier der komplette code: <center> <a href="test4.php?hour=2">Last 2h</a> - <a href="test4.php?hour=6">Last 6h</a> - <a href="test4.php?hour=12">Last 12h</a> - <a href="test4.php?hour=24">Last 24h</a> - <a href="test4.php?hour=48">Last 48h</a> </center> <?php include("connect.php"); $ausruf = $_GET["hour"]; $result = mysql_query("SELECT * FROM August WHERE dattim > DATE_SUB(NOW(), INTERVAL $ausruf HOUR)"); $num = mysql_num_rows ($result); // $dattim = new DateTime; // echo $dattim->format("H:i:s"); if ($num > 0 ) { $i=0; while ($i < $num) { $id = stripslashes(mysql_result($result,$i,"id")); $dattim = stripslashes(mysql_result($result,$i,"dattim")); $aussen1 = stripslashes(mysql_result($result,$i,"aussen1")); $buero = stripslashes(mysql_result($result,$i,"buero")); $temprasperry = stripslashes(mysql_result($result,$i,"temprasperry")); $flur = stripslashes(mysql_result($result,$i,"flur")); $row .= '<tr><td>'.$dattim.'</td><td>'.$aussen1.'°C</td><td>'.$temprasperry.'°C</td><td>'.$buero.'°C</td></tr>'; $row_aussen .= ''.$aussen1.','; $row_buero .= ''.$buero.','; $row_rasp .= ''.$temprasperry.','; // $row_flur .= ''.$flur.','; $row_dattim .= ''.$dattim.','; ++$i; }} else { $row = '<tr><td colspan="2" align="center">Nothing found</td></tr>'; } mysql_close(); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Temperaturen</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <script type="text/javascript"> $(function () { $('#container').highcharts({ title: { text: 'Temperaturen', x: -20 //center }, subtitle: { text: 'Source: Database -><?php echo $jahr;?>', x: -20 }, xAxis: { categories: [<?php echo $row_buero; ?>] // HIER SOLL DIE UHRZEIT AUS DER DATENBANK REIN !!!!!!!! }, yAxis: { title: { text: 'Temperature (°C)' }, plotLines: [{ value: 0, width: 1, color: '#808080' }] }, tooltip: { valueSuffix: '°C' }, legend: { layout: 'vertical', align: 'right', verticalAlign: 'middle', borderWidth: 2 }, series: [{ name: 'Buero', data: [<? echo $row_buero ?>] }, { name: 'Aussentemperatur', data: [<? echo $row_aussen ?>] }, { name: 'Raspberry', data: [<? echo $row_rasp ?>] }, { name: 'Flur', data: [<? echo $row_flur ?>] }] }); }); </script> </head> <body> <script src="js/highcharts.js"></script> <script src="js/modules/exporting.js"></script> <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div> </body> </html> Vieleicht kann mir jemand einen tip geben. :-) Anbei noch bilder von der db struktur gruss Sascha
  22. So ist es richtig: "INSERT into wetter (sensor1, sensor2) values ('" + voltage / 1000.0 + "','" + temperature / 100.0 + "')"; mfg Sascha
  23. So habe heute nach langer Zeit mich wieder mit dem dem Thema C# und mySQL beschäftigt, es funktioniert das er in die Datenbank schreibt, aber er schreibt noch nicht die richtigen werte. "INSERT into wetter (sensor1, sensor2) values ('voltage','temperature')"; Hier schreibt er das Wort: "voltage" und "temperature" in die Datenbank, irgendwie bekomme ich ihn nicht dazu den richtigen wert zu nehmen, hat jemand eine Idee? Hier der Komplette Code: using Tinkerforge; using MySql.Data; using MySql.Data.MySqlClient; using System; using System.Data; class Example { private static string myConnectionString = "SERVER=localhost;" + "DATABASE=wetter;" + "UID=xxxx;" + "PASSWORD=xxxxxxx;"; private static string HOST = "localhost"; // Am Server abgeschlossen ist private static int PORT = 4223; private static string UID_00 = "xxxxxxxxxxx"; // Change to your UID private static string UID_01 = "xxx"; // Change to your UID private static string UID_02 = "xxx"; // Change to your UID private static DateTime thisDate = DateTime.Now; static void Main() { IPConnection ipcon = new IPConnection(HOST, PORT); // Create connection to brickd BrickMaster master = new BrickMaster(UID_00); // Create device object BrickletTemperature temp = new BrickletTemperature(UID_01); // Create device object BrickletLCD20x4 lcd = new BrickletLCD20x4(UID_02); // Create device object ipcon.AddDevice(lcd); // Add device to IP connection ipcon.AddDevice(master); // Add device to IP connection ipcon.AddDevice(temp); // Add device to IP connection // Don't use device before it is added to a connection //for (int i = 1; i <= 1000; i++) while( true ) { // Get voltage and current from stack (in mV/mA) ushort voltage = master.GetStackVoltage(); ushort current = master.GetStackCurrent(); short temperature = temp.GetTemperature(); lcd.BacklightOn(); lcd.ClearDisplay(); lcd.WriteLine(0, 0, "Tinkerforge"); // lcd.WriteLine(1, 0, "{0:d}", thisDate); lcd.WriteLine(2, 0, "Temperatur " + temperature /100.0 + " C"); System.Console.Clear(); // System.Console.WriteLine(("").PadRight(38, '#')); System.Console.WriteLine("## TinkerForge Temperatur Projekt ## \n"); System.Console.WriteLine("Stack Voltage: " + voltage / 1000.0 + " V \n"); System.Console.WriteLine("Stack Current: " + current / 1000.0 + " A \n"); System.Console.WriteLine("Temperature: " + temperature / 100.0 + " ∞C \n"); System.Console.WriteLine("Datum: {0:d} \n", thisDate); System.Console.WriteLine("Zeit: {0:t} \n", thisDate); MySqlConnection connection = new MySqlConnection(myConnectionString); MySqlCommand command = connection.CreateCommand(); ; command.CommandText = "INSERT into wetter (sensor1, sensor2) values ('voltage','temperature')"; // Daten werden in Datenbank geschrieben mit Auto ID MySqlDataReader Reader; connection.Open(); Reader = command.ExecuteReader(); System.Threading.Thread.Sleep(2500); // Wert wird später hochgesetzt } } } mfg Sascha
  24. Der Code wird ausgeführt, er zeigt in der Konsole auch den Temperatur Wert und die Werte vom Maste Brick an. Habe aber gerade gesehen das er mir zu der mySQL funktion auch fehler ausgepuckt hatte, die ich anscheinend ignoriert hatte Was ich halt "nur" brauche ist ein Programm/Script was im Hintergrund läuft und mir die Werte in eine DB schreibt, es sollen nich mehr Sensoren angeschlossen werden. Das auslesen wird alles in PHP gemacht. Werde mich mit dem Thema C# noch weiter einlesen, mal sehen ob ich ein Buch finde. Trozdem Danke erstmal. mfg Sascha
×
×
  • Neu erstellen...