Show Posts
Pages: 1 [2] 3 4
16  International / Deutsch / Re: Google Protocoll Buffers zur Kommunikation zwischen Flash-Anwendung und Arduino on: June 05, 2014, 08:38:00 am
kann mir jemand helfen wie ich eine sichere und stabile kommunikation realisieren kann?
17  International / Deutsch / Re: Google Protocoll Buffers zur Kommunikation zwischen Flash-Anwendung und Arduino on: June 05, 2014, 07:57:01 am
hat sich wohl schon erledigt.
die Flash library scheint schon ne macke zu haben.

nichtmal das funktioniert:

Code:
var ambient:hello = new hello();
var byteArray:ByteArray = new ByteArray();

ambient.data = "hallo";
ambient.writeTo(byteArray);

var ambient2:hello = new hello();
ambient2.mergeFrom(byteArray);
trace(ambient2.data);
18  International / Deutsch / Re: Google Protocoll Buffers zur Kommunikation zwischen Flash-Anwendung und Arduino on: June 05, 2014, 02:44:12 am
Was auf den LEDs abläuft ist deutlich komplexer als nur an aus oder rot und blau.
Es werden aufgrund von Parametern verschiedene komplexe Objekte generiert, die auf verschiedenen LED-Bändern angezeigt werden.

Nur als Beispiel: Es soll ein Streifen, der 10 Pixel lang ist, einen Verlauf von rot nach grün hat auf obersten Layer vom 40. zum 100. Pixel laufen mit einer Geschwindigkeit von 3 Pixeln pro Frame.

Hierfür muss eine Methode aufgerufen werden, die verscheidene Parameter braucht.
19  International / Deutsch / Re: Google Protocoll Buffers zur Kommunikation zwischen Flash-Anwendung und Arduino on: June 05, 2014, 02:30:07 am
Quote
Welchen CommandMessenger hast Du verwendet?
http://playground.arduino.cc/Code/CmdMessenger

Quote
Was meinst Du mit "Flash Anwendung"? Willst Du eine Adobe Air-Anwendung mit dem Arduino kommunizieren lassen?
Ja genau.

Quote
Erkläre uns, was Du erreichen willst und nicht, wie Du es erreichen willst.
Letzt endlich möchte ich gesteuert von Flash aus verschiedene Aktionen auf dem Arduino ausführen, das wiederum verschiedene LED-Bänder steuert.

Flash hat verschiedene Nachrichten mit unterschiedlich vielen Parametern, die ans Arduino übermittelt werden sollen.
Der Command Messenger war mir sehr attraktiv, da ich nicht hundferte if else Verzeweigungen schrieben brauche und er das Mapping von der Command ID auf eine Methode gemacht hat. Sehr komfortabel in der Bedienung. Aber eben mit angesprochenen Problemen.
20  International / Deutsch / Google Protocoll Buffers zur Kommunikation zwischen Flash-Anwendung und Arduino on: June 04, 2014, 09:25:25 am
Hallo,

ich möchte die Kommunikation zwischen einer Flash-Anwendung und einem Arduni Mega board etwas vereinfachen.
Bisher habe ich hierfür den CommandMessenger verwendet. Dieser kommt aber leider durcheinander wenn zu viele Nachrichten auf zu schnell hintereinander gesendet werden.

Ich habe jetzt von einem Freund erfahren, dass google Protocol Buffers ein sehr schlankes Kommunikationsprotokokl sein soll.
Hab mich da jetzt ein wenig eingelesen. Auf Seiten von Flash läuft alles schon. Ich habe die proto file erstellt, diese kompiliert und die Klasse erhalten. Nach Instanzierung kann ich die Daten beeinflussen, serialisieren und über den serial proxy von Tinker ans board schicken. So weit so gut.

Nun möchte ich auf Seiten von Arduino das ganze wieder auslesen.
Wie gehe ich hierbei vor?

Die c und h files für die messages habe ich bereits erstellt.

Wenn ich das richtig verstehe, müsste ich einen Puffer anlegen und im loop alle Daten mit Serial.read() in den Puffer schreiben. Richtig? Wie geht es dann weiter? Wie decode ich die Daten, sodass ich die Werte auslesen kann? Woher weiß ich dann welche Message das ist?

Ich hoffe ihr könnt mir helfen.
Die Beispiele, die ich finden konnte arbeiten irgendwie nicht mit Serial und sind auch keine .ino files. (Haben also auch keine loop)

Viele Grüße, Jörg
21  International / Deutsch / Re: Arduino due NeoMatrix video wall on: May 27, 2014, 07:07:20 am
Hello again,

die Anforderungen haben sich jetzt etwas geändert.
Es sollen im ersten Schritt Bilder angezeigt werden, die sich im Flashspeicher befinden.

Finde leider nichts darüber, wie man Bilder in den Flash Speicher bekommt.
Habt ihr da Informationen für mich?

Wie schätzt ihr das ganze ein? Ist das Thema überhaupt machbar für jemanden, der nicht hardwarenah programmieren kann?
Bin gerade so überfordert und hoffe, dass sich das Feld irgendwann etwas lichtet.
22  International / Deutsch / Re: Arduino due NeoMatrix video wall on: May 26, 2014, 07:47:48 am
Also so langsam krieg ich nen Knoten im Kopf.

Bitte helft mir doch das ganze etwas zu sortieren.
Blöderweise habe ich hier jetzt zwei Seiten (Flash und Arduino).
Vielleicht ist es das beste erstmal eine Seite zu machen. Auch wenn ich es dann nicht testen kann.

Ich habe für jedes Pixel 3 Kanäle, die je 255 Werte darstellen können. Also ein Byte pro Kanal.
Ich brauche also für jedes Pixel 3 Byte mit Helloigkeitsinformationen für jeden Kanal.
Dann dürfte das doch soweit stimmen für ein einzelnes Pixel oder?
Code:
if(Serial.available()>=3)
  {
    byte r = Serial.read();
    byte g = Serial.read();
    byte b = Serial.read();
    
    matrix.drawPixel(0,0,matrix.Color(r,g,b));
    matrix.show();
}

Wie kann ich denn jetzt Testweise mal Farbinformationen send und schauen, ob diese dargestellt werden?
Geht das über den Serial Monitor in der Arduino IDE?
23  International / Deutsch / Re: Arduino due NeoMatrix video wall on: May 26, 2014, 07:17:26 am
Quote
Du kannst also nicht wenn du nur abfragst ob gerade 1 Zeichen da ist, gleiche alle einlesen. Die sind noch unterwegs und alle read() Aufrufe bis auf den ersten geben -1 zurück.

Ja der kommt hier auch völlig durcheinander.
Bin leider absolut kein Hardwarenaher Programmierer, aber will mich da jetzt durch beißen.
Es geht vorerst nur um ein einziges Pixel.

Für mich am schwierigsten ist gerade das ganze hin und her gerechne zwischen den datentypen.

Flash code: (getPixel liefert einen uint zurück)
Code:
var color:uint = bitmapData.getPixel(5, 5);
arduinoConnector.arduinoSocket.writeByte(color);

Wäre diese Variante besser?
Code:
void loop()
{
  if(Serial.available()==3)
  {
    uint8_t r = Serial.read();
    uint8_t g = Serial.read();
    uint8_t b = Serial.read();
    
    //matrix.drawPixel(5,5,matrix.Color(r,g,b));
    
    Serial.print("r=");
    Serial.println(r);
    Serial.print("g=");
    Serial.println(g);
    Serial.print("b=");
    Serial.println(b);
  }
  
  matrix.show();
  
  delay(1);
}

habe gerade gelesen, dass ich nicht ohne weiteres werte größe 127 empfangen kann. Stimmt das?
24  International / Deutsch / Re: Arduino due NeoMatrix video wall on: May 26, 2014, 03:30:55 am
Also ich habe mir jetzt für den Test eine Verbnindung zum arduino aufgebaut.
Kann also schon Pixelkoordinaten schicken und setzen. Leider klappt das senden von Farbinformationen nicht.
bzw werdne diese nicht angezeigt.

Mein Flash code macht in jedem frame folgendes:
Code:
for (var i : int = 0; i < CLUSTER_WIDTH; i++)
{
for (var j : int = 0; j < CLUSTER_HEIGHT; j++)
{
arduinoConnector.arduinoSocket.writeByte(bitmapData.getPixel(i, j));
}
}

arduinoConnector.arduinoSocket.flush();

auf seiten von arduino passiert dann folgendes:
Code:
void setup()
{
  Serial.begin(9600);
 
  matrix.begin();
  matrix.setBrightness(20);
}

void loop()
{
  if(Serial.available() > 0)
  {
    for (int i = 0; i < 16; i++)
    {
      for (int j = 0; j < 8; j++)
      {
        matrix.drawPixel(i, j, Serial.read());
      }
    }
  }
  matrix.show();
 
  delay(1);
}

Wofür braucht man die FastLED library? Macht die dann nicht das gleiche wie die NeoMatrix library?
Das ganze klingt so einfach: 64 Farben übermitteln und anzeigen. ist es aber wohl nicht....
25  International / Deutsch / Re: Arduino due NeoMatrix video wall on: May 26, 2014, 02:31:17 am
Die Grafiken werden auf dem i.MX berechnet und sollen dann erst auf das Arduino übertragen werden.
Das Arduino steuert also lediglich die LEDs an.

Eventuell wird noch ein LED strip am due hängen.
Die Arbeit würde dann noch dazu kommen.

Danke vorerst für eure Hilfe. Schaue mir die Sachen mal an.
26  International / Deutsch / Re: Arduino due NeoMatrix video wall on: May 26, 2014, 01:57:36 am
das klingt doch schonmal gut. Danke für die Antwort.

Wo die Daten herkommen ist momentan noch unklar.
Es wird dicherlich kein PC sein, sondern eher ein anderes Board wie z.b. das i.MX6 von freescale sein.
Ich gehe davon aus, dass ich in jedem frame Pixeldaten bekomme.
In welcher Form ist auch noch offen. Das würde ich eventuell durch eure Hilfe hier erarbeiten.

Das einzige, was bis jetzt feststeht ist, dass es ein Due sein wird und die Übertragung über USB erfolgt.

Ich habe testweise mal eine Flashanimation gemacht, die zur Laufzeit die Auflösung runter rechnet und die Pixelwerte berechnet.
Habe also uint Werte für jedes Pixel. Diese würde ich gern schonmal darstellen können.
Mich würde an dieser Stelle schonmal interessieren, wie man die Pixelwerte am besten überträgt. Welchen Datentyp z.b.? Und gibt es eventuell ne library, der ich eventuell nur ein Array von Farbwerten übergebe und diese angezeigt werden?
27  International / Deutsch / Arduino due NeoMatrix video wall on: May 26, 2014, 01:36:30 am
Hallo, ich habe eine 8x8 NeoMatrix und möchte dort mit einem Arduino Due zur Laufzeit (am besten 25 pro Sekunde) Bilder anzeigen.

Was meint ihr, wie ich das realisieren kann? Meint ihr, dass das überhaupt möglich ist?
Die Bilder sollen über USB übertragen werden.

Ich hoffe, dass ihr mir ein paar Informationen geben könnt, denn ich stehe gerade völlig auf dem Schlauch und finde auch keine wirkliche Hilfe im Netz.

Viele Grüße
28  International / Deutsch / Re: Ausgabe auf serproxy.exe konsole on: May 29, 2013, 01:27:46 am
Ok also wir haben jetzt die sourcen für den serproxy gefunden und dort eine Ausgabe eingebaut.
Funktioniert bestens. Jetzt kann ich mir über Serial.println() etwas an Flash senden und es wird gleichzeitig auch auf der Konsole ausgegeben.
So erspar ich mir nervige Textfelder für eine Ausgabe in Flash.

Viele Dank für die Antwort
29  International / Deutsch / Ausgabe auf serproxy.exe konsole on: May 28, 2013, 07:12:47 am
Hallo ich habe eine Flash Applikation, die über der serproxy.exe mit Arduino kommuniziert.
Wenn ich das Arduino script innerhalb der Arduino IDE ausführe (Serial Monitor) mit Serial.println(...); etwas ausgeben lassen.
Wenn das script jedoch auf dem Board geflasht ist kann ich diese Ausgabe nicht in der Konsole vom serproxy.exe sehen.

Wie kann ich das realisieren, dass ich mir irgendwelche Werte grafisch ausgeben lassen kann?
printf(...); geht leider auch nicht.

Vielen Dank schonmal im Voraus
30  International / Deutsch / Re: neue LPD8806 mit 52 LEDs/m (neue library?) on: February 28, 2013, 08:55:28 am
Ja super!

das wars.

Vielen dank
Pages: 1 [2] 3 4