Hallo, ich möchte mir die eZ430-Chronos von TI kaufen (http://focus.ti.com/docs/toolsw/folders/print/ez430-chronos.html) und als zentralen Computer für die Steuerung verschiedener Angelegenheiten in der Wohnung einsetzen. Dazu möchte ich ein Hausgerät bauen, dass folgende Anforderungen erfüllen müsste: - mit eZ430-Chronos auf 868 MHz kommunizieren - mit anderem Gerät über serielle Schnittstelle Daten austauschen - per Bluetooth mit Handy kommunizieren - Signale von Funkfernbedienungen auf 868 MHz nachahmen können, sofern dies mit eZ430-Chronos schlecht möglich ist (mir wurde gesagt, beim Ändern der radio settings wegen RF-Protokoll ist u.U. ein Reset notwendig, was beim Uhrgebrauch wohl unpraktisch wäre) - IR-Signale lernen und aussenden können, ODER wenn einfacher: RF-Signale von IR-RF-IR-Wandlern auf 433 MHz lernen und nachahmen können - ein paar MB Speicher haben Meine Fähigkeiten: - Programmieren - Löten aus Technikunterricht damals in Schule - kein größeres Verständnis von Elektronik (Zusammenhänge, Wirkungsweise) Ist das machbar? Ich hoffe meine mangelnden Elektronikkenntnisse vereiteln das nicht! Ich dachte mir, es gibt ja Entwicklungsplatinen mit einer Reihe an Pins, an die man z.B. ein Bluetooth-Modul anschließen könnte. Es wäre ganz toll, wenn mir da jemand helfen könnte, da mir die Sache echt wichtig ist. Viele Grüße, Joni
Kann mir irgendjemand helfen? So ein Beitrag kommt hier aber auch verdammt schnell unter!
wenn du ein paar Jahre Zeit hast kriegst du das sicher hin ;-) wie immer: arbeite mal das Tutorial hier auf der Seite durch und lass ein paar LED´s blinken, dann bekommst du ein Gefühl wie groß der Aufwand ist
Hallo, ich möchte das ganze auf der Basis eines Entwicklerboards realisieren. Es gibt da welche mit 100 Pins und mehr, die man meines Erachtens programmiertechnisch frei verwenden kann (GPIO?). Manche Boards machen den Eindruck, ein Motherboard zu sein. Bluetooth-, RF- und IR-Module sind da doch nur Peripherie. Somit kann das ganze doch nicht SO komplex sein. Oder was sehe ich da falsch, wenn ich etwas falsch sehe?
Was hast du denn schon programmiert? Welche Sprachen? Welche Umgebung? Was darf es denn kosten? Zunächst mal solltest du dir Gedanken darum machen, welche Interfaces du nun brauchst. Wieviele serielle Schnittstellen z.B.? Wie hoch ist der zu erwartende Kommunikationsaufwand über alle Schnittstellen? Average und Maximum?! So ein paar Grund-Parameter braucht man einfach um bewerten zu können, ob ein Controller denn genug Power/IOs hat das alles abzufackeln. Kommen evtl. noch Dinge hinzu wie ein eigenes Display? Wenn ja, welches? ....
Hallo, vor etwa 10 Jahren habe ich begonnen zu programmieren, und seitdem in PowerBasic für DOS, Visual Basic, C++, PHP und Java programmiert (immer unter Windows). Was ist immer eine doof zu beantwortende Frage: alles mögliche. :) Für Mikrocontroller habe ich noch nicht programmiert, ich sehe aber keine unüberwindbare Hürde, mich da einzuarbeiten, zumal die eZ430-Chronos sicher ein guter Einstieg ist. Als preisliches Maximum würde ich jetzt erstmal 200 Euro angeben, obwohl natürlich gerne günstiger. Schnittstellen (in Klammern hauptsächlicher Datenverkehr): - Serielle Schnittstellen brauche ich auf jeden Fall eine, um mit einem anderen Gerät, das fest ins System gehören soll, kommunizieren zu können (zeitweise am Tag wohl alle 30s Events erhalten und ab und zu Befehle geben). Jemand hat mir allerdings gesagt, IR ist evtl. gut über UART zu lösen, in dem Fall bräuchte ich wohl noch eine. - IR (ab und zu Fernbedienungssignale nachahmen) - Funk 868MHz (Kommunikation mit eZ430-Chronos, meister Datenverkehr, zeitweise andauernde Übermittlung von Daten des 3-Achsen-Beschleunigungssensors möglich, normalerweise ab und zu einige Datenpakete; evtl. ab und zu Signale von Funkfernbedienungen nachahmen, wenn nicht mit Uhr gelöst) - Bluetooth (ab und zu einfache Befehle ans Handy senden, um z.B. Audiosignale, die sich auf dem Handy befinden, ausgeben zu lassen) Ein Display anzuschließen, habe ich nicht vor, nur eine Status-LED wäre wohl ganz sinnvoll. Dann bin ich mir nicht sicher, ob das ganze batteriebetrieben machbar ist, oder saugt das zu viel Strom? Viele Grüße, Joni
Natürlich gibt es keine unüberwindbaren Hürden, wenn man Spass an der Sache hat. Nun, du musst dir bzgl. Plattform selbst ein paar Gedanken machen, in welche Richtung es gehen soll. Wenn du Boards mit GPIO ansprichst, dann denke ich an sowas wie Grasshopper und co. Gibt es natürlich auch für andere Processoren, wie z.B. ARM oder mit ATOM, die dann mehr PC-like sind - keine Ahnung, ob die dann auch GPIOs haben. Das schwierige an diesen Teilen ist meines Erachtens nach eine funktionierende Toolchain aufzusetzen. Die meisten werden wohl mit einem Linux-System laufen, in das man sich dann auch erst mal einarbeiten muss, wenn man vorher nur Windows-Programmierung gemacht hat. Ob es für diese Teile dann auch entsprechende Module (868MHz transceiver/Bluetooth...) und vor allem die dazu gehörenden Treiber gibt, würde ich in Vornherein versuchen herauszufinden. Das programmieren ist dann vergleichbar mit dem programmieren von PCs, da diese Teile ja mit einem Betriebssystem daher kommen. Allerdings werden die bzgl. Stromverbrauch auch etwas hungriger sein. Für das, was Du machen willst sollte aber auch ein Mikrocontroller locker reichen (wozu brauchst du die "paar MB Speicher"?. Das schwierige an Mikrocontrollern ist, dass man hier das Gesamt-System komplett selbst entwickeln muss. Natürlich gibt es Bibliotheken, aber am Ende muss man meist auch da Hand anlegen, z.B. weil ein Interrupt von 2 verschiedenen Modulen benötigt wird. Interrupts sind sowieso die Haupt-Schwierigkeit, die selbst bei profesionellen Projekten noch viel "Freude" bereiten können. Also, was denkst Du macht dir mehr Spaß? Rumärgern mit Toolchains und Linux oder eher Low Level Entwicklung? Zu Grasshopper & Co. kann ich nix weiter sagen, da ich so ein Board auch noch nicht habe. Bzgl. Mikrocontroller habe ich schon einige durch. 8051er, AVR, PIC und den Propeller. Da der Propeller NICHT mit Interrupts arbeitet hat man hier gerade als Anfänger eine Sorge weniger. Durch Multi-Core fällt auch die Anpassung von Fremd-Modulen (beim Propeller Objekte genannt) weg. Einfach einen Core mit dem 868er Objekt füttern und es läuft ohne Einfluss auf den eigenen Code. Die Entwicklungsumgebung ist (wie auch bei anderen Mikrocontrollern) umsonst und die benötigte Hardware ist sowas von minimal ... Breadboard, Propeller und ein paar Transistoren/Widerstände für ein serielles Interface reichen. Besser ist USB 2 Serial statt seriell und zusätzlich noch 64kB EEPROM+5MHz Quarz. Für deine "paar MB" kann man dann z.B. eine SD-Karte dranklemmen. Ok, ich weiß, dass der Propeller hier im Forum nicht gerade häufig genannt wird - und ich verstehe, dass viele Profis Controller bevorzugen von denen es eine Heerschaar an verschiedenen Ausprägungen gibt ... mehr Leistung, OK, nehmen wir die nächst höhere Version ... Aber ich kenne bisher keinen anderen Mikro, mit dem man in so kurzer Zeit soviel zum Laufen bekommt. In den ersten paar Tagen habe ich folgendes einfach mal ausprobiert: - serielle Schnittstelle - 7 Segment-Anzeige - TV - VGA-Monitor - Encoder - Servo - Temperatur-Sensor - SD Karte - Schieberegister (mit dem video-generator vollgepumpt ;o) - AD Wandlung (sigma delta-also ohne externen AD-Wandler) - Keyboard - Lautsprecher - Mikrofon - Text LCD display ... nochmal ... alles in nur wenigen Tagen! Und nicht zu vernachlässigen ist das 1a Forum.
@MagIO Welches Propellerboard hast Du denn? Das für 95€?
Ich hab mit nem simplen Breadboard angefangen und einem USB2Serial vom großen C. Seit ca. 2 Wochen hab ich ein ebenso simples Board von Gadgetgangster. Huckepack ein kleines Breadboard draufgepackt, wieder ein USB2Serial vom C - fertig. Gadgetgangster gab es vor Weihnachten zusammen mit nem SD-Modul und kostet $35 + $6 Porto + €4,5 Zoll Mein nächstes Board wird dann vermutlich eine Eigenentwicklung.
Danke für die Informationen.
>Ich hab mit nem simplen Breadboard angefangen
Ja stimmt, es gibt ja den 40-poligen DIL-Propeller.
Ich würde gerne etwas mit SD-Card und 16-bit Audio machen, dafür wäre
der Propeller bestimmt gut geeignet.
@MagIO: Vielen Dank für die Hilfe! Ich brauchte ein bisschen, um mir das alles durch den Kopf gehen zu lassen und mich umzusehen. > wozu brauchst du die "paar MB Speicher"? Eine der größten Speicheranforderungen besteht wohl im stundenlangen Sichern von Daten des Beschleunigungssensors. Vielleicht 8, oder 16 MB, was ist möglich und leicht genug einzurichten? > Für das, was Du machen willst sollte aber auch ein Mikrocontroller locker reichen Das ist, denke ich, auch das, was ich nehmen möchte. Mit einem Mikrocontroller wäre es doch dasselbe Prinzip wie bei der Windows-Programmierung mit Message loop und WinProc, oder? Die Interrupts setzen einfach eine Statusvariable, dass was geschehen ist, und puffern Daten. Dann registriert die Message loop die veränderte Statusvariable und Hauptcode mit der Verarbeitung von Daten wird ausgeführt. Stelle ich mir das richtig vor? Vielleicht könnte man es von der Programmierstruktur auch mit meiner DOS-Entwicklung von damals vergleichen, wo ich richtig schöne Programme mit Benutzeroberfläche programmiert habe. :) Kann es sein, dass, wenn das Interruptsystem z.B. gerade sehr beschäftigt ist mit Funk, IR-bezogene Interrupts unterkommen, oder steht alles brav Schlange bzw. wird durch Unterbrechen auch anderer Interrupts sicher verarbeitet? > Wenn du Boards mit GPIO ansprichst Das mit GPIO war nur ein erster Gedanke von mir. Hauptsache, ich kann die erwünschten Kommunikationswege einrichten. Ich habe mittlerweile gesehen, dass viele Module über UART kommunizieren können (z.B. http://amber-wireless.de/files/amb2300_ds.pdf oder http://www.bluegiga.com/files/bluegiga/Pub%20files/WT12_Datasheet.pdf). Eine andere Möglichkeit wäre wohl SPI. Bloß, gibt es diese Ausstattung in der benötigten Menge an Boards? Senden kann ja mal warten, aber ich brauche ja auf jeden Fall fürs serielle Port (5 Pins übrigens) und RF Verbindungen, die immer empfangsbereit sind. Muss man mangels Ausstattung manche angestrebte Kommunikationswege (IR, Bluetooth) auf ein Interface vereinen und macht sich so zeitweise "auf einem Auge blind"? Viele Grüße, Joni
Siehe meine erste Antwort: "Zunächst mal solltest du dir Gedanken darum machen, welche Interfaces du nun brauchst." In der Regel sollte ein gewöhnlicher Controller die Hardware-Ausstattung mitbringen, die zu der Aufgabe passt. Dann hat er nämlich entsprechend viele UARTs. Die buffern die Daten bis sie von dem Interrupt-Handler abgeholt werden und nichts geht verloren. Beim Propeller ist das anders. Wenn man da 10 serielle Schnittstellen braucht, dann startet man 3 controller-kerne - von denen jeder 4 serielle Schnittstellen zur Verfügung stellt. Da die sich nur darum kümmern müssen geht da auch nix verloren. Und jetzt such mal nen anderen Controller, der 10 serielle Schnittstellen hat ;o)
Ach so ... vergessen ... zum loggen braucht man ja kein RAM. Das macht man eh besser auf ner SD-Karte. Dann kann man es auch einfach auf nem PC bearbeiten.
Hi, die letzten 2 Wochen hatte ich leider überhaupt keine Zeit. Es ist ärgerlich, aber die nächste Woche wird nochmal genauso. Nicht das du denkst, ich hätte aufgegeben. :) Werde mich dann nochmal melden. Viele Grüße
Sorry, nachdem ich nun auch noch krank war, mal wieder zurück zum Thema. Mit Datenspeicherung auf SD-Karte brauche ich nun 3x UART und 1x SPI. Mit IR habe ich mir das nun folgendermaßen gedacht: eine Fotodiode verwenden in der 3. Betriebsart gemäß http://de.wikipedia.org/wiki/Fotodiode (wg. Reaktionszeit). Das Board braucht einen ADC mit mind. 100ksps, womit ich dann IR-Signale samplen und somit auch lernen kann. Dann ist nur noch das Aussenden mit einer IR-LED nötig. Ich habe mit 'nem Tool von TI (http://focus.ti.com/en/multimedia/flash/selection_tools/mcu/mcu.html) nach einem passenden Controller gesucht. Doch ich habe nur ein Board gefunden, das mit einem Controller ausgestattet ist, der die nötigen Schnittstellen besitzt: http://wiki.davincidsp.com/index.php/MSP-EXP430F5438_Experimenter_Board . Ist mit um die 130 EUR vielleicht n bisschen teuer angesichts dessen, dass da noch ein bisschen was zukommt. Überhaupt finde ich keine guten Verzeichnisse von Boards. Hast du irgendwelche Tipps, wie ich ein entsprechendes Board finden kann, oder ist das Board wohl doch das beste? Viele Grüße, Joni
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.