Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - topi

Pages: [1]
1
Hardware / Tisch-Wetterstation mit Raspberry Pi
« on: March 14, 2019, 09:50:57 »
Guten Morgen,
bei der Beschreibung zur Tisch-Wetterstation finde ich "Für einen Standalone-Betrieb kann ein RED Brick oder ein anderes Embedded Board, wie z.B. das Raspberry Pi genutzt werden.". Ich möchte mich hier erkundigen, ob vielleicht schon jemand einen Versuch mit Raspberry Pi und der Tisch-Wetterstation gemacht hat. Insbesondere würde mich dabei interessieren welcher Raspberry Pi dabei verwendet wurde (RPi 3, Nano etc) und ob/wie der RPi in das Gehäuse untergebracht wurde. Hintergrund meiner Frage ist, dass ich mich derzeit erkundige ob ich einen Red Brick oder eben eine RPi verwenden sollte. Für die Verwendung des Red Brick gibt es ja schon Fotos und eine kleine Anleitung auf der Tinkerfoge Website.
Vielen Dank schon mal im Voraus für den einen oder anderen Hinweis.
Gruss,
topi

2
Hallo,
zuerst  das Problem, dann das Setup und zum Schluss meine Frage.
Wenn ich die Ausgabe des Python-Programm (weather_station.py) zu meiner Wetterstation im Terminal verfolge sehe ich im Wesentlichen dieses Bild:
Code: [Select]
Press key to exit
INFO:root:Weather Station: Start
Press key to exit
INFO:root:Barometer initialized
INFO:root:LCD 20x4 initialized
INFO:root:Humidity initialized
INFO:root:Temperature initialized
INFO:root:Write to line 2: Air Press  961.09 mb
INFO:root:Write to line 3: Temperature 24.81 ßC
INFO:root:Write to line 1: Humidity    58.00 %
INFO:root:Write to line 2: Air Press  961.06 mb
INFO:root:Write to line 1: Humidity    58.10 %
INFO:root:Write to line 3: Temperature 24.87 ßC
INFO:root:Write to line 2: Air Press  961.08 mb
INFO:root:Write to line 1: Humidity    57.90 %
INFO:root:Write to line 3: Temperature 24.81 ßC
INFO:root:Write to line 2: Air Press  961.08 mb
INFO:root:Write to line 3: Temperature 24.87 ßC
INFO:root:Write to line 1: Humidity    58.00 %
INFO:root:Write to line 2: Air Press  961.04 mb
INFO:root:Write to line 1: Humidity    58.10 %
INFO:root:Write to line 2: Air Press  961.08 mb
INFO:root:Write to line 1: Humidity    58.20 %
INFO:root:Write to line 2: Air Press  961.08 mb
INFO:root:Write to line 3: Temperature 24.81 ßC
INFO:root:Write to line 1: Humidity    58.00 %
INFO:root:Write to line 2: Air Press  961.05 mb
INFO:root:Write to line 3: Temperature 24.87 ßC
INFO:root:Write to line 1: Humidity    58.10 %
INFO:root:Write to line 2: Air Press  961.07 mb
INFO:root:Write to line 3: Temperature 24.81 ßC
INFO:root:Write to line 1: Humidity    58.30 %
INFO:root:Write to line 2: Air Press  961.07 mb
INFO:root:Write to line 3: Temperature 24.87 ßC
INFO:root:Write to line 2: Air Press  961.04 mb
INFO:root:Write to line 1: Humidity    58.20 %
INFO:root:Write to line 3: Temperature 24.81 ßC
INFO:root:Barometer initialized
INFO:root:LCD 20x4 initialized
INFO:root:Humidity initialized
INFO:root:Temperature initialized
INFO:root:Write to line 2: Air Press  961.06 mb
INFO:root:Write to line 1: Humidity    58.30 %
INFO:root:Write to line 3: Temperature 24.87 ßC
INFO:root:Write to line 2: Air Press  961.08 mb
……….

Mein Setup:
USB-Netzteil mit 2000 mA -->Raspberry Pi 1B <–-> Master Brick (Temperature-, Humidity-, Barometer- und LCD24-Bricklet).
Das bedeutet, dass der RasPi den MasterBrick mit Strom versorgt. Der Raspi wird so gebootet, dass an dessen zwei USB-Anschlüssen bis zu 1200 mA zur Verfügung stehen (in der config.txt die Zeil „max_usb_current=1“ ergänzen).

Meine Frage:
Die Bricklets werden alle paar Sekunden neu initialisiert. Ich frage mich, woran dies liegen kann bzw. ob dies so sein muss im gewählten Setup?
Schliesse ich den Master Brick direkt an einen USB-Ausgang meines PCs an und sehe mir dann die Anzeige auf dem Terminal an, so wird genau zum Startup der Wetterstation einmal initialisiert und dann sehe ich nur noch die Messwerte der Sensoren.

Vielen Dank für einen Tipp  im Voraus,
topi

3
Allgemeine Diskussionen / VOC Sensor BME680 von Bosch
« on: October 23, 2017, 14:27:19 »
Hallo,
Bosch hat mit dem  BME680 einen VOC-Sensor herausgegeben. VOC=flüchtige organische Verbindungen, z.B.: Lösungsmittel und anderen chemisch-organischen Substanzen aus Böden, Möbeln, Farben etc.. Das kann zur Messung der Luftqualität in Innenräumen herangezogen werden. Neben der VOC-Messung wird auch der Luftdruck, die Luftfeuchtigkeit und -temperatur bestimmt.
Wäre dieser Sensor etwas für die Erweiterung des Tinkerforge-Sortiments?

4
Hallo,
ich bin mit meinem marginalen Python-Kenntnissen ans vorläufige Ende gekommen und hoffe auf Tipps der Python-Kenner hier im Forum.
Gegeben und funktionierend, basierend auf den Beispielen im Tinkerforge Website, ist folgender Python-Code:
Code: [Select]
HOST = "localhost"
PORT = 4223
UID = "XXX" # Change XYZ to the UID of your LCD 20x4 Bricklet

from tinkerforge.ip_connection import IPConnection
from tinkerforge.bricklet_lcd_20x4 import BrickletLCD20x4
import os

# Callback function for button pressed callback
def cb_button_pressed(button):
    print("Button Pressed: " + str(button))
    print("backlight=",lcd.is_backlight_on())
    if button == 0:
      if lcd.is_backlight_on() is True:
        lcd.backlight_off()
      else:
        lcd.backlight_on()
    if button == 3:
      os.system("sudo systemctl reboot")   


# Callback function for button released callback
def cb_button_released(button):
    print("Button Released: " + str(button))

if __name__ == "__main__":
    ipcon = IPConnection() # Create IP connection
    lcd = BrickletLCD20x4(UID, ipcon) # Create device object

    ipcon.connect(HOST, PORT) # Connect to brickd
    # Don't use device before ipcon is connected

    # Register button pressed callback to function cb_button_pressed
    lcd.register_callback(lcd.CALLBACK_BUTTON_PRESSED, cb_button_pressed)

    # Register button released callback to function cb_button_released
    #lcd.register_callback(lcd.CALLBACK_BUTTON_RELEASED, cb_button_released)

    input("Press key to exit\n") # Use input() in Python 3
    ipcon.disconnect()
Wo ich nun nicht mehr weiter weiss ist, wie kann ich für Button 3 eine funktionale Abfrage einbauen in der Art "Bitte Button 3 nochmals drücken für System Reboot!" Button 3 soll dabei innerhalb von 5 Sekunden nochmals gedrückt werden, ansonsten würde alles wieder in den Ausganszustand zurückfallen.
Vielen Dank für hilfreiche Tipps im Voraus,
topi

5
Hallo,
im MQTT Bereich bin ich noch eher ein Frischling und habe vermutlich konzeptionell noch etwas nicht korrekt verstanden. Daher fange ich mit dem an was in der Shell funktioniert:
Code: [Select]
mosquitto_sub -t tinkerforge/bricklet/lcd_20x4/ohF/button_pressedergibt je nach Taste die ich am LCD-Dispaly drücke:
Code: [Select]
{"1":false,"_timestamp":1503859070.435154,"2":false,"0":false,"3":false}
{"1":false,"_timestamp":1503859491.0309947,"2":false,"0":false,"3":true}
{"1":false,"_timestamp":1503859491.3909144,"2":false,"0":false,"3":false}
{"1":false,"_timestamp":1503859493.2529447,"2":true,"0":false,"3":false}
{"1":false,"_timestamp":1503859493.5261495,"2":false,"0":false,"3":false}
was ich so erwarte habe.
Hingegen funktioniert nicht:
Code: [Select]
mosquitto_sub -t tinkerforge/bricklet/lcd_20x4/ohF/callback_button_pressedHier würde ich, je nachdem welche Taste ich drücke, eine "0", "1", ...,"3" als Antwort erwarten. Nur, die Shell zeigt leider gar nichts an.
Ich denke ich habe mit der Callback Funktion etwas missverstanden und frage daher, was ich im Mosquitto-Aufruf ändern muss, damit ich die gewünschte Antwort bekomme.

Danke im Voraus,
topi


Pages: [1]