Jump to content

borg

Administrators
  • Gesamte Inhalte

    3.625
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    61

Alle erstellten Inhalte von borg

  1. borg

    Brick viewer

    For small changes i use vim, for bigger changes i use Eclipse with PyDev too . There is a build_pkg.py in the src/ directory. That can be used to build .exe, .dmg and .deb. Especially in the build_windows_pkg you can see all of the dependencies that we put in the windows executable: "includes" : ["sip", "PyQt4.QtCore", "PyQt4.QtGui", "PyQt4.QtOpenGL", "PyQt4.QtSvg", "PyQt4.Qwt5", "OpenGL.GL", "plot_widget", "numpy.core.multiarray", "ctypes.util", "serial", "win32com.client"]
  2. Habs gerade nochmal getestet, bei mir funktionierts: #include <stdio.h> #include "ip_connection.h" #define HOST "localhost" #define PORT 4223 // Print incoming enumeration information void cb_enumerate(const char *uid, const char *connected_uid, char position, uint8_t hardware_version[3], uint8_t firmware_version[3], uint16_t device_identifier, uint8_t enumeration_type, void *user_data) { (void)user_data; printf("UID: %s\n", uid); printf("Enumeration Type: %d\n", enumeration_type); if(enumeration_type == IPCON_ENUMERATION_TYPE_DISCONNECTED) { printf("\n"); return; } printf("Connected UID: %s\n", connected_uid); printf("Position: %c\n", position); printf("Hardware Version: %d.%d.%d\n", hardware_version[0], hardware_version[1], hardware_version[2]); printf("Firmware Version: %d.%d.%d\n", firmware_version[0], firmware_version[1], firmware_version[2]); printf("Device Identifier: %d\n", device_identifier); printf("\n"); } int main() { // Create IP Connection IPConnection ipcon; ipcon_create(&ipcon); if(ipcon_connect(&ipcon, HOST, PORT) < 0) { fprintf(stderr, "Could not connect to brickd\n"); exit(1); } // Register enumeration callback to "cb_enumerate" ipcon_register_callback(&ipcon, IPCON_CALLBACK_ENUMERATE, (void *)cb_enumerate, NULL); // Trigger enumerate ipcon_enumerate(&ipcon); printf("Press key to exit\n"); getchar(); ipcon_destroy(&ipcon); // Calls ipcon_disconnect internally } olaf@pc:~/build20/c$ ./example Press key to exit UID: 6wVE7W Enumeration Type: 0 Connected UID: 0 Position: 0 Hardware Version: 1.1.0 Firmware Version: 2.0.1 Device Identifier: 16 UID: etG Enumeration Type: 0 Connected UID: 6wVE7W Position: a Hardware Version: 1.0.0 Firmware Version: 2.0.1 Device Identifier: 221 Wie sieht cb_enumerate bei dir aus?
  3. Prinzipiell ja. Ich glaube das hat an der Stelle nichts mit Glück zu tun. Ich denke die haben bei der Produktion von ICs eine sehr hohe Reproduziergenauigkeit, wodurch dann die Widerstände an den gleichen Pinnen immer sehr ähnlich sind, solange die Prozessoren aus der gleichen Charge sind.
  4. Alle Pinne des Mikrocontrollers den wir verwenden können Pull-Ups und Pull-Downs anschalten. Wir erkennen ob ein LCD 20x4 HW Version 1.2 angeschlossen ist, in dem wir Pin 4 auf Pull-Down stellen. Bei der 1.2er Version ist der Pin "floating", d.h. wir würden erwarten dort dann ein Low zurücklesen zu können. Soweit zur Theorie. Nun ist es aber so, dass die Pull-Ups/Downs in Mikrocontrollern sehr ungleichmäßig sind, im Datenblatt vom sam3s ist ein Wert von 50-175kΩ angegeben. Nun scheint es gerade so zu sein, dass der Pin der beim Servo Brick an Button 4 angeschlossen ist so hochohmig ist, dass es zulange dauert bis das Signal so niedrig ist, das es als Low interpretiert wird. Dafür setzen wir jetzt einmal für 1000µs (1ms) die Leitung auf Low um sie zu "entladen", dann nochmal für 1ms auf Pull-Down und dann gucken wir ob die Leitung Low oder High ist (also nur 2ms in Summe, keine Sekunde).
  5. Plugins: LCD 20x4 Bricklet 2.0.4 Fix HW version detection if Servo Brick port a is used Download Plugin: LCD 20x4 Bricklet
  6. Plugins: LCD 20x4 Bricklet 2.0.4 Erkennung von HW Version bei Port A von Servo Brick gefixt Download Plugin: LCD 20x4 Bricklet
  7. Das ist ulkig. Das hat nichts mit dem EEPROM zu tun, die Firmware ist bei beiden Ports gleich . Hast du für beide Ports das gleiche Kabel verwendet?
  8. Bei den neueren Raspberry Pis solltest du die Wetterstation über USB versorgen können, die sollten genug Strom liefern.
  9. Servos haben einen zu hohen Anfahrstrom für USB. Braun ist Masse bei dem Servo, also Braun nach unten. Der Brick Viewer fragt die aktuelle Position/Geschwindigkeit in regelmäßigen Abständen ab um sie darzustellen.
  10. Wenn du ein Multimeter hast kannst du auf dem Raspberry Pi zwischen TP1 und TP2 die Spannung messen, dort sollte etwas >4,5V anliegen.
  11. Die Idee hatten wir auch schon, aber da fehlt die Positioniergenauigkeit. Wir können relativ von einem Startpunkt auf wenige µm genau positionieren, aber nicht absolut nachdem wir einmal die Platte gewendet haben. Auch wenn wir nur um 0.5mm daneben liegen, auf so einem 5mm Raster mit 2mm Abstand zwischen den Löchern wäre das viel zu viel.
  12. Der Zwischenstand ist durchwachsen . Wir haben das mit den Puzzleteilen ausprobiert: Allerdings halten die nicht wirklich gut ineinander. Wir haben dann angefangen kleine Verbinder dabei zu machen. Damit ging es dann gut, allerdings brauchten wir dann auch die Puzzlebarkeit nicht mehr wirklich. Also sieht das aktuelle Konzept so aus: Die Einzelplatten haben je 22x10 Löcher. Wir haben die Geschwindigkeit vom Laser Cutter noch ein bisschen tweaken können, das ließe sich so herstellen. Allerdings haben wir noch ein weiteres Problem, die Montageplatten kommen mit Wölbung aus dem Laser Cutter: Da konnten wir bisher noch keine Lösung für finden. Wir haben schon angefangen die Löcher nicht direkt nacheinander sondern mit größerem Abstand zu machen (also z.B. erst ein Loch auf der linken Seite, dann auf der rechten Seite usw). Damit dürfte es weniger Hitzeentwicklung an einer Stelle geben. Allerdings bringt das rein gar nichts. Interessant ist auch, wenn wir das Acryl im Nachhinein nochmal erwärmen und gerade ziehen verformt es sich beim abkühlen wieder in die gewölbte Form. Wir scheinen also durch das durchlöchern irgendwelche Spannungen oder so im Acryl zu erzeugen . Ich befürchte wir müssen uns für die Montageplatten erst noch ein anderes Plastik besorgen.
  13. Das "$ipcon->dispatchCallbacks(-1);" ist im wesentlichen eine Endlosschleife. Die ganzen kleinen Minibeispiele sind dafür da um direkt über PHP aufgerufen zu werden, das Programm kann dann mit "strg+c" beendet werden. Wenn du über Apache ein Skript ausführen möchtest muss das "$ipcon->dispatchCallbacks(-1);" weg, da ist es ja so das ein PHP Script sozusagen immer einer Webanfrage entspricht. Da darf dann ans ende keine Endlosschleife.
  14. You could connect one of the i-Snail sensors to an Analog In Bricklet (http://nodna.de/i-Snail-VC-25-Strom-Sensor-25Amp).
  15. Circuit boards are ordered, they will be ready in ~mid May .
  16. folgender Aufbau: Raspberry Pi -> USB hub -> RS232 Wandler -> Messgerät | -> WLAN USB Stick | -> Bricks Der Raspberry Pi dient dabei sozusagen nur als Router. Die Bricklets kannst du direkt auslesen (IP von dem Brickd auf dem Raspberry Pi nutzen). Für die Daten vom RS232 Messgerät müsstest du einen weiteren Socket selbst öffnen.
  17. Das ist richtig. Da gibt es so direkt kein Brick oder Bricklet für. Am einfachsten wäre es wahrscheinlich dafür ein Raspberry Pi mit WLAN-USB Stick zu nehmen (und am Raspberry Pi die anderen Bricks/Bricklets die du brauchst). Edit: Und entsprechend natürlich per USB<->RS232 Wandler direkt mit dem RS232 Sensor sprechen.
  18. 500mA würden Problemlos reichen. Das Problem ist, dass die ersten Raspberry Pi Versionen nur 100mA lieferten: Also je nachdem welche Version du hast funktioniert es. Wenn du die neuere Version ohne die USB-Sicherung hast, geht allerdings hotplug nicht...
  19. It can only measure DC voltge.
  20. @raven: Wir haben ein Bild des Micro USB Kabels und eine kurze Erklärung mit reingehängt: http://www.tinkerforge.com/de/doc/Kits/WeatherStation/Construction_RaspberryPi.html hilft das? Für den Aufbau in der Dokumentation brauchst du das Wetterstationskit, einen DC Jack Adapter und eine Step-Down Power Supply. Dazu dann das Micro USB Kabel und ein paar kleine Käbelchen um den DC Jack Adapter mit der Step-Down Power Supply zu verbinden. Wir haben dafür leider noch keine Kabel direkt im Shop. Es gibt jetzt auch ein "Making of" Video von dem Gehäuse:
  21. Du könntest erstmal mit dem Brick Viewer gucken ob die Bricks/Bricklets erkannt werden. Danach würde ich dann erstmal eines der Minimal-PHP-Beispiele testen, um zu gucken ob das mit PHP prinzipiell funktioniert. Wenn das geht bleibt ja nur noch Apache als Fehlerquelle.
  22. @Loetkolben: Schon gesehen: http://www.tinkerunity.org/forum/index.php/topic,1578.0.html ?
  23. Die Löcher sind offen, ich hab das Austauschteil auch einzeln in den Shop gesetzt: https://www.tinkerforge.com/de/shop/cases/weather-station-leftside-wall-replacement-transparent.html Ich finde die Taster optimal, kann man definitiv nicht verfehlen .
  24. Und die erste Erweiterung ist auch verfügbar: http://www.tinkerforge.com/de/doc/Kits/WeatherStation/WeatherStation.html#groszere-drucktaster
  25. Der Sensor sollte ab 0,1 Lux reagieren. Laut Wikipedia hat das Licht einer Kerze auf 2m Entfernung 0,25 Lux, vielleicht hilft das zur Einschätzung. Der Sensor auf dem Ambient Light Bricklet hat aber einen relativ kleinen Messwinkel. Er würde die 0,25 Lux nur dann lesen können, wenn er direkt auf die Kerze zeigt. Wenn er zur Decke zeigt würde er nur das Licht messen, was von der Decke wieder zurückgestrahlt wird Richtung Sensor. Wenn du jetzt im Keller diffuses Licht hast ohne irgendeine konkrete Lichtquelle wo du den Sensor hinrichten kannst, wirst du dich schwer tun etwas zu messen.
×
×
  • Neu erstellen...