Jump to content

fedex

Members
  • Gesamte Inhalte

    31
  • Benutzer seit

  • Letzter Besuch

fedex's Achievements

Newbie

Newbie (1/14)

0

Reputation in der Community

  1. Broker_host = localhost Broker_port = 1883 Wenn ich paho-mqtt mit der setup.py installiert habe, wie und wo starte ich dann den brick-mqtt-proxy? ich habe es versucht indem ich das brick-mqtt-proxy script mit meinen Programm auf den Red Brick geladen habe. aber wie kann ich es starten? meine Programm log sieht so aus:
  2. Hallo, Ich habe wieder ein Problem bei meinen anderen Red Bricks. Und zwar habe ich wie oben beschrieben Tinkerforge und paho-mqtt auf dem Red Brick installiert. Mit Python brick-mqtt-proxy.py lässt er sich aber nicht starten. Die Fehlermeldungen in der Console sind in der Datei.
  3. fedex

    Accelerometer

    Wie viele Daten lassen sich maximal pro Sekunde vom Accelerometer auslesesen? Bei der Callback Funktion kann man maximal 1ms einstellen. als Datenrate kann man aber 1600Hz einstellen sprich alle 0,625ms neue X,Y,Z Werte. Ich schreibe die Daten mit dem MQTT Protokoll auf eine Datenbank. Wenn ich das Programm auf dem Red Brick laufen lasse schaffe ich maximal ca. alle 12ms neue X,Y,Z Werte zu schreiben. Wenn ich mein Python Skript auf meinem Rechner laufen lasse schaffe ich max. ca. alle 2ms neue Werte auf die Datenbank zu schreiben. Wo könnte der Flaschenhals liegen oder welche Datenraten sind maximal möglich. Wo sind da die Grenzen des Sensors?
  4. Ich hatte vorher die Version 2.2.2 drauf. Jetzt funktioniert es auch mit der normalen 2.2.2 Version wieder... Bei der Installation kommt die Warnung, dass der Red Brick den Windows-Logo-Test, der die Kompatibilität mit Windows XP überprüft, nicht bestanden hat.
  5. Mit der neuen Brick Daemon Version klappt es jetzt, die Bricks und Bricklets werden alle angezeigt! brickd_debug_20151203_084001.log
  6. als ich das Red Brick über USB angeschlossen habe, kamen keine neuen Log Einträge. Erst als ich mich mit dem Brick Viewer connected habe, kamen neue Log Einträge. brickd_debug_20151201_111457.log brickd_event_20151201_111518.log
  7. Ja der Red Brick taucht im Geräte Manager auf und ist auch betriebsbereit.
  8. habe den Brick Viewer und Brick Daemon auf einem Rechner mit Windows XP installiert. Nach dem Verbinden zeigt mir der Brick Viewer keine Bricks und Bricklets an. Woran kann das liegen, benötigt man zusätzliche Treiber für Windows XP?
  9. Ich möchte mit meinem Programm, dass der pages Inhalt meiner NFC Tags gelesen wird: # Callback function for state changed callback def cb_state_changed(state, idle, nr): # Cycle through all types if idle: global tag_type tag_type = (tag_type + 1) % 3 nr.request_tag_id(tag_type) if state == nr.STATE_REQUEST_TAG_ID_READY: ret = nr.get_tag_id() print('Found tag of type ' + str(ret.tag_type) + ' with ID [' + ' '.join(map(str, map(hex, ret.tid[:ret.tid_length]))) + "]") data = nr.get_page() print('Read data: [' + ' '.join(map(str, data)) + ']') client.publish("sensoren/nfc_tag", str(data)) time.sleep(2) Wenn ich mehrere tags ausprobiere werden mir auch die verschiedenen Tag IDs angezeigt aber immer nur jeweils die pages Inhalte vom ersten gescannten tag. Sprich in meiner Variable data = nr.get_page() werden nur einmal die Daten vom ersten Scan angezeigt und die ändern sich aber nicht bei den anderen tags.
  10. fedex

    Bricklet Kabellänge

    Hallo, wie ich im Tinkerforge Shop sehe, gibt es Bricklet Kabellängen von max. 2m. Wenn man die Kabel verlängern möchte, bis zu wie vielen Metern könnte man das tun ohne Verluste zu bekommen?
  11. Mit meiner Python Shell Konsole kommt die folgende Fehlermeldung: [Errno 10053] Eine bestehende Verbindung wurde softwaregesteuert durch den Hostcomputer abgebrochen Mein Skript sieht so aus: #!/usr/bin/env python # -*- coding: utf-8 -*- HOST = "10.208.216.149" PORT = 4223 UID = "tKm" # Change to your UID import paho.mqtt.client as mqtt from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_distance_ir import DistanceIR def on_connect(client, userdata, flags, rc): print("Connected with result code " + str(rc)) # Callback function for distance callback (parameter has unit mm) def cb_distance(distance): client.publish("tinkerforge/bricklet/distance/tKm/distance", str(distance/10.0)) if __name__ == "__main__": ipcon = IPConnection() # Create IP connection dir = DistanceIR(UID, ipcon) # Create device object ipcon.connect(HOST, PORT) # Connect to brickd # Don't use device before ipcon is connected client = mqtt.Client() client.on_connect = on_connect client.connect("vmiot01srv", 1883, 60) # Set period for distance callback to 0.2s (200ms) # Note: The distance callback is only called every 0.2 seconds # if the distance has changed since the last call! dir.set_distance_callback_period(200) # Register distance callback to function cb_distance dir.register_callback(dir.CALLBACK_DISTANCE, cb_distance) raw_input('Press key to exit\n') # Use input() in Python 3 ipcon.disconnect()
  12. Ich gehe davon aus das der Callback noch aufgerufen wird, da mein example_Callback Skript auf dem Red Brick noch auf "running" steht. Ich benutze den Mosquitto Broker. Nach ca. 2 Minuten nachdem der Broker keine Werte mehr bekommen hat, bekommt er, sobald dann wieder Werte gesendet werden, keine mehr. Nach einem Pingreq vom Broker bekommt er direkt ein Pingresp, daher sollte die Verbindung ja noch vorhanden sein.
  13. Wenn 2 Minuten lang keine Änderungen der Sensorwerte mehr sind, dann werden die Daten nicht mehr an den MQTT Broker gepublisht, obwohl das Programm auf dem Red Brick noch läuft. Erst wenn man das Programm stoppt und neu startet werden wieder Daten gesendet. Ich publishe die Parameter der Callbacks. Hat jemand eine Idee woran das liegen könnte?
  14. Ich möchte Temperatur Daten mit einer Callback Funktion an meinen MQTT Broker senden. Welche Variable des example_callback scripts enthält denn die Temperaturwerte? Mit t.CALLBACK_TEMPERATURE bekomme ich immer nur den Wert 8? meine Skript sieht so aus: HOST = "10.208.216.149" PORT = 4223 UID = "t8u" # Change to your UID import time import paho.mqtt.client as mqtt from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_temperature import BrickletTemperature def on_connect(client, userdata, flags, rc): print("Connected with result code " + str(rc)) # Callback function for temperature callback (parameter has unit °C/100) def cb_temperature(temperature): print("Temperature: " + str(temperature/100.0) + " °C") if __name__ == "__main__": ipcon = IPConnection() # Create IP connection t = BrickletTemperature(UID, ipcon) # Create device object ipcon.connect(HOST, PORT) # Connect to brickd # Don't use device before ipcon is connected # Register temperature callback to function cb_temperature t.register_callback(t.CALLBACK_TEMPERATURE, cb_temperature) # Set period for temperature callback to 1s (1000ms) # Note: The temperature callback is only called every second # if the temperature has changed since the last call! t.set_temperature_callback_period(1000) client = mqtt.Client() client.on_connect = on_connect client.connect("vmiot01srv", 1883, 60) #client.loop_start() while True: time.sleep(2) client.publish("tinkerforge/bricklet/temperature/t8u/temperature", str(t.CALLBACK_TEMPERATURE)) raw_input() ipcon.disconnect()
  15. 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?
×
×
  • Neu erstellen...