Jump to content

fedex

Members
  • Gesamte Inhalte

    31
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von fedex

  1. 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?

  2. 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.

     

     

  3. 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()

     

     

     

  4. 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.

  5. 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()

  6. 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()

  7. sorry für mein Unwissen ;)

     

    ich hatte das paho-mqtt nicht auf dem Linux system von meinem Red Brick sondern auf meinem windows Rechner installiert...

     

    das Problem das die Instalaltion auf dem Red Brick nicht funktioniert liegt jetzt daran das ich noch keinen Zugriffsrechte auf das Internet habe...

     

    gäbe es denn eine Möglichkeit den paho-mqtt-proxy ohne Internet auf den Red Brick zu laden?

  8. ich versuche mit einem Python skript etwas an einen mqtt broker zu publishen.

    #!/usr/bin/env python

    import time

     

    import paho.mqtt.client as mqtt

     

     

    def on_connect(client, userdata, flags, rc):

        print("Connected with result code " + str(rc))

     

    client = mqtt.Client()

    client.on_connect = on_connect

     

    client.connect("vmiot01srv", 1883, 60)

     

    client.loop_start()

     

    while True:

        time.sleep(2)

        client.publish("test/sensor", "test123")

     

     

     

    Die Fehlermedung im log ist die selbe:

    -------------------------------------------------------------------------------

    Traceback (most recent call last):

      File "pub-single.py", line 30, in <module>

        import paho.mqtt.publish as publish

    ImportError: No module named paho.mqtt.publish

×
×
  • Neu erstellen...