Hallo, ich möchte gerne eine Steuerung aufbauen, bei der ein Master (Einplatinen-Computer) mit mehreren (entfernten) ATmega's kommuniziert und diese "Steuert". Ebenfalls soll ein kleiner "Webserver" auf dem Einplatinen-PC zur Visualisierung laufen. Nun bin ich aber noch ein "Anfänger". Welcher Einplatinen-Computer ist am besten für mich geeignet, und was für Lektüre gibt es zur PC-Programmierung? Ich kann Visual Basic & Assembler falls mir das hilft. Welcher (Günstige) Einplatinen-Computer (Raspberry PI, Beaglebone-Black und was es nicht alles gibt) eignet sich hier am besten? MFG
Zusatz: Ich benötige keine Gute Grafikleistung. Die größe sollte so sein das man es eventuell noch in ein Hutschienengehäuse bekommt.
MS schrieb: > Visual Basic Bedeutet Window$. Dafuer ist mir keine Loesung bekannt, die die anderen Bedingungen erfuellen wuerde. MS schrieb: > Assembler Assembler fuer einen Webserver? Das tut sich niemand freiwillig an. Alle mir bekannten Boards laufen unter Linux (oder das Pollin-Netio z.B. unter ethersex, das ist aber einige Klassen tiefer) fonsana
Moin, mit Visual Basic und Assembler wollte ich nur sagen, das ich schon ein bisschen was kann un d die µC programmieren könnte, mir fehlt halt nur der Einplatinen-Computer, für dessen Visualisierung ich auch gerne was dazu lernen würde. Ebenfalls kann ich auch PHP, HTML usw. Weshalb Linux also überhaupt kein Problem wäre. Anforderungen: - Klein (Ideal wäre passend in ein Hutschienengehäuse, sonst egal) - Stromsparend (Deshalb keinen "normalen PC") - Leicht verwendbar mit µC (I²C oder ähnliches) - Netzwerk/Ethernet - Günstig MFG
Da würde ich so spontan vorschlagen: - Beagle Bone (Black? oder das alte...) - Raspberry Pi Sind klein, günstig und haben Ethernet sowie die gängigen Schnittstellen (I2C, SPI, UART).
Tach Moritz, die funktionalität eines webservers bekommst du auch auf einem mega hin. Was gibt es sonst noch für Anforderungen? Soll es ien grafisches front end geben? Neben dem ganzen neuen ARM geraffel gibt es auch noch die gute alte x86 Schiene. Erwähnt sei da Vortex86 und VIA EDEN. Das sind ebenfalls SOCs und werden in winzigen Bauformen angeboten. Wenn es ein bischen moderner/leistungsstärker sein soll könnte man sich auch komakte Atom boards finden. Es gibt also eine endlose Liste und das du hier fragst und nicht einfach einen Rasp kaufst führt mich zu der Frage: Was ist die Frage? Thor
Nachtrag: Bei Verwendung eines der von mir genannten Boards in Verbindung mit einer Linux-Distribution könntest du dort auch in Verbindung mit dem Mono-Framework VB.NET verwenden. Gibt noch ein paar andere Linux-Basics, würde sich sicherlich was finden lassen. Wenn dir Basic "gut reinläuft" könntest du die ATMegas dann mit BASCOM programmieren.
Also es geht mir eigentlich nur darum, das der Einplatinen-Computer einfach mit µC kommunizieren kann, und man darauf einen kleinen Webserver (Visualisierung) und eventuell eine kleine Datenbank laufen lassen kann. Da mit die Programmierung mit Visual Basic aber so gut Gefällt und ich in Assembler nur ein "Anfänger" bin, wollt ich mir keinen eigenen Webserver basteln. Eventuell wird das ganze zwischen dem Beaglebone Black und dem Raspberry PI tendieren. Läuft auf dem Beaglebone eigentlich auch Linux, und wie spricht man bei beiden die GPIO's mit Linux an (Gibts da genügend Tutorials?) ? MFG
Nimm nen rPi, meiner Meinung nach der beste Kompromiss aus Preis und Leistung für deine Anwendung. Programmieren in Python wirst du mit deinen Vorkenntnissen sicher schnell hinbekommen. Viele Grüße
Philipp E. schrieb: > Nimm nen rPi, meiner Meinung nach der beste Kompromiss aus Preis und > Leistung für deine Anwendung. Programmieren in Python wirst du mit > deinen Vorkenntnissen sicher schnell hinbekommen. Ich empfehle ebenfalls des Raspberry Pi. Eventuell ist auch der relativ neue BananaPi nicht verkehrt. http://www.einplatinencomputer.com
Vergleicht der Kerl in dem Link wirklich einen RasPi mit einem Arduino? Das ist wie wenn man einen Mähdrescher mit einem Formel 1 Wagen vergleicht...
Raperry mit Windows CE drauf. Da laufen die .Net Anwendungen. UND JA ES GEHT: http://developer-blog.net/hardware/windows-ce-raspberry-pi/
Mir gefällt der Olinuxino A10 Lime von Olimex. Würde dir aber definitiv zum RPi raten, um die ersten Erfahrungen sammeln zu können. So wie es aussieht, hast du noch keine erfahrungen mit Linux. Und da ist es schon nützlich, wenn es zu jedem Trivialproblem eine Lösung gibt. Und das hast du vermutlich nur beim Pi...
Moritz S. schrieb: > - Leicht verwendbar mit µC (I²C oder ähnliches) I2C ist nicht für die Verwendung in Rechnernetzen über längere Distanzen etc gedacht und geeignet. Dafür ist es nicht robust genug. Verwende CAN oder RS485 dafür! CAN mit dem RPi ist ein Trauerspiel, während der BeagleBone das direkt im Prozessor drin hat. Auf der anderen Seite brauchst Du bei AVRs meist auch einen externen CAN-Controller, während es bei PIC18/PIC24 zB eine viel größere Auswahl an Chips gibt. CAN macht mehr in Hardware, was du bei RS485 selber in Software programmieren musst. fchk
Nimm einen Raspberry Pi, für den gibts billige Hutschienen-Gehäuse und da darauf ein Linux läuft, solltest du beinahe alle Programmiersprachen zur Verfügung haben, die es gibt. Speziell Visual Basic gibts nun gerade nicht, aber z.B. RealBasic bzw. Xojo - das enthält einen Crosscompiler für Windows, Mac und Linux. Desweiteren gibts diverse Visual-Basic-Clone: http://linuxmafia.com/faq/Devtools/visual-basic.html#gnuliberty
bei den ganzen antworten geht nur eine auf die komunikation mit anderen controllern ein. daher empfehle ich aufgrund der can unterstützung auch das beaglebone black. hat auch mehr io als der rpi.
Alex S. schrieb: > die funktionalität eines webservers bekommst du auch auf einem mega hin. > Was gibt es sonst noch für Anforderungen? Soll es ien grafisches front > end geben? Naja, du kannst auch mit einem Bobbycar zur Arbeit kommen, das hat ja auch die Funktionalität des Fahrens. Ein kleiner ARM-Rechner ist für so was schon die sinnvolle Lösung. Frank K. schrieb: > CAN mit dem RPi ist ein Trauerspiel Warum? Ist halt nicht eingebaut. Braucht man eben ein kleines Modul für. Dann geht's aber gut. Wenn es reicht, dass der ARM-Rechner als Master die MCUs steuert, empfehle ich RS485. Da sind Aufwand und Kosten minimal und es geht mit jedem Microcontroller ohne besondere Peripherie.
greg schrieb: > Frank K. schrieb: >> CAN mit dem RPi ist ein Trauerspiel > > Warum? Ist halt nicht eingebaut. Braucht man eben ein kleines Modul für. > Dann geht's aber gut. ... solange Du keine hohen Busgeschwindigkeiten und Buslasten hast. Das SPI des MCP2515 ist der Flaschenhals, den es bei anderen Plattformen mit eingebautem CAN-Controller nicht gibt. fchk
AFAIR war CAN bei hohen Bitraten auf dem Raspberry Pi früher mal ein Problem, weil der SPI-Treiber nicht optimal lief. Sollte aber schon länger behoben sein.
Moritz S. schrieb: > Also es geht mir eigentlich nur darum, das der Einplatinen-Computer > einfach mit µC kommunizieren kann, und man darauf einen kleinen > Webserver (Visualisierung) und eventuell eine kleine Datenbank laufen > lassen kann. Naja, das kommt darauf an, wie Du kommunizieren willst. Immerhin gibt es ja sogar AtMegas mit USB-Schnittstelle, die Du direkt an die USB-Ports der SBC anschließen könntest (vermutlich ist die maximale Reichweite von USB mit 5 Metern dabei das größte Problem, es sei denn, Du wohntest in einer Hundehütte :-)). Ansonsten wirst Du ein oder mehrere Bussysteme auswählen wollen, nach Kriterien wie: - welche Datenmenge pro Zeiteinheit, soll - über welche Entfernung, und - über welches Medium (Draht, Funk, (Infrarot, ...)) übertragen werden? Bei den Drahtgebundenen wurden bereits CAN und RS-485 genannt, OneWire könnte für eher einfache Kommunikation eine Lösung sein, Ethernet für umfangreiche Daten. Funkkommunikation kann über ZigBee, WLAN, und mit etlichen anderen mehr oder weniger gebräuchlichen Modulen gemacht werden. Für alle diese Systeme bekommst Du aber sowohl für den RasPi wie auch für den Beaglebone und so ziemlich alle anderen SBCs fertige Module, die über USB oder GPIOs angeschlossen werden können. > Eventuell wird das ganze zwischen dem Beaglebone Black und dem Raspberry > PI tendieren. > > Läuft auf dem Beaglebone eigentlich auch Linux, und wie spricht man bei > beiden die GPIO's mit Linux an (Gibts da genügend Tutorials?) ? Die IMHO wichtigsten Gründe, die für RasPi sprechen: größere Verbreitung und Community, mehr Dokumentation und Erweiterungen, deshalb gibt es da wahrscheinlich auch die größte Zukunftssicherheit. Auf diese würde ich persönlich ein ganz besonderes Augenmerk legen -- nichts ist blöder, als wenn dein SBC in zehn Jahren kaputt geht und Du keinen Ersatz bekommst, oder wenn die gewählte Software (Linuxdistribution, Programmiersprache, ...) irgendwann nicht mehr weiter entwickelt und gepflegt wird. Linux läuft auf beiden, aber während für das Beaglebone vornehmlich eher exotische Linux-Distributionen wie Aengström und Maemo benutzt werden, basiert die Standarddistribution Raspbian des RasPi auf dem bekannten, weitverbreiteten und sehr gut dokumentierten Debian GNU/Linux. Auf einem SBC kannst Du übrigens auch eine richtige Datenbank wie Postgres laufen lassen, und wenn Du möchtest auch einen richtigen großen Webserver wie den Apache -- dabei geht es ja nicht um hunderte oder gar tausende von parallelen Zugriffen oder um maximale Performanz. Ich persönlich benutze Postgres und Redis für das Datenbank-Backend sowie den Webserver aus dem Flask-Framework für Python -- weil ich das schon kann und es viele nette, extrem leistungsfähige und performante Erweiterungen für die Datenanalyse und -Visualisierung gibt --, aber ebenso würde ein klassischer LAMP-Stack (MySQL mit Apache und Perl oder PHP) oder auch Ruby on Rails gehen.
Nimm für den zentralen Rechner irgend was mit Linux oder Windows. Die Kommunikation zu den anderen kleineren µC Boards machst du dann über die üblichen Schnittstellen, z.B. USB/UART oder RS485.
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.