Jump to content
View in the app

A better way to browse. Learn more.

Tinkerunity

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Geschrieben

wieso bekomme ich bei diesem Python skript keine Ausgabe??

 

#!/usr/bin/env python

# -*- coding: utf-8 -*-

 

HOST = "10.208.216.149"

PORT = 4223

UID = "uiw" # Change to your UID

 

from tinkerforge.ip_connection import IPConnection

from tinkerforge.bricklet_humidity import Humidity

 

# Callback function for humidity callback (parameter has unit %RH/10)

def cb_humidity(humidity):

    print('Humidity: ' + str(humidity/10.0) + ' %RH')

 

if __name__ == "__main__":

    ipcon = IPConnection() # Create IP connection

    h = Humidity(UID, ipcon) # Create device object

 

    ipcon.connect(HOST, PORT) # Connect to brickd

    # Don't use device before ipcon is connected

 

    # Set period for humidity callback to 1s (1000ms)

    # Note: The humidity callback is only called every second

    #      if the humidity has changed since the last call!

    h.set_humidity_callback_period(1000)

 

    # Register humidity callback to function cb_humidity

    h.register_callback(h.CALLBACK_HUMIDITY, cb_humidity)

 

    ipcon.disconnect()

Geschrieben

In den Beispielen, die den Bindings beiliegen, ist vor dem ipcon.disconnect() Aufruf ein input() Aufruf, der das Skript an der Stelle warten lässt bis eine Taste gedrückt wurde. Dadurch können die Bindings im Hintergrund eingehende Humidity Callbacks empfangen und an deine cb_humidity weiterreichen.

 

Dein Skript konfiguriert alles um Humidity Callbacks zu empfangen und beendet sich dann. Daher bekommst du keine Ausgabe.

 

Du musst also den input() Aufruf wieder einbauen, oder etwas alternatives, dass den gleichen Zweck erfüllt, das Skript vom sich beenden abzuhalten.

Geschrieben
  • Autor

wenn ich ein Python skript ausführe und ein Taste drücke, dann kommen die Werte.

Was muss ich beim Brick Viewer machen, damit ich die Werte im stdout.log zusehen bekomme?

Geschrieben
  • Autor

Bei dem Temperatur example_callback - wie kann ich dieses Programm dauerhaft auf dem red Brick ausführen? Ich möchte im nächsten Schritt die Sensordaten automatisch auf einen Server senden. raw_input und ipcon.disconnect sollten ja nicht im Programm sein?

 

 

Geschrieben

Du brauchst raw_input(), ansonsten funktionieren das Callback Examples nicht, wie du schon selbst gesehen hast.

 

Python buffered Ausgaben zwischen, dadurch siehst du sie nicht direkt im stdout.log während das Programm läuft. Du kannst Python auf unbuffered stellen. Dazu muss du hier Python -u als Argument übergeben:

 

http://www.tinkerforge.com/de/doc/Hardware/Bricks/RED_Brick_Program_Tab.html#python

 

Um Temperatur Daten an einen Server zu senden kannst du das Callback Example nehmen, raw_input() und ipcon.disconnect() drin lassen und in der cb_temperature() Funktion den Code einfügen, der die Daten an den Server sendet. Dann das modifizierte Beispiel auf den RED Brick laden und laufen lassen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.