Jump to content

pluto

Members
  • Gesamte Inhalte

    161
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von pluto

  1. Danke für die weiteren Stichpunkte. Aber soweit wollte ich nicht gehen. Worüber ich schon nach gedacht habe ist die Sicherheit, z.b. die Verbindungs zu verschlüsseln. Ich denke aber, dass wäre schon zu übertrieben, da die Reichweite sehr beschränkt sein wird, anders als bei WLAN und CO. Bis jetzt habe ich noch keine Alternativen Bau Teile zu IR LED und IR DIODEN gefunden. Ich dachte ja daran z.b. bluetooth zu verwenden. Jedoch muss das Bauteil sobald es Strom bekommt Senden und wenn esk ein Strom bekommt aufhören...
  2. Mag sein, ich finde die Idee jedenfalls nicht Schlecht. Mir schwebt auch noch was anders vor, was es auch noch nicht gibt *G*...
  3. Danke für die Infos, werde ich mir anschauen. Ich weiß, dass ich das rad ein Zweites Mal erfinde. Aber es geht mir darum, ob es so geht wie ich es mir vorstelle. Es geht mir um die Sache selbst, nicht darum, ob es ein Nutzen hat. Wenn du es so siehst, darf man auch nicht mehr Programmieren. Weil alles was man Programmiert wurde bestimmt schon einmal Programmiert.
  4. Das Denke ich auch. Ich spiele auch mit den Gedanken, es nicht nur mit IR zu versuchen, vielleicht gib es sogar Funk-Möglichkeiten z.b. über Bluetooth? Das hätte gegenüber IR deutliche Vorteile.... es kommt halt durch Wände und kommt weiter. Aber ich weiß nicht, ob man es einfach mit Tinkerforge steuern kann und es ob es überhaupt sowas gibt. Das ganze ist im Moment nichts weiter als eine Idee... Aber ich denke, nach Berlin, werde ich mich damit genauer befassen. Wird bestimmt Spannend werden.
  5. Was ist denn, wenn die Strom Menge zu viel ist, für die IR-LED oder für die IR-Diode? Darum sollte sie Konfiguierbar sein.
  6. Auch eine Gute Idee... Bei größeren Datenmengen, ist das bestimmt Sinnvoll. Vielleicht auch schon bei kleineren. Das wird sich dann zeigen.
  7. Ach so. Ja, es gibt eine Sogenannte Grundspannung, und alles was darüber kommt bei der Diode ist das Signal. Aber ob das Ausreicht, damit ein Event beim 1O4 Ausgelöst wird? Zu den Fehlern: Ich dachte mir heute: Ich sende einmal die Länge/Größe und einmal zwei mal die Checksumme. Wurde beide male das richtige Empfangen,bekommt der Sender eine Entsprechende Antwort, sonst wieder zwei mal. So lange, bis es richtig ist oder der User Abbricht. Wenn die Übertragung Fertig ist, wird die Checksumme und die Länge verglichen von dem was Empfangen, wurde Stimmt beides überein, OK. wenn nicht, komplett erneut senden. So lange, bis es OK ist oder der User abbricht. Ich denke am Anfang, sollte das ausreichen oder? Ich möchte das mit Lazarus/FPC machen. Wenn ich das Projekt in die tat umsetzte, weiß ich noch nicht.... Aber ich bin fest Entschlossen es zu Versuchen... Ob ich den IO4 oder IO16 Nehme weiß ich noch nicht. Ich möchte ja auch, mehre IR-LED und IR-Dioden anschließen um die Übertragungs Rate erhöhen zu können. PS: Ich halte ein Vortrag über tinkerforge, DBUS und Lazarus/FPC in Berlin am Kommenden Wochende. Da stelle ich verschiedene Prototypen und Experimente vor.
  8. @ArcaneDraconum Hast du so ein brick gemeint: https://shop.tinkerforge.com/bricklets/io16-bricklet.html und kann ich damit Strom Messen und Konfiguieren? Wenn ich es richtig sehe ja, stimmt das? @FlyingDoc Weil beim "RS485 Extension" ist doch ein Kabel da zwischen, sehe ich das richtig? Oder meinst du, Kabel abmachen und einfach die IR-LED und IR-DIODEN anschließen? Wenn du das meinst: Ich kenne mich auf Hardware Seite kaum aus... und mir ging es darum, selbst was zu Entwickeln. was ich umsetzten kann.
  9. Ich denke, sobald genügend Strom fließt ist die Infrarot LED an und dann müsste eine Entsprechende IR Diode auch was Empfangen. nun ja, ich möchte gerne das beide Seiten Senden und Empfangen können. Kann ich mit so einem IO4 Bricklet gleichzeitig Strom/Spannung Messen und Strom Fließen lassen? Soviel dass es für die Infrarot LED ausreicht?
  10. Im Prinzip ja, nur halt mit Infrarot und nicht so schnell Könnte ich machen. Mal sehen... Wäre wohl am Sinnvollsten Genau. Die Daten kommen über ein Brick rein und werden über ein Brick gesendet. Ich hoffe, dass ich im Millisekunden Arbeiten kann oder noch schneller. Gar nicht... Ich baue es so auf, dass da nichts zwischen kommt. Das ist die Frage. Vielleicht sollte erst die Länge übermittelt werden und wenn was nicht ankommt, kann man die Länge/Größe von den was übertragen wurde vergleichen und dann wird es so lange gesendet bis es angekommen ist... Wäre das einfachste oder? Ich habe mir beide Wege überlegt. Bei jedem Zeichen wäre es wohl zu Aufwendig oder? Meine Sorge war, dass ich auch die Richtigen Bau-Teile bestelle und das die Infrarot LED und Diode zusammen passen. Ich habe kein Technisches Hintergrund Wissen oder kaum. Nein, ich sprach von einer zwei Wege Kommunikation. ich brauche ja die Teile nur zwei mal zu bestellen. Ne Sinnvolle Idee.. Ich werde mir dazu mal Gedanken machen. Bin jetzt nicht so begabt was Datenübertragung angeht. Das ist das Erste Projekt in dieser Richtung. Genau. Ich sehe es auch als Softwareprojekt. Hätte ich genügend Technisches Hintergrund wissen, wäre es anders. Ich, zögere noch die Bauelemnte zu bestellen, da ich mir noch nicht 100% Sicher bin das es wirklich klappt und das meine Gedanken, richtig sind. Aber eure Antworten klingen schon mal recht gut.
  11. Hallo Schon seit längerer Zeit habe ich eine Idee und wollte wissen, ob meine Vermutungen richtig sind. Ich möchte eine eigene Datenübertragung per Infrarot entwickeln. Ich dachte mir, mit einem Analog in und einem Analog Out müsste es doch gehen oder? Details: Ich schließe eine oder mehrere Infrarot LED'S an einem Analog Out und eine oder mehrere Infrarot Foto-Dioden an einem Analog In. Nun findet eine Datenübertragung statt: Ein Signal wird gesendet und die Gegenseite misst die Zeit, wie lange es gesendet wird und legt das in einem Buffer ab. z.b. einem 2D Array. nun Muss nur noch ein Zeichen Codiert werden in einem Bestimmten Code z.b. könnte der Code aus Vier Signalen bestehen. Wurde ein Zeichen komplett übertragen kommt ein TimeOut und der Array wird um eine Spalte Erweitert. kommt ein noch längeres TimeOut ist die Übertragung zu Ende und das Array kann ausgewertet werden. Das könnte dann so aussehen: Zeile 1: Lang Kurz Lang Lang könnte für A stehen Zeile 2: Kurz Lang Kur Kurz könnte für ein B stehen und soweiter Diese Code-Tabelle könnte Automatisch Generiert werden einmal für 256 Zeichen. Ich hoffe ihr könnt mir folgen. Die Genannten Bauteile wollte ich zwei mal "bestellen". Damit eine zwei Wege Kommunikation stattfinden kann. ist die Entfernung zu Groß, könnte eine Art Repeter das Signal verstärken. Aus kosten Gründen, würde ich den ganz einfach halten: Einfach die Infrarot LED an eine Infrarot Diode anschließen. Vermutlich reicht der Strom der Empfangen wird nicht aus, daher müsste noch eine Strom Quelle dazwischen geschaltet werden. Solange die Diode etwas Empfängt, soll die LED senden. Zur Kontrolle, ob was Gesendet und Empfangen wird, könnte eine Normale LED noch hin zu kommen. Das ganze ist im Moment nur so eine "Grobe" Idee, aber könnte doch Funktionieren oder? Die Frage ist auch, wie weit ich ohne Signal Verstärkung komme und wie weit mit. Lustig wäre jetzt natürlich, wenn der Normale Netzwerk Verkehr umgeleitet werden könnte auf diese neue Verbindungs-Möglichkeit. Aber ich denke, dass wird zu schwer werden.
  12. Da könntest du recht haben. Für unterwegs eigenen sich die Bauteile meiner Meinung nicht. Oder? Wie stellst du es dir vor? Wäre aber natürlich lustig, wenn man sie auch unterwegs nutzen könnte. Aber dafür gibt es Handy's, die dafür besser geeignet sind. So hat jeder seine Träume/Vorstellungen. Für mich ist das LCD deshalb praktisch, da ich damit sehr viel machen kann, ohne Handwerklich begab zu sein.
  13. Komisch nur, dass es keine Fehler Meldung gibt. Bei FPC/Lazarus würde es eine entsprechende Fehler Meldung geben.
  14. Ein wichtiger Punkt: Der PC-Monitor verbraucht ja viel mehr Strom als, ein kleines Display. So könnte man viel mehr Aufgaben auf das kleinere Display übertragen. Zugegeben, dass wäre jetzt Spielerei, aber damit kann man eine menge machen. Bei einem Optischen Display, wären ja sogar andere Schrift Arten vorstellbar. ach ja: Das Display könnte nicht nur ein Anschluss für ein Tastenfeld haben, sondern vielleicht sogar mehrere. Und beim Optischen Display, könnte es noch ein Mauspad oder sowas ähnliches geben.
  15. Hallo Gibt es hier Überlegungen, ob das Display erweitert werden könnte/sollte? Das LCD ist ja schon mal nicht schlecht, aber etwas klein. Ich sehe hier noch viele Möglichkeiten, um es zu erweitern: Z.B. dass der Kontrast per API eingestellt werden kann. Das die Stärke der Hintergrund Beleuchtung über die API eingestellt werden kann. Toll wäre auch, wenn die Hintergrund und Vordergrund Farbe eingestellt werden kann. Vielleicht reichen ja 16 Farben aus(erst mal). Entweder nur Pauschal, oder sogar bei jedem einzelnen Zeichen. Bei Reichelt habe ich sogar relativ günstig, kleine Optisches Display gefunden. Damit könnte man natürlich viel mehr machen. Wenn man die an ein Master-Brick anschließen könnte. In diesen Zusammenhang, wäre ein Tasten-Feld-Brick Sinnvoll/Praktisch. Das Tasten-Feld-Brick, könnte an das LCD Angeschlossen werden. Sonst würde es wenig Sinn machen, denke ich. Es könnte verschiedene Varianten geben, vom Tastenfeld. Die verschieden Groß sind.
  16. Hallo Ich habe mich für Tinkerforge nur aus einem Grund entschieden: Da ist ein Display bei, was man relativ leicht ansteuern kann. Mein Ziel war es Aktuelle Amarok Informationen darauf zu schreiben. Jetzt endlich bin ich soweit: In der ersten Zeile kommt der Album, ist kein Angeben, wird das letzte Verzeichnis im Pfad genommen. In der zweiten Zeile, kommt der Titel, ist keins Angeben, wird der Datei Namen genommen In der Dritten Zeile, ist die Aktuelle Spielpostion zu sehen, sowie die Länge und die Rest Zeit In der Vierten Zeile, gibt es eine Umgebungs Temperatur anzeige. Das ganze geht per DBUS, dass war am Anfang auch das Haupt Problem. mal sehen ob die Anwendung Stabil läuft. Im Anhang findet ihr das Lazarus Projekt und eine Hilfs Unit: ein DBUS_Control welches ich geschrieben habe aber noch lange nicht Fertig ist, für meine Zwecke reicht es aber erst mal. Ihr könnt es gerne verwenden. Vielleicht habe ihr ja noch Verbesserungs Vorschläge? Das ganze läuft bei mir unter Ubuntu 12.4 Beta 2 in einer KDE4 Plasma Umgebung. Wegen DBUS, läuft es wohl nur unter Linux, zwar gibt es DBUS auch für andere Plattformen, aber da macht es kaum einen Sinn, es zu verwenden. Edit01: Text neu erstellt prj1.zip
  17. Warum möchtest du eigentlich von den Brick Klassen unbedingt ableiten?
  18. Wie sieht es eigentlich mit den Pascal Bindings aus?
  19. pluto

    News zu TF

    Mein Problem ist eher das Technische Verständnis. Z.B. was mache ich mit den zwei Motoren die im Angebot sind? Vorstellen könnte ich mir viel: Eine kleine Seilbahn, Automatische Rohlos hochziehen und der gleichen. Aber wie wir das umgesetzt? Programmieren wäre hier kein Problem. Aber ich bräuchte bestimmte Zahnräder um die Kraft zu übertragen, ich brauche Materiellen die sich dafür eignen. Klar, brauche ich auch Werkzeug. Aber nichts zu trotz, dass Display ist toll, auch wenn es noch viel Spielraum für Erweiterungen geben würde.
  20. Normalerweise geht das recht gut. Schau mal hier: http://wiki.freepascal.org/Multithreaded_Application_Tutorial/de Da steht aber auch, dass die LCL nicht Thread Sicher sei.... könnte daran liegen.
  21. Gibt es noch eine andere Möglichkeit um an die Angeschlossenden Bricks zu kommen als Enumerate? Ich habe versucht, dass ganze im CallBack zu verschieben, da gab es Fehler Meldungen, wegen Multi-Thread zugriff. Das mag X leider nicht. Scheinbar. Im Moment mache ich das so, dass ich 100 ms Warte, bevor ich bevor ich die Methode(BitBtn1Click) Fortsetzte.
  22. Interessantes verhalten: Wenn ich den Masterbrick abnehme, wird ein Device Remove geschrieben, wenn ich es wieder anschließe kommt ein New Device. Wenn ich jetzt jedoch einzelne Bricks abnehme oder dran stecke, bemerkt er nicht. Ich nehme an, dafür müsste ich auf den Rest Knopf drücken. Komisch, nur dass die GUI darauf anders reagiert.
  23. Ja, aber er reagiert überhaupt nicht darauf auf das ab und anstecken von Bricks So habe ich es auch gedacht, es kommt aber nichts. Kein Event wird ausgelöst. Falsch geraten*G*. nein, ich fülle nur eine Liste erst einmal und mache meine Panels sichtbar, mehr nicht und das mache ich auch nicht im Event, wäre eine Gute Idee allerdings. hier mal mein Code: procedure TForm1.BitBtn1Click(Sender: TObject); // aktualisieren function FindBricklet(const aName:String):string; var i:integer; begin result:=''; for i:=0 to ListView1.Items.Count-1 do begin if Pos(aName,ListView1.Items[i].Caption) > 0 then begin result:=ListView1.Items[i].SubItems[0]; break; end; end; // for i end; // FindBricklet var str:string; Found:Boolean; begin ListView1.BeginUpdate; ListView1.Items.Clear; if Assigned(ipcon) then begin ipcon.Free; ipcon:=nil; end; ipcon:=TIPConnection.Create('localhost', 4223); ipcon.Enumerate(@EnumerateCB); sleep(100); // 100ms warten, damit die ListView gefüllt wird ListView1.EndUpdate; Found:=False; poti:=nil; t:=nil; al:=nil; lcd:=nil; Panel4.Visible:=False; Panel9.Visible:=False; Panel10.Visible:=False; Panel5.Visible:=False; Panel11.Visible:=False; Height:=Panel1.Height; str:=FindBricklet('Rotary Poti Bricklet'); if str <> '' then begin poti:=TBrickletRotaryPoti.Create(str); ipcon.AddDevice(poti); poti.OnPosition := {$ifdef FPC}@{$endif}PositionCB; poti.SetPositionCallbackPeriod(50); Label10.Caption:=IntTostr(poti.GetPosition); Panel4.Visible:=True; Panel9.Visible:=True; Found:=True; end; str:=FindBricklet('Temperature Bricklet'); if str <> '' then begin t:=TBrickletTemperature.Create(str); ipcon.AddDevice(t); t.OnTemperature:=@TemperatureCB; Label3.Caption:=Format('%f °C',[t.GetTemperature / 100]); Panel4.Visible:=True; Panel7.Visible:=True; Found:=True; end; str:=FindBricklet('Ambient Light Bricklet'); if str <> '' then begin al:=TBrickletAmbientLight.Create(str); ipcon.AddDevice(al); al.setIlluminanceCallbackPeriod(1000); al.OnIlluminance:=@AmbientLightCB; Label7.Caption:=Format('%f Lux',[al.GetIlluminance / 10]); Panel4.Visible:=True; Panel10.Visible:=True; Found:=True; end; str:=FindBricklet('LCD 20x4 Bricklet'); if str <> '' then begin lcd:=TBrickletLCD20x4.Create(str); ipcon.AddDevice(lcd); lcd.OnButtonPressed:=@ButtonPressed; lcd.OnButtonReleased:=@ButtonReleased; CheckBox1.Checked:=LCD.IsBacklightOn; lcd.WriteLine(3,0,' '); Panel5.Visible:=True; Found:=True; end; str:=FindBricklet('Distance IR Bricklet'); if str <> '' then begin dist:=TBrickletDistanceIR.Create(str); ipcon.AddDevice(dist); dist.OnDistance:=@NotifyDistance; dist.setDistanceCallbackPeriod(200); Panel4.Visible:=True; Panel11.Visible:=True; Found:=True; end; if Panel4.Visible then Height:=Height+Panel4.Height; if Panel5.Visible then Height:=Height+194; if not Found then begin ShowMessage('Kein Brick angeschlossen!'); ipcon.Free; ipcon:=nil; end; end; im besagten Event mache ich das hier: procedure TForm1.EnumerateCB(const uid: string; const aname: string; const stackID: byte; const isNew: boolean); begin with ListView1.Items.Add do begin Caption:=aname; SubItems.Add(uid); end; // with end; Wäre Denkbar. Aber solange es angeschlossen ist geht es Prima. Ich denke, dass der Thread nicht beendet wird, sobald es kein Gerät mehr gibt. Ich müsste mal klären ob es vielleicht an den Senoren liegt, die ja öfter Werte liefern als das LCD. Ach so, dass EnumerateCB sollte darüber informieren ob z.b. der Master Brick abgesteckt wird oder angesteckt wird.Ich konnte jedoch wie gesagt, keine Reaktion feststellen.
  24. Wenn ich die USB Verbindung trenne. Obwohl ich noch eine Verbindung zum BrickD habe. Hier ein Auszug daraus: Wenn ich mir die Fehler Meldungen anschaue, scheint es an der LibC zu liegen. Ich vermute,die Verbindung wird nicht sauber beendet oder? Ich habe jetzt mal das Netzteil vom USB Hub angeschlossen, die Werte, die von den Sensoren kommen, scheinen Stabiler zu sein. Werde ich mal weiterhin beobachten.
×
×
  • Neu erstellen...