Discuss Scratch

EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Hallo,

ich bin neu hier im Forum und habe mich angemeldet, weil ich ein Problem bei der Verbindung von VisualBasic und Scratch habe. Den Verbindungsaufbau habe ich schon hinbekommen, jedoch verstehe ich noch nicht das Format in dem die Nachrichten übertragen werden müssen.
Den Beitrag im Wiki zu dem RemoteSensorProtocol habe ich mir schon oft durchgelesen und auch diverse andere Beispiel, habe aber die Logik dahinter noch nicht ganz verstanden, bzw. wie man diese Praktisch anwendet.

Ich bedanke mich schon mal im Voraus für die Antworten, Beispiele und Erklärungen.


MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Ich hab bei VB einfach einen tcp-client erstellt der sich mit der eigenen IP und dem port des scratch TCP Servers verbindet. Die eigene IP findest du wenn du in dem cmd ipconfig eingibst und dann deine passende IP raussuchst. Scratch erstellt den TCP Server wenn du bei fühlen auf einen der untersten beiden Schaltflächen einen rechts klick machst und dort Netzwerk Sensoren ein stellst. So hab ich die Verbindung aufgebaut jedoch weiß ich nicht wie ich die Nachricht richtig schreiben soll.


MFG EIKI
TM_
Scratcher
1000+ posts

Scratch mit VB verbinden.

Wenn du die Englische Sprache beherrscht, könntest du ja mal im englischen Forum nachfragen oder direkt einen der Entwickler kontaktieren, diese sollten wissen, an wen du dich dann wenden kannst. Denn ich glaube hier im deutschen Forum wird dir hier vielleicht keiner helfen können. Trotzdem kannst du hier ja öfter vorbei schauen,vielleicht kennt ja doch jemand die Antwort

Hier sind zwei der Entwickler, falls du sie direkt kontaktieren willst (beide nur auf Englisch). Am Besten erstellst du dieses Thema noch einmal auf Englisch im Question-Forum und schickst ihnen dann einen Link mit kurzer Beschreibung worum es geht, denn du kannst sie nur über die Kommentare kontaktieren, welche sich auf 500 Zeichen beschränken. Außerdem kann es 2-3 Tage dauern, bis du eine Antowrt bekommst, also nciht wundern

Lightnin:http://scratch.mit.edu/users/Lightnin/
Paddle2Seehttp://scratch.mit.edu/users/Paddle2See/
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

OK vielen dank für die Antwort TM.

Der englischen Sprache bin ich einigermaßen mächtig jedoch sind die spezial Wörter halt immer bisschen schwierig, deswegen hab ich auch hier im deutschen forum nachgefragt, weil ich die englischen wiki Einträge nicht von vorne bis hinten verstanden habe und mir so das ein oder andere puzzle Stück gefehlt hat. Aber ich werde es mal versuchen.


MFG EIKI
TM_
Scratcher
1000+ posts

Scratch mit VB verbinden.

okay!
Falls du dann doch noch Übersetzungsprobleme bekommst,kannst du hier ja mal nachfragen. Hier sprechen auch die meisten Englisch, daher denke ich finden wir zusammen schon eine Lösung

Die Ergebnisse kannst du ja dann auch hier posten, damit wir das ganze später ins Wiki übernehmen können
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Ok vielen Dank für eure Hilfe.

Hier ist das Thema im anderen Forum: http://scratch.mit.edu/discuss/topic/18089/?page=1#post-162823
hoffe das es einigermaßen verständlich ist. Wenn ich eine Lösung für das Problem gefunden habe bin ich auch gerne bereit diese zu Teilen.


MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Ich bin jetzt grade nicht mehr am PC sende dir es aber noch heute abend. Ich habe scratch 1.4 mit 2.0 wird das ja wieder anders gemacht.


MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Hallo Funkter,

Ich gehe mal davon aus das dein PureBasic-Client ein TCP-Client ist.
Die TCP-Verbindung geht nur über Port 42001 weil Scratch nur an diesem Port den TCP-Server zur Verfügung stellt.
Was meinst du mit Explore?
Ich habe es noch nicht erfolgreich geschafft mit meinem Client einen Broadcast usw. an Scratch zusenden, habe jedoch schon erfolgreich die Verbindung und Kommunikation aufgenommen, jedoch fehlt mir momentan noch das Wissen zur richtigen Formatierung der Commands, da die Formatierung nicht ganz einfach ist. Ich habe sie zumindest noch nicht verstanden aber ich nähere mich täglich mit kleinen Schritten dem Ziel.

Die Motoren-Bausteine sind doch nur für Lego Anwendungen gedacht oder fehlt mir eine Information?


MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Klingt sehr interessant, da ich Scratch aber in der Schule verwende bleibe ich lieber bei der Standard Version, damit es nachher bei der Bewertung meines Projektes nicht zu Uneinigkeiten kommt

Wenn du die Befehlssyntax von Scratch meinst, ist diese z.B. für ein Sensor-Update wie folgt: <4-byte length>sensor-update “The Name” “alpha”
Wie ich diesen Befehl jedoch jetzt richtig empfange weiß ich auch noch nicht genau. Falls du weißt wie man das macht, kannst du mir bitte bescheid sagen. Les dir auch das mal durch, da steht das ganze nochmal erklärt drin aber es ist auf Englisch und ich habe es nicht komplett verstanden: http://wiki.scratch.mit.edu/wiki/Remote_Sensors_Protocol



MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

So beim über fliegen deines codes macht mich dich IP stutzig, die du verwendest, um die Verbindung aufzubauen.
Bei mir musste ich die IP aus dem Netzwerk einfügen. Wenn es bei dir mit der 127.0.0.1 funktioniert ist es auch gut.

Das andere hab ich jetzt nicht so ganz verstanden wie du das meinst. Wenn ich die Leute aus dem anderen forum Thema richtig verstanden habe, und auch das wiki, dann muss über prüft werden, wie lang dein Befehl ist. Die Länge muss dann irgendwie um kodiert werden und der Befehl am Anfang mit so vielen Leerzeichen aufgestockt werden, bis er seine 4byte Größe hat. Hoffe es ist so richtig.


MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Ah ok.

Meines wissens nach, welches durchaus falsch sein kann, setzen sich die 4Byte aus dem Command sowas z.B.
sensor-update “note” 60 “seconds” 0.1
broadcast “play note”
und den Leerzeichen(Denke zumindest, dass es solche sind) zusammen die das gesamt Paket auf 4Byte bringen.


MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Bei Scratch gibt es doch den Befehl sende “käse123”.
Broadcast ist sozusagen dasselbe.
Ja dieser Satz ist ein Befehl. Soweit ich es verstanden habe, geben die 4Byte die größe an. Ich kenne mich da aber nicht so genau aus. Also falls du weißt, dass der Befehl in 4Byte umgewandelt werden musst ist deins richtig.


MFG
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Ok.

Es gibt schon Vorlagen, wie man die Befehle richtig verwertet, jedoch nicht in VB. Wenn du dich bisschen dadurch sucht stolperst du zwangsläufig darüber. Die Beispiele sind in Ruby, Python, Objectiv C und noch ein par anderen Versionen vorhanden, jedoch beschränkt sich mein können als Programmierer auf VB, aber da ich mir das mit Beispiel Videos von YouTube selbst beigebracht habe, weiß ich auch nicht genug von den Netzwerk Sachen um diese von einer anderen Programmiersprache auf VB zu übertragen.

Ich habe ja das Thema nochmal ins Normale Forum geschrieben und bin da auch schon auf dem Weg zu einer Lösung. Wenn du Englisch verstehst oder das eine Beispiel ist auch Code kannst du dir ja das auch mal durchlesen, vielleicht kommst du ja dann zu einer Lösung und weißt mehr damit anzufangen als ich.


MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Hallo Funker. Mit der Hilfe von einem Programmierer habe ich es schon mal hinbekommen, dass nun der Fehler mit bad file size und so nicht auftritt, jedoch macht Scratch noch keine Anzeichen, dass es diesen Befehl richtig verwertet.

result = TextBox1.TextLength.ToString(“0000”) & TextBox1.Text

client_send(“<4-byte length>” & result)
Das ist der Code

MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

result=TextBox1.TextLength.ToString(“0000”) & TextBox1.Text
Wir sagen jetzt mal so als Beispiel, dass du in die TextBox1 Hallo reingeschrieben hast.
result ist die Variable, für das was nach der Umwandlung rauskommt.
Also folgt:
result=“Hallo”.length.ToString(“0000”) & “Hallo”

Bitte lass dich nicht von fehlenden Sachen irritieren, dass sollte so jetzt als Code ohne TextBox1 richtig sein.

Rauskommt:

result=0005Hallo

Als Beispiel nochmal hier für weitere Wörter.

0002Hi
0014Kartoffelsalat

usw.

Wenn ich es richtig verstanden habe leibt 4-byte length immer gleich. Ich glaube, da bin ich mir aber nicht sehr sicher, dass wenn da nur 3-Byte length stehen würde das Format dann so: “002Hi” aussehen müsste.

Ist das letzte aus Post 24 eine Frage oder Aussage?

Was Post 25 betrifft weiß ich nur, dass TCP die universal Möglichkeit zur Kommunikation mit Scratch ist, und das andere Geräte viel eher zu der Benutzung mit Scratch ausgelegt sind.

MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Und was funktioniert daran nicht?
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Funtktionieren tut es bei mir noch nicht. Ich warte da noch auf die Antwort aus dem anderen Thema.
Und zu dem Picoboard hab ich leider überhauptkeine Ahnung von, wie das Funktioniert.


MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Hallo Funker.

Nein das Funktioniert denke ich so wie bei der Mesh Funktion.
Meinst du mit Text verständlich umsetzen übersetzen?
Mit deinem letzten Post hast du dich wohl im Forum geirrt.

Sorry, dass ich erst so spät antworte. Irgendwie konnte ich auf meinem Handy die Nachrichten nie abschicken.


MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Rein theoretisch wenn ich alles verstanden habe, müsste es mit einer grünenflagge und einem Wenn ich “…” empfange funktioniere, aber da ich mein Programm in VB auch schon an den Punkt, dass ich es senden kann gebracht habe, kam bei Scratch immerhin keine Fehlermeldung mehr, aber es hat sich ansonsten auch nichts getan. Wie genau das Funktionier hab ich in dem anderen Thread, wie du vielleicht schon gesehen hast, auch gefragt aber bisher keine Antwort bekommen.


MFG EIKI
EIKI
New Scratcher
40 posts

Scratch mit VB verbinden.

Ich finde heute wahrscheinlich nicht mehr dir Zeit dazu und wenn erst später. Mache das aber mal.


MFG EIKI

Powered by DjangoBB