Welcher Einplatinen-Computer eignet sich?

Gast #3204620
Lesenswert?

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
Gast #3204633
Lesenswert?

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
#3204660
Lesenswert?

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
#3204669
Lesenswert?

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
#3204672
Lesenswert?

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.
#3204690
Lesenswert?

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
Gast #3662077
Lesenswert?

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...
#3662084
Lesenswert?

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
Gast #3662097
Lesenswert?

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
Gast #4370602
Lesenswert?

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.
Gast #4370644
Lesenswert?

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.
#4370682
Lesenswert?

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.
Gast #4370697
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren