Hallo zusammen,
ich möchte einmal über eine Alternative zu PF nachdenken.
Als Empfänger scheint mir SBrick das einzig ernstzunehmende Produkt, damit läge die Übertragung fest bei Bluetooth. Oder gibt es anderes Sinnvolles?
Zum Senden benötigte ich dann irgendwas etwas wie einen Arduino oder Raspberry. Leider bin ich auf den Seiten so gar nicht fündig geworden, was die einzelnen an Featuers bieten.
Wenn ich es richtig verstehe benötige ich:
- Prozessorkarte
- USB Bluetooth-Modul (da nicht auf der Prozessorplatine?)
- 5V Stromversorgung (9v?)
- Bootfähige SD-Karte mit OS
- Module für den Bluetooth-Stick
- Module für das SBrick-Protokoll
- SDK für den PC (welche Sprache?)
- Verbindungskabel PC/Controller
Leider, leider ist das ganze Unix/OpenSource so gar nicht meine Welt, selbst mit Mühe verstehe ich auf den entsprechenden Seiten ungefähr Null. Der Link von Steffen letztens hat mich mehr als ratlos hinterlassen
Was ich machen möchte:
Eine Steuertabelle anlegen wie folgt:
IO-Port Raspberry - A/D - Kanal SBrick - Port SBrick
Und dann soll das tun.
Leider habe ich auch auf der SBrick-Seite nicht einmal die Anzahl der Kanäle oder irgendwelche anderen technischen Daten gefunden.
Wer kann mir da mal mit diesen Themen auf die Sprünge helfen?
Grüße
Werner
Hallo Werner
Ich würde für Steuerungsaufgaben den Arduino vorziehen, da seine Architektur für solche Zwecke konzipiert ist. Du findest auch im Netz Hard und Software, die ihn Lego-kompatibel machen kann. Du brauchst auch keinen SBrick, denn der Arduino kann ihn in allen Belangen voll ersetzen.
Gruß GBCPeter ( Aus dem Nachbarforum, der auch damit bastelt )
Hallo,
Vielen Dank schon mal für die Hinweise, hier eine kurze Sammelantwort.
Die Möglichkeit mit dem Arduino ist mir bekannt, allerdings hat sich die IR-Steuerung auf Ausstellungen nicht wirklich bewährt, daher der Gedanke, auf BT umzusteigen, also SBrick.
Meine Idee ist, dass es eine Bibliothek/ein Modul geben muss, mit dem das SBrick-Protokoll an den USB-Port ausgeben wird.
Das könnte also eine Routine SBrick.SendToUSB(parm1, parm2,...) zur Verfügung stellen.
Auf dem PC stelle ich mit einem "SDK" (hier: Text-Editor) ein kleines Programm zusammen
Include SBrick.Library
do
a = getIOport(5) ; Wert von IO-port 5 holen
SBrick.SendToUSB(13,1,a) ; 13=SBrickNr, 1=PortNr, a= Geschwindigkeit)
loop
Das ganze wird auf dem Raspberry gespeichert, dort compiliert und dann ausgeführt. Wenn man an den port 5 ein Potentiometer hängt? Sollte das nicht gehen?
Dass das alles geht, hat in dem gezeigten Link Steffen ja gezeigt. Es muss also solche Libraries bereits geben.
Was mir völlig fehlt sind die Zusammenhänge. Welche Sprachen, welches OS, welche Module, wie kommuniziert man mit dem Raspberry überhaupt?
Über einen Web-Server?
Keine Ahnung. Vielleicht gibt es ein gutes Tuturial.
Zu den Programmierkenntnissen: vorhanden.
Mein erstes "ernstzunehmendes" Programm hat die Bewegung eines Steuerknüppels meiner Graupner-Fernsteurung eingelesen und daraus direkt die PWM für den Lok-Motor (über selbstgebauten Optokoppler / Booster) erzeugt. Programmiersprache: Assembler mit Prozessor-Interruptprogrammierung, um eine konstante 60Hz-Frequenz zu erzeugen - auf dem C64. UI mit Basic. Das müsste 1984 gewesen sein.
Grüße
Werner
Hallo Werner
Bluetooth ist aufm Arduino sehr wohl möglich.
Eine Szenerie: 1x Arduino Nano, Bluetooth Adapter HC06, und H293 Ic für den Motor. Die Kombi passt praktisch in jeden Zug und das alles kannst du mit dem AppInventor übers Handy/Tablet steuern. Kostenmäßig max 30-35€ wenn die Sachen in China bestellt werden.
Und programieren kannst du in c++ wobei die fertige Software dafür praktisch im Netz zu finden ist.
Gruß Peter
daniel.vergien
21.09.2016, 08:35
Als Antwort auf den Beitrag von Lok24
Editiert von
daniel.vergien
21.09.2016, 08:38
Moin,
Lok24 hat geschrieben:
Lok24
21.09.2016, 12:10
Als Antwort auf den Beitrag von daniel.vergien
Editiert von
Lok24
21.09.2016, 12:16
Hallo alle zusammen,
Danke für die weiterführenden Infos.
Hier nochmal die Projektliste.
Was will ich erreichen?
- die unsichere Signalübertragung via IR durch eine bessere ersetzen
Möglichkeiten der Signalübertragung:
- Schienen (nur via 12V/9V-Schienen, DCC)
- WiFi
- BT
- andere ?
Alle drei sind prinzipiell bidirektional.
Wie will ich das erreichen?
- mit möglichst geringem Aufwand
Welche Elemente sollen wie ersetzt werden?
- Empfänger im Lego-Stil (SBrick, NodeMCU / Arduino mit MotorShield)
- Sender im Lego-Stil (Ein Lego-Kasten mit einem Drehknopf und 3 Tasten, drinnen eine Nicht-Lego-Elektronik), ggf. noch ein Wahlschalter für die Lokadresse. Kein Smartphone/Tablet.
Was soll nicht erreicht werden?
- Automatisches fahren, Steuerung von Abläufen, Stellen von Weichen und Signalen
Was muss das Programm des Senders also tun?
- 4 Ports zyklisch abfragen (ggf mehr für die Lokadresse)
- mit den vorherigen Werten vergleichen
- bei Änderung übertragen
- ca alle 1sec alle Werte übertragen (Sync)
Das ist alles, der Quellcode läge bei deutlich unter 50 Zeilen....
Weiter Programmierung:
- keine
Hoffe das ist jetzt klarer geworden.
Die Option einer Steuerung, wie ihr und Steffen sie beschreibt, bliebe natürlich dadurch als Option erhalten.
<Einschub>
Rückmeldung
Für eine Automatik ist eine Rückmeldung unerlässlich.
DCC bietet die, SBrick nicht. Für eine Positionsbestimmung über die Rückmeldung würde man Balisen nutzen. Moderne Systeme arbeiten allerdings mit einer Art GPS und benötigen keine Rückmeldung des Zuges. Wer auf der FanWelt ist kann sich das vermutlich ein Stockwerk tiefer anschauen.
</Einschub>
Was ich bisher verstanden habe:
Ein Arduino ist ein Mikrocontroller ohne OS, Tastatur, Maus, Monitor.
Man schließt ihn an den PC an, dort gibt es eine Entwicklungsumgebung, mit der man das Programm erstellt und in den Controller lädt. (Ähnlich einem EV3)
BT oder WiFi mit Zusatzhardware möglich.
Einfacher Betrieb mit 9V-Batterie.
Stromverbrauch bei 30mA
Ein Raspberry Pi ist ein kompletter "PC" mit OS und Anschlüssen für Tastatur, Maus, Monitor.
Man erstellt am PC (oder kauft fertig) eien SD-Karte, von der der Controller bootet, egal ob Linux oder Windows.
Programmieren kann man dann direkt auf dem Gerät, auch das Programm dort compilieren. (Ähnlich einem PC)
BT oder WiFi mit Zusatzhardware (je nach Modell) möglich.
Betrieb mit USB-Powerpack.
Stromverbrauch bei 80 mA.
Was mir (anscheinend) "nur" fehlt ist die Library für das SBrick-Protokoll.
Habe ich das soweit alles richtig verstanden?
Grüße
Werner
Hallo Werner,
ich habe keine Ahnung, was Du genau machen willst, da ich mich dem technischen Zeugs nicht so auskenne,
aber vielleicht hilft Dir das weiter:
http://www.bluesmartcontrol.com/de
Nimm einfach mal mit Andreas Kontakt auf.
Liebe Grüße
Lothar
Haloo Lothar,
Lothar hat geschrieben:
Es gibt für Arduino unzählige Module.
Ganz günstig auf aliexpress
Dann kannst du mit Smartphone oder Tablet das ganze bedienen.
Einen Sbrick brauchste da auch nicht, da du ja alles über den Arduino steuern kannst.
Ich habe z.B. vor meinen Kran per Arduino automatisch sich ständig bewegen zu lassen.
Hallo,
Danke für Deine Antwort.
FETT hat geschrieben:
Nein in die Loks wird gar nichts gebaut.
Ich baue alles an die Strecke.
Per Lichtsignale / Ultraschall (besser als IR) kann mann alles steuern und regeln.
Wo ein Zug sich aufhält, ob eine Kreuzung blockiert ist.
Weichen schalten usw. usw.
Wenn du allerdings alles zentral steuern möchtest, geht das mit den entsprechenden Modulen genauso.
Aber da muss man sich weiter einarbeiten.
Ich habe mir jetzt ne ganze Ladung Module bestellt. Und fange einfach mal an und schaue was passiert.
Ideen habe ich durch die Videos unten viel.
Hier mal schöne Videos, die eine Idee geben was man so machen kann und wie der Einstieg ist.
Xymion gefällt das