PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vorstellung & Frage zu Raspberry PI 2 Model B



Mayestic
10.11.2015, 13:34
Grüße an alle,

mein Name ist Butch, ich bin 35 Jahre jung und habe vor ein paar tage den Raspberry PI 2 Model B Mainboard eindeckt und möchte nun auch etwas damit experimentieren und einige Projekte erfolgreich absolvieren. Mein ziel ist es für den Anfang den Raspberry autonom zu benutzen ( ohne PC ) bzw. nur mit dem Display, eigenem Speicher, einer Wlan Verbindung, einer kleinen Tastatur und eigener Stromquelle. Ich habe eine frage bezüglich der Verbindung von einem 3,5 Display ob mit touch oder ohne zu dem Raspberry PI 2 Model B. Besteht die Möglichkeit ein Display in der Größe so an das Raspberry anzuschließen ohne dabei die Gpios zu verbrauchen? Ich möchte die Gpios frei lassen um später damit anderes Equipment wie Räder, Sensoren usw. anzusteuern. Welches extra/zusatz Element bzw. Platine brauche ich dafür?

Eignet sich so ein Display?

B00UV7EOT0

B00OZLG2YS

HaWe
10.11.2015, 20:04
Besteht die Möglichkeit ein Display in der Größe so an das Raspberry anzuschließen ohne dabei die Gpios zu verbrauchen?

im Prinzip - kein Problem!
ich habe einfach einen HDMI Monitor als Display angeschlossen (allerdings ein 11"), selbst Ton wird darauf wiedergegeben, und Grafik mit verschiedenen Fonts sind mit ajstarks und Paeryn's openvg libs ebenfalls möglich!

http://www.mindstormsforum.de/viewtopic.php?f=78&t=8689#p67838

Auch 7" HDMI Displays und kleiner gibt es, wenn dir das lieber ist...


http://www.ebay.de/itm/SainSmart-7-TFT-LCD-800-480-HDMI-Touch-Screen-Display-for-Raspberry-Pi-B-Pi-2-/381401423118?hash=item58cd4bdd0e:g:RzcAAOSwQTVV-mAx

http://www.ebay.de/itm/SainSmart-5-TFT-LCD-800-480-HDMI-Touch-Screen-Display-for-Raspberry-Pi-DEShip-/231688116569?hash=item35f1b01959:g:AVkAAOSw5ZBWNtH Q

Mayestic
10.11.2015, 20:08
Erst einmal vielen dank für die Links Hawe, ein 3,5 Zoll Display mit HDMI Eingang eventuell noch ein 5 Zoll wäre mir am liebsten, gerne auch ohne Touch. Ich möchte gerne mit Raspbian arbeiten. Bis jetzt habe ich leider nur eine Möglichkeit abgesehen vom HDMI Eingang gefunden, das wäre den I²C-Port benutzen und dafür habe ich nur da Offizielle Display für Raspberry Pi gefunden. Aber ich suche weiter...

http://www.amazon.de/gp/product/B0153406SS?keywords=raspberry%20pi%20display&qid=1447181980&ref_=sr_1_1&sr=8-1

Ich muss aber gestehen das die Preispolitik für das Offizielle Display nicht so ganz verständlich für mich ist, da man ja für so einen Preis bereits ein fertiges Tablett kaufen kann, eventuell übersehe ich da auch etwas? Habe mir gestern Abend bei Video2Brain den Lehrgang bzw. Videokurs Raspberry Pi für Einsteiger angeschaut und werde mir heute Abend den Kurs Schaltungen mit dem Raspberry Pi anschauen, da wird einiges sehr gut erklärt.

HaWe
10.11.2015, 20:19
was stört dich am HDMI? HDMI ist extrem schnell und ist DIE Grafik/Video-Schnittstelle!
Aber i2c ist doch Ka*** wegen der Geschwindigkeit, und der Raspi hat doch nur 1x i2c, und du verlierts eine wichtige Schnittstelle oder bei zusätzlichen Busteilnehmern weiter an Geschwindigkeit.
SPI: zwar schneller als i2c, aber auch weit langsamer als HDMI, und für andere Zwecke ebenfalls viel zweckmäßiger einzusetzen.
Und mit Raspbian oder nicht hat das auch nichts zu tun - ist schließlich normales Linux und verwende ich ja auch selber.

so what?

Mayestic
10.11.2015, 20:31
HDMI ist klasse, ich habe nichts dagegen, schaue mir gerade die von dir verlinkten Displays an. Das der i2c langsam ist wusste ich nicht, danke für die Info.

HaWe
10.11.2015, 20:38
i2c hat max. 400 kHz Bustakt, SPI locker bis 84 MHz (selber getestet auf Arduino). Trotzdem haben sie beide nur 2 Datenleitungen zum Display (SPI: MOSI, MISO ist nicht nutzbar). Den Datendurchsatz bei einem 480x320 oder gar 800x600 Display bei 16 Bit Farbe kannst du dir ausrechnen...

HDMI hat z.B. 340 MPixel/s oder 8Gbit/s (edit : ) für 4k x 2k Pixel bei 30bit Farbtiefe auf 8 Datenleitungen (!)

Mayestic
10.11.2015, 20:48
Vielen Dank für die ausführliche Information HaWe, ich muss gestehen das ich was die Materie betrifft ein absoluter Laie bin, aber ich versuche so viel wie möglich zu lernen...

HaWe
10.11.2015, 20:50
ich bin selber absoluter Anfänger, habe aber öfters und wiederholt aus Schaden klug oder immerhin klüger werden müssen... ;)

Mayestic
10.11.2015, 20:56
Hehe, ja denke das bleibt nicht aus, hoffe du hast nicht all zu viel Lehrgeld bezahlt ;)

HaWe
10.11.2015, 20:59
geht so :-/

Mayestic
10.11.2015, 21:17
Hast du dir eigentlich die Video2Brain Videos zu Raspberry auch angeschaut? Ich versuch mich zu zeit etwas einzulesen usw. fals ich das erste Projekt den Raspberry mit Display, eigenem Speicher, einer Wlan Verbindung, einer kleinen Tastatur und eigener Stromquelle schaffe, möchte ich gerne das ganze mit dem bau eines kleinen Roboters kombinieren...

Edit : Was kann man mit der i2c verbindung ansonsten anschließen bzw. was machst du so damit?

Edit2: Ich denke ich werde dieses Display ausprobieren...

http://www.amazon.de/5-Zoll-LCD-HDMI-High-Resolution-Raspberry-Modell/dp/B00Y81VB5A/ref=sr_1_10?s=computers&ie=UTF8&qid=1447194741&sr=1-10&keywords=Raspberry+PI+display

HaWe
11.11.2015, 09:06
ich selber mache gar nichts Video-mäßig, ich wollte den Raspi eigentlich für einen autonomen Roboter verwenden, doch ich denke inzwischen, dafür ist er noch viel weniger geeignet als Arduinos. Aber das ist ein anderes Thema, bzw. gehört zum Thema "Lehrgeld". :-/

Rabenauge
11.11.2015, 10:27
Allgemein ist I2C Klasse- immer dann, wenn nicht allzu viele Daten übertragen werden müssen. Bei nem HD-Display wird es, wie HaWe schon sagte, kindisch, aber ansonsten ist I2C was feines, da es ein richtiger Bus mit überschaubarem Aufwand ist.
Ich hab zwar (noch) keinen RaspPi, aber I2C ist bei mir ne Art "Standard" geworden, was immer geht, kommt da dran. Sensoren, Displays (kleinere)...beispielsweise könnte man nen Raspberry damit mit einem oder mehreren Arduinos kommunizieren lassen, und hat so die Vorteile beider Welten: geballte Rechenpower des RaspPi gepaart mit massenhaft Pins der Arduinos (beim Mega mehr als 50).
Hauptvorteil ist die simple Verkabelung, da man nur die zwei Leitungen braucht. Nachteile: die Reichweite ist nicht riesig (kann aber erweitert werden), und man ist drauf angewiesen, dass die Adressen der angeschlossenen Geräte zueinander passen- oder änderbar sind.

Mayestic
11.11.2015, 10:46
Wow...das klingt alles sehr interessant Rabenauge, danke für die Erläuterung, ich wusste nicht das man den Raspberry mit mehreren Arduinos kombinieren kann, werde mich mal diesbezüglich etwas informieren. Weshalb denkst du, das der Raspberry sich nicht als ein autonomer Roboter eignet HaWe?

Mxt
11.11.2015, 10:56
[Leicht OT]


ich wollte den Raspi eigentlich für einen autonomen Roboter verwenden, doch ich denke inzwischen, dafür ist er noch viel weniger geeignet als Arduinos. Aber das ist ein anderes Thema, bzw. gehört zum Thema "Lehrgeld". :-/

Nun, manches Lernen geht nur auf diese Weise. Wahrscheinlich lernst Du jetzt auf dem Raspi die Dinge, weswegen ich in einem anderen Thread schon sagte, der Arduino Tre sei nicht das, was Du haben willst.

[Ganz OT]

Da es Dich eventuell doch noch interessiert, in Sachen Tre ist mir letzte Woche ein Lebenszeichen begegnet.

Mayestic
11.11.2015, 12:54
Ich bin euch sehr dankbar für die bisherige Hilfe und Denkanstöße, anscheinend war ich zu voreilig und habe mich zu sehr und zu schnell vom Raspberry überzeugen lassen und den Arduino ganz außer acht gelassen. Ich werde mich jetzt erst mal ein wenig mit dem Arduino vertraut machen und überlegen ob das nicht sinnvoller ist. Liege ich damit falsch oder ist der Raspberry wirklich für Robotik usw. zu eingeschränkt ist?

Mxt
11.11.2015, 13:24
Nein, das kann man so nicht sagen. Ich erkläre es jetzt mal etwas länger, eben habe ich mich kurz gefasst, weil ich HaWe nicht vorgreifen wollte. (Ich hatte mit Ihm hier vor ein paar Monaten ein paar lange Diskussionen.)

Grundsätzlich sind diese Boards auch nur Werkzeuge. So habe ich z.B. verschieden große Schraubenzieher. Die sind jeweils für verschiedene Dinge unterschiedlich gut geeignet.

Der Raspi ist ein viel leistungsfähiger Computer als ein Arduino. Aber man bekommt nichts geschenkt. Beim Raspi sorgt ein leistungsfähiges Betriebssystem (Linux) dafür, dass einem allerlei Dinge wie Netzwerk, Grafik, USB usw. zur Verfügung stehen. Auch können mehrere Programme quasi gleichzeitig ausgeführt werden.

Wie bei vielen schönen Sachen gibt es aber auch Nebenwirkungen. Das Betriebssystem des Raspi "besitzt" die Hardware und lässt da die Anwenderprogramme nicht direkt dran. HaWe hat nun aber das Problem, dass er Dinge machen will, die erfordern, dass er zu sehr genau bestimmten Zeitpunkten Zugriff auf IO-Pins hat. Das geht auf dem Arduino, weil da nichts zwischen Programm und Hardware steht. Auf dem Raspi entscheided das Betriebssystem, wer wann drann ist.

Es ist wie im richtigen Leben, da gibt es auch Kleinhirn und Großhirn usw. So muss man das bei einem autonomen Roboter ggf. auch sehen. Sowas wie Reflexe wären eher ein Job für einen Arduino. Mit einer Kamera gucken und entscheiden, wo es hin geht, ist eher was für einen Raspi.

Also sehe es etwas enspannter. Ein Computer ist ein Werkzeug, keine Fussballmanschaft, deren Fan man wird. Es schadet nichts sich alles mal anzusehen, je mehr man kennt, desto mehr Werkzeuge hat man bei Bedarf zur Auswahl.

HaWe
11.11.2015, 14:32
stimmt alles :)

ps:
hier ist ein Kommunikationsprogramm zwischen Arduino und Raspi - funktioniert bereits perfekt:
http://www.mindstormsforum.de/viewtopic.php?f=78&t=8689&start=15#p67830


pps:
aber: Arduino Tre - ein Lebenszeichen...? :o

- - - Aktualisiert - - -

und nochwas:
für Video und Webserver und Medienserver ist der Raspi die erste Wahl - es ist ein Mini-PC.

Für Taster und sonstige Sensoren dagegen der Arduino, insbesondere Mega (8-bit AVR cpu, 16MHz, 8MB RAM) und der bauform-gleiche Due (32-bit ARM cpu, 84MHz, 92MB RAM)
Für Roboter taugen die kleineren Arduinos (Uno, Nano) absolut nichts, allerhöchstens der Zero !

Einen Geschwindigkeits-Vergleichstest findest du hier (2.Tabelle):

http://www.mindstormsforum.de/viewtopic.php?f=71&t=8095#p64772

Mayestic
11.11.2015, 14:43
Vielen Dank für die Information Mxt,HaWe, liege ich richtig in der Annahme das ein Arduino MEGA 2560 über das I²C angeschlossen wird oder wird das anders gehandhabt? Besteht die Möglichkeit mehr als ein zusätzliches Arduino anzuschließen?

Mxt
11.11.2015, 14:52
pps:
aber: Arduino Tre - ein Lebenszeichen...? :o


Ja, ein indirektes. Bei den Beaglebone Leuten gibt es ja jeden Monat aktualisierte SD-Karten Images mit der Entwicklerversion des Betriebssystems. Neben den Varianten für die diversen Beaglebones neuerdings auch eines für den Tre. Allerdings nur ein nacktes Debian Jessie, nichts spezielles.

Das könnte zweierlei bedeuten:

1) Man ist einfach so nett und bietet den wenigen Tre Besitzern aus der Testphase ein aktualisiertes Linux.

2) Jemand hat das Tre-Projekt aus der Gruft geholt und entwickelt daran weiter.


PS.

In Sachen Arduino am Raspi noch ein paar Anmerkungen:

a) Man kann einen Arduino an die IOs des Raspi anschliesen. Eine naheliegende Variante ist aber auch, ihn am USB zu betreiben. Dadurch braucht er einmal kein eigenes Netzteil. Zweitens erfolgt die Verbindung dann über einen virtuellen UART, die anderen Anschlüsse am Raspi bleiben verfügbar. Drittens kann man ihn auch so vom Raspi aus programmieren. Dafür braucht man nicht mal die Arduino IDE auf dem Raspi. Ich verwende dafür das hier:
http://platformio.org/#!/

b) Es gibt auch andere Mikrocontrollerboards außer Arduino. Viel komplizierter zu programmieren sind die auch nicht. Besonders die mit Ethernet sind sehr effizient an den Raspi anbindbar. Mit dem hier z.B.
https://developer.mbed.org/platforms/FRDM-K64F/
schaffe ich mehrere tausend UDP-Pakete pro Sekunde zwischen Raspi und Mikrocontroller. Das sind einige Megabyte in beide Richtungen, pro Sekunde. Auch mit mehreren Boards auf einmal.

HaWe
11.11.2015, 14:54
erstmal, auf beiden Plattformen gleichzeitig zu arbeiten, ist schon eine GEWALTIGE Jongliererei. Wenn du das vorhast: frag in 1 Jahr noch mal nach!

Fang jetzt damit an, was deinen Applikationen eher gerecht wird:
Raspi: Multimedia, Web,
oder
Arduino: Roboter oder einfache Steuer-und Regelaufgaben


Verbinden kannst du beide Plattformen mit jeder beliebigen Schnittstelle, solange sie für dich schnell genug ist, und auch mehrere Geräte davon:
I2C,
UART (so habe ich es jetzt gemacht),
USB,
oder, noch schneller: SPI,
oder aber sowohl i2c als auch UART, zur Verdopplung der Übertragungsleitungen.
Theoretisch gehen aber auch BT oder TCP/IP.

Beachte aber, dass der Raspi von jeder Schnittstelle nur 1 hat (außer USB),
der Arduino hat sie doppelt und dreifach.


Auch mehrere Arduinos kannst du so direkt miteinander verbinden.
Aber das führt jetzt für dich als Anfänger zu weit.

Mxt
11.11.2015, 15:03
Fang jetzt damit an, was deinen Applikationen eher gerecht wird:
Raspi: Multimedia, Web,
oder
Arduino: Roboter oder einfache Steuer-und Regelaufgaben

Ja.



Verbinden kannst du beide Plattformen mit jeder beliebigen Schnittstelle,
Ja, aber man muss beachten, dass es da zwei Logikfamilien gibt. Die 8-Bit Arduinos (Uno, Mega, Leonardo, ...) arbeiten mit 5 V.

Die 32-Bit Arduinos (Zero, Due, usw.) und der Raspi arbeiten nur mit 3,3 V. Wenn man da 5 V direkt anschliesst, gehen die kaputt. Man braucht einen Pegelwandler dazwischen. Das ist auch was für Fortgeschrittene, dehalb würde ich für die erste Kontaktaufnahme eher USB verwenden.

(Es gibt auch 3,3 V Boards, die 5 V tolerant sind, z.B. der Arduino Abkömmling Teensy (hab ich nicht), oder diverse Boards mit NXP Controllern.)

HaWe
11.11.2015, 15:10
das mit USB musst du mir mal erklären, ich mach dazu mal ein eigenes Thema auf... ;)


es stimmt, der Arduino Zero und der DUE haben beide ebenfalls 3.3V, und es sind ebenfalls ARM Prozessoren, man kann sie direkt verbinden.

aber betr. 5V Arduinos, z.B. für den (langsameren) Mega - das stimmt so nicht ganz.
ja, der hat zwar 5V,, aber dazu braucht man nur 2 Widerstände, keinen Pegelwandler:
http://www.mindstormsforum.de/viewtopic.php?f=78&t=8689&start=15#p67815
30873

Mayestic
11.11.2015, 15:30
Keine sorge, ich frage all diese dinge aus reiner Neugierde, ich denke das erste was notwendig wäre für mich ist erst einmal mich mit Linux bzw. Raspbian vertraut zu machen. Ich möchte für den Anfang nichts großes denke ich, ich habe gesehen das man mit dem Raspberry diverse Programme laufen lassen kann bzw. benutzen kann um den Raspberry mit einem Mikrofon bzw. Lautsprecher ausstatten kann usw. Programme die ich am Anfang benutzen möchte und vorallem verstehen möchte wären blindtext, mpg321, espeak, recognize. Ich würde gerne ein Programm bzw. eine Datei schreiben die auf diese Programme zugreift, wodurch der Raspberry mit mir programmiert interagieren kann.

Interaktion wäre, das er auf Google zugreift und mir sagen kann wie das Wetter wird, oder Wörter die er durch das angeschlossene Mikrofon hört erkennen kann und wiederum durch die hinterlegte Datei Musik abspielt oder mir vorliest was ich in diese Datei für den Zweck geschrieben habe. Im Grunde eine Simulierte Kommunikation. Selbstverständlich bin ich nur ein Laie, aber ich glaube das ist zu schaffen oder?

Edit : Eignen sich eigentlcih 64 GB Micro SD karten der Klasse 10 für den Raspberry?

Mxt
11.11.2015, 15:44
Edit : Eignen sich eigentlcih 64 GB Micro SD karten der Klasse 10 für den Raspberry?
Nein, der Pi kann nur mit SDHC, die gehen nur bis 32 GB, SDXC geht nicht.

Mayestic
11.11.2015, 15:48
Vielen dank Mxt, ich war nur etwas irritiert da in einige sagen es geht, andere wiederum schreiben es würde nicht gehen..

Mxt
11.11.2015, 15:59
Ich habe gerade noch mal gegoogled, eventuell gehen ausgewählte SXDC doch. Bei anderen kleinen Linuxrechnern, wie dem Beaglebone, geht das aber definitiv nicht. Mit einer SDHC ist man jedenfalls auf der sicheren Seite.

Mayestic
11.11.2015, 16:03
Vielen dank, bin auch nochmal sicher gegangen und habe mir eine 32 GB bestellt..

HaWe
11.11.2015, 17:04
Eignen sich eigentlcih 64 GB Micro SD karten der Klasse 10 für den Raspberry?
mehr als 16GB wirst du nicht brauchen, 32GB sind eher als Datehalde geeignet, mehr auf keinen Fall.
Ich habe selber 16 +32GB micro SDs, class 10 (Sandisk)

Google und diese Sachen gehen auf jeden Fall viel einfacher mit Raspi, da der von Anfang an ja Internet hat.

Hier ist eine kleine Einführung zum Raspi, insb. wenn du mit C programmieren willst:
http://www.mindstormsforum.de/viewtopic.php?f=78&t=8689

Am besten sorgst du dafür, dass du zum Arbeiten mindestens ein 11"-20" HDMI Display hast und zum reinen Anzeigen von Werten ein kleineres (5-7").
Google mit Webbrowser oder auch programmieren ist sonst eine Qual.

Mayestic
11.11.2015, 19:02
Vielen dank HaWe, ich schau mir das mal heute abend an. Ich habe mir kein Display dazu gekauft, werde es für den Anfang an meinem Monitor per HDMI verbinden, eventuell später dann mit einem Display. Ich habe heute gelsen das viele mit Phyton Programmieren, meinst du langfristig ist C oder C++ besser?

HaWe
11.11.2015, 20:55
für mich ist Python keine Programmiersprache, sondern eine Krankheit.

Aber auch an C verzweifle ich gerade, es ist absolut Nutzer-unfreundlich mit den bekloppten libs, verglichen mit Arduino C, und wegen der völlig unbrauchbaren pin-Zugriffsgeschwindigkeit, ohne dass man Hardware- oder Timer-Interrupts hat.


dazu kommt, dass ich dringend einen simplen Crosscompiler für Windows brauche, man kann auf dem Raspi einfach nicht direkt editieren, im Internet arbeiten, und in der Geany IDE debuggen - er ist sterbens-lahm, ich könnte verzweifeln jedesmal, wenn ich einen Teil-Code aus oder ins Internet kopieren muss, z.B. zu Github oder in ein Forum zur Fehlersuche.

Ich bin jetzt fast soweit, dass ich den Raspi wieder verkaufe und auf den Arduino TRE warte - der Raspi ist absolut Roboter-untauglich.

Mayestic
11.11.2015, 22:47
Hehe ok...wann soll den der Arduino TRE erhältlich sein? Hast du da Infos? Der schaut wirklich nice aus...

Mxt
12.11.2015, 09:10
und auf den Arduino TRE warte
Oh weh, das würde ein Jammern und Wehklagen werden, wenn er den käme. ;)



Hehe ok...wann soll den der Arduino TRE erhältlich sein? Hast du da Infos? Der schaut wirklich nice aus...
Den kannst Du in zwei Teilen kaufen, es ist ein Beaglebone Black und ein Arduino Leonardo zusammen auf einem Board.

Was man dann kriegt, hat auch im wesentlichen die Funktion von einem Beaglebone Black und einem Arduino Leonardo.

Die Problematik bei den IO in Linux besteht dort im wesentlichen fort. Der Arduino artige Zugriff auf die IOs erfolgt da dann halt mit WiringBone statt WiringPi, das macht keinen großen Unterschied.

Der Beaglebone Black Prozessor hat nur einen Cortex A8 Kern mit 1 GHz gegenüber 4x 900 MHz Cortex A7 beim Raspi 2. Das ist nur etwa ein Viertel der Geschwindigkeit. Die Videoleistung beträgt sogar nur wenige Prozent des Raspi. Die meisten Leute benutzen den Beaglebone ohne Grafik, beim neueren Beaglebone Green hat man sogar den HDMI-Anschluss entfernt.

Allerdings haben diese Rechner auch Vorteile. Die Hardware ist wesentlich solider aufgebaut, als beim Pi (über den Tre kann ich nichts sagen). Die Echtzeitproblematik unter Linux lässt sich mit zusätzlichen Kernen im Prozessor umgehen, die nicht unter der Kontrolle von Linux stehen. Allerdings ist das alles so kompliziert, dass ich lieber auf externe Mikrocontroller zurückgreife.

Es gibt mit dem Beagleboard X15 auch mittlerweile ein teureres Board, was deutlich schneller als ein Raspi ist. Es hat auch 2x Gigabit Ethernet und USB 3. Sein Prozessor hat drei Arten von zusätzlichen Kernen für Echtzeitaufgaben.

morob
12.11.2015, 09:23
hallo,

ich möchte auch mal mein senf dazu geben :D

arduino und rpi geht über die usb schnittstelle, da kommen diese sich nicht in die quere.
echzeit mit dem rpi ist möglich, es gibt von einem hersteller für dronen ein entsprechendes rpi image.

ich würde die kritischen sachen in ein arduino packen und die unkritschen sachen in den rpi packen.
wenn man zeit in der verarbeitung der daten hat kann man alles im rpi machen, man sollte dann aber öfter auf pegelwandler zurückgreifen.

python ist keine krücke :D man muß sich nur einarbeiten und es ist ein wenig zickig :D

HaWe
12.11.2015, 09:52
Python: nee danke. Programmier mal einen map-and explore-Roboter oder ein autonomes neuronales Netz mit 100-200k Sourcecode mit Python. Da kriegt man ja Gehiernkrätze.
Aber für Multimedia und Web- und Datenbankserver: gern.

Ich hasse für C diese tonnenweisen -l und -I Parameter für compile, make und build,
dann dieser unglaublich langsame Bildschirmaufbau beim Raspi-Onboard-Programmieren,
dann dass es keine Windows-IDE mit Crosscompiler gibt wie bei der Arduino IDE,
dann die unglaublich - viel zu - wenigen Pins für IO, ADC, DAC, UART, I2C,
keine Interrupts auf Hardware-level,
und zu allem Überfluss noch nicht mal 2 pins mit PWM vorhanden.

Ich lass es bleiben mit dem Raspi, es bringt nichts außer Ärger und Frust.

Da kann ja ein Uno schon mehr.

Großer Vorteil beim TRE:
er bringt eine Web-IDE mit, mit der man am PC programmieren kann, quasi remote-gesteuert.
Ob per LAN oder USB/NDIS muss man sehen.
Aber dann lässt er sich ebenso einfach programmieren wie die jetzigen Arduinos mit der Processing/Wiring-IDE, das sieht man ja schon auf den Screenshots - also ohne den ganzen Quark mit
g++ -Wall -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -o "%e" "%f" -lshapes -L/opt/vc/lib -lOpenVG -lEGL -pthread -lrt -lwiringPi -pigpio
und was alles sonst noch hintendran. Das erledigt alles die Arduino-IDE.
https://blog.arduino.cc/2014/05/13/arduino-tre-developer-edition/

https://blog.arduino.cc/wp-content/uploads/2014/05/TREapp_Light.png

Mxt
12.11.2015, 10:42
er bringt eine Web-IDE mit, mit der man am PC programmieren kann, quasi remote-gesteuert.

Sowas gibt es auch für Raspi usw., beim Beaglebone ist eine dabei. Schneller als eine IDE auf dem Raspi ist es auch nicht, weil ja die meiste Arbeit beim Webserver (also dem Linux Board) anfällt.

Ich schreibe meinen Code auch für die Linux Boards und die Mikrocontroller unter Windows in Visual Studio oder Notepad++. Übersetzen tue ich die Linux Programme über SSH auf der Kommandozeile.

HaWe
12.11.2015, 10:49
ssh kommt bei mir nicht in die Tüte, und makefile per Kommandozeile ebenfalls nicht. Kommandozeilen sind bei mir schon seit Zeiten von MSDOS 3.1 passé.
Beaglebone allein ist aber auch kein Thema, da hier keine Community existiert, die libs und Programmier-Beispiele auf Sketch-Basis liefert.
Die Web-IDE muss also eine Arduino-Sketch-IDE für Arduino-libs sein, sonst macht es keinen Sinn.
Und die IDE muss natürlich sowohl auf den Sitara als auch auf den AVR zugreifen können, samt eingebettetem Editor, das ist ja gerade der Vorteil beim Arduino, ansonsten wäre es ebenfalls unsinnig.

Den Raspi B+ verkaufe ich jetzt wieder bei Ebay, mal gucken was dann kommt.

Mayestic
12.11.2015, 11:51
Ja Community ist ganz wichtig, vorallem für einen Anfänger wie mich, da nutzt es ja nicht, wenn Mann sich ein stärkeres Board holt und nicht damit zu recht kommt und auch niemanden fragen kann. Denke der große Vorteil bei Raspberry und arduino ist, das es sehr viele nutzen usw. Bei einer Sache müsst Ihr mir helfen, ich möchte mir bzw. es bleibt ja nicht aus eine Programmiersprache zu lernen, ich denke bevor man überhaupt davon Träumen kann etwas zu erreichen sollte man eine Grundlage habe um auch zu verstehen was man da macht bzw. wie man dinge mit diesen Board bewerkstelligen kann. Ich habe bis jetzt keinerlei erfahrung mit Programmiersprachen und möchte mir bei Video2Brain als erstes einen großen Video Lehrgang kaufen. Womit soll ich anfangen bzw. was ist am besten bzw. welche Sprache wäre am besten um auch auf dieser Plattform hier sich ordentlich mit Leuten zu verständigen. Als Laie habe ich da nicht den durchblick..

Soll ich C lernen oder C# oder C++ oder doch Phyton oder ganz was anderes? Ich kann von meiner Seite sagen das ich gerne nach und nach meine wissen erweitern möchte und am liebsten auch später keine Behinderung von Plattformen haben möchte, wenn ich eventuell individuell etwas realisieren will. Mir ist bewusst das ich auch einfach Scretch herunterladen kann und es sehr sehr viel schneller alles geht, aber irgendwie sehe ich dabei kein Vergnügen bzw. Sinnigkeit dahinter. Ich möchte nicht irgendwelche Grafischen Blöcke zusammen stellen und so einen Motor aktivieren oder ein Fahrzeug bewegen. Ich möchte gerne wissen was ich da mache und ich möchte gerne Einfluss darauf haben. Liege ich richtig mit der Annahme da dieses Raspbian bzw. die befehle dieses Programms die befehle von Linux sind und wenn ich Linux lerne, ich besser mit Raspbian zurecht komme?

Ich hoffe Ihr könnt mir diesbezüglich was die Sprache betrifft helfen und mir diesbezüglich etwas Feedback geben.

Ps : Wie kann man Blogeinträge von Mitglieder kommentieren? Wenn ich auf Kommentieren klicke werde ich eine Seite weiter geführt aber kann nichts eintragen bzw. schreiben..?

Mxt
12.11.2015, 12:25
Um erstmal die richtige Art zu denken zu lernen, wirf mal einen Blick auf Scratch
https://scratch.mit.edu/

Unter Raspian ist Scratch vorinstalliert, da kannst Du auch mit rumspielen.

Zu Python,
auch wenn ich einige Dinge anders sehe als HaWe, seine Abneigung zu Python kann ich verstehen. Wenn man Sprachen aus der C-Familie verinnerlicht hat, tut man sich etwas schwer damit. Aber ich sehe auch, dass gerade rund um den Raspi die Python Gemeinde sehr groß ist. Das Pi in Raspberry Pi stand ursprünglich für "Python Interpreter".


Zu C/C++/C++/Java teile ich diese Meinung
https://www.youtube.com/watch?v=YnWhqhNdYyk
https://isocpp.org/blog/2015/10/cppcast-episode-30-stop-teaching-c-when-teaching-cpp-with-kate-gregory

Kennst Du Bücher ? Ich meine diese altmodischen Dinge aus Papier. Da würde ich mir mal "Der C++ Programmierer" von Ulrich Breymann ansehen. Wenn es etwas lockerer sein darf, vielleicht auch mal "Schrödinger programmiert C++".

Mayestic
12.11.2015, 14:58
Selbstverständlich kenne ich Bücher, ich mag Bücher sehr ;) gerne arbeite ich aber mit mehreren verschiedenen Medien um das Lernen etwas zu erleichtern bzw. abwechslungsreich zu machen...

HaWe
12.11.2015, 15:47
Zu C/C++/C++/Java teile ich diese Meinung
https://www.youtube.com/watch?v=YnWhqhNdYyk
https://isocpp.org/blog/2015/10/cppc...h-kate-gregory

genau DAS ist das absolute Gegenteil meiner Position!
Ich HASSE Objekte und Klassen und Java und C++ ,
aber ich LIEBE C und noch mehr Arduino Sketch!

Und wenn jetzt jemand sagt:
"Jaaa - aber Arduino Sketch ist doch eigentlich C++"

dann kann ich nur sagen: es mag so sein, aber man man merkt nichts davon, wenn man nicht will (wer will, kann aber gerne).

Es ist bei mir mit Objekten wie mit Betriebssystemen (Windows, Linux):
Sie sind toll, solange man nichts davon merkt.


Für dich würde ich sagen:
wenn du den Raspi willst für Multimedia, dann führt kein Weg an Python vorbei,
A-BÄR: du musst dich in jedem Fall auch unglaublich viel mit Linux beschäftigen.

und wenn du Roboter bauen willst mit Arduino, dann führt kein Weg um C herum,
und wenn du kein Problem damit hast, dass nicht Subjekte mit Objekten umgehen, sondern Objekte mit sich selber umgehen, dann lern glech C++
( *schauder* )

Immerhin macht Arduino es einem sehr leicht, Brücken über den plusplus Sumpf zu beschreiten, dass man nicht zwangsweise runtergucken muss ;)

Mxt
12.11.2015, 16:26
Kate sagt nicht, dass man kein C lernen oder anwenden soll. Sie sagt, dass man nicht C lernen als Vorstufe von C++ lernen begreifen soll. Sonst kommt dabei ein meist ein schlechter Programmierstil heraus.

Modernes C++ macht viele Sachen anders als C. Wenn man dann den Kern von C++ (in Form von C++11 bzw. C++14) gut beherscht, kann man dann zur Ergänzung noch C lernen, auch weil z.B. Linux in C geschrieben ist und C++ Programme darauf zugreifen.

Gut geschriebenes C++ kann 10 oder mehr mal scheller sein, als Python. Sehr gutes C kann höchstens noch ein paar Prozent effizienter sein als C++. Aber die meisten, die erzählen C sei besser als C++, schreiben so schlechtes C, dass sie nie auch nur in die Nähe davon kommen.


Dass Python besser für Multimedia als C++ ist, ist natürlich Unsinn. Die meisten Python Sachen in dem Bereich sind nur Verpackungen um in C oder C++ geschriebene Software. Die Grundlagen von C++ zu lernen ist eine trockene Angelegenheit. Aber wenn man damit zurecht kommt, kann man damit auch auf dem Pi tolle Sachen machen, z.B. hiermit
http://openframeworks.cc/
einfach mal das Video starten.

HaWe
12.11.2015, 16:37
nein, so meinte ich das nicht mit Python -
die Raspi Foundation setzt aber voll auf Python, was es erlaubt, sehr schnell sehr einfache Applikationen zu erstellen,
während C(++) auf dem Raspi zwar unglaublich mächtig ist, aber auch unglaublich kompliziert, damit zu arbeiten.
Selbst für einige Shields ("HAT"s) gibt es ausschließlich Python libs und absolut nichts in C.

Ich z.B. habe damit jetzt endgültig und absolut abgeschlossen, obwohl ich (denke ich, ohne Übertreibung) sagen kann, dass ich einige ziemlich anspruchsvolle Sachen mit C auf dem Arduino (und auch auf dem NXT) ohne größere Codierprobleme hingekriegt habe.

Für Anfänger ist daher C auf Raspi/Linux sicher ein absolutes no-go.

Mayestic
14.11.2015, 00:27
Eine frage nebenbei, weshalb benutzen eigentlich die Leute nur selten bzw. nicht so oft mini, nano oder pico ITX Mainboards? Es gibt ja reichliche die passive kühlung haben und diese bieten auch mehrere anschlüsse bzw. haben viel mehr möglichkeiten & power langfristig..? Ist es eigentlich mit einem VIA Technologies EPIAN10000G Nano-ITX VIA Socket Luke Motherboard (http://www.amazon.de/VIA-Technologies-EPIAN10000G-Nano-ITX-Motherboard/dp/B0091SRQ7M/ref=sr_1_1?srs=3770644031&ie=UTF8&qid=1447453766&sr=8-1&keywords=pico+itx) incl. Linux auch mit Pyhton zu arbeiten und die gleichen Software sachen zu benutzen wie mit dem Raspberry? Also sprich blindtext, mpg321, espeak, recognize usw.?

Mxt
14.11.2015, 09:03
Eine frage nebenbei, weshalb benutzen eigentlich die Leute nur selten bzw. nicht so oft mini, nano oder pico ITX Mainboards?
Woher weiß man wie viele das tun ? Da läuft halt das normale PC Linux drauf, nichts spezielles für ARM. Deshalb tummeln die sich nicht in speziellen Foren.

peterfido
15.11.2015, 08:59
Hallo,

für mich gibt es auf dem Raspi nicht eine Programmiersprache.
-Das Webinterface nutzt html mit php und Java für Ajax.
-Die Kommunikation mit dem Atmel geschieht über 2 Programme (Senden und Empfangen), welche in C programmiert sind.
-Einige Aufgaben erledigen BASH-Scripte
-Das Internetradio 'überwacht' bei mir ein in C geschriebenes Programm.

Programmiert wird bei mir auf dem Raspi entweder klassisch mit Totalcommander als FTP-Programm und SSH-Zugriff per PuTTy zum kompilieren. Gelegentlich nehme ich auch das ftp-Plugin vom Notepadd++ direkt zum Code bearbeiten. SSH-Zugriff zum kompilieren bleibt aber.

Ich betrachte den Raspi wie einen AVR. Alles als Root gemacht und die meisten Probleme sind schon beseitigt. Raspbian bringt viel Ballast mit und ist nicht von Haus aus geeignet für die Aufgaben, wie ich sie mir vorstelle. Ständiges Schreiben auf die SD-Karte ist ein Nogo, zumal die Raspis gerne mal SD-Karten(-Inhalte) zerstören, wenn sie unkrontolliert von der Stromquelle getrennt werden. Eine USV kann da helfen, kostet aber mehr als der Raspi selbst. <> Das ist auch sein großer Nachteil. Zubehör ist in Relation (für meinen Geschmack) zu teuer. Eine Soundkarte kostet soviel wie 3 USB-Lautsprecher mit eingebauter Soundkarte...

Die AVRs programmiere ich in Bascom mit gelegentlichem Inline-Assembler-Anteil. Von C bin ich da weg. Hatte das mal genutzt, als ich Programme aus dem Netz für mich (oder andere im Netz) angepasst hatte. In Bascom bin ich zwischenzeitlich fit genug, um alle meine Wünsche umzusetzen. Beim Raspi kämpfte ich gelegentlich noch mit selbstverständlichen Dingen wie keine Unterbrechung des Programmes während auf der Schnittstelle nix rein kommt. Das habe ich nun endgültig durch die zwei separaten Programme für Senden und Empfangen gelöst. Tastaturen abfragen geht per Threading dafür problemlos. Das hat den Vorteil, dass man auch Sondertasten wie DEL, BackSpace und NumLock für eigene Zwecke nutzen kann.

Python habe ich mir angesehen, aber noch gar nichts mit gemacht. Wiring-Pi geht auch in C. Echtzeit-Aufgaben macht bei mir immer ein AVR. Als Displays nutze ich am Raspi kleine Bilderrahmen, welche mit LCD4Linux angesprochen werden. Ich habe noch zwei Grafik-LCDs für den Raspi, deren Ansteuerungsbeispiele im Netz sind aber darauf ausgelegt, die Konsole anzuzeigen. Das will ich aber nicht. Eine eigene Ansteuerung mit individuellen Anzeigen ist für die Winterabende gedacht.

HaWe
15.11.2015, 09:19
was natürlich dann wieder die Frage aufwirft, für welches Projekt denn dein Hardware-Setup mit Raspi+AVR aufgesetzt wurde.
Und ob dann nicht ein Arduino Due (ARM Cortex M3, aber bare-metal, ohne LINUX) nicht ebenso oder besser geeignet wäre (sowohl schneller + direkter Hardware-Zugriff, 50 digitale Pins, davon 6 mit Hardware-pwm, 12 analoge ADC Pins, 2 analoge DAC pins, 3 UART, 2 I2C, 2 SPI (davon aber nur 1 über Sketch ansprechbar), 2 USB, multitaskingfähig (kooperativ u/o pre-emptiv), 84 MHz, 92k RAM.
Mit Zusatzshields ist er auch Internet-fähig.
Und natürlich lässt er sich ebenfalls mit weiteren Arduinos seriell oder wie auch immer verbinden und erweitern.

Im Geschwindigkeitstest ist der Due fast so schnell wie der Raspi, aber eben echtzeitfähig mit voller Hardware-Pin-Kontrolle samt Timern und Hardware-IRQs.
Was er nicht hat, ist HDMI und Video etc.

Wie gesagt, es kommt eben auf die Ziel-Anwendung an.

Mxt
15.11.2015, 09:39
Raspbian bringt viel Ballast mit und ist nicht von Haus aus geeignet für die Aufgaben, wie ich sie mir vorstelle.
Ich verwende teilweise alternativ Arch, das ist viel kompakter.
http://archlinuxarm.org/platforms/armv7/broadcom/raspberry-pi-2



Im Geschwindigkeitstest ist der Due fast so schnell wie der Raspi, aber eben echtzeitifähig mit voller Hardware-Pin-Kontrolle samt Timern und Hardware-IRQs.

Na na na, vor ein paar Monaten hattest Du hier ein Problem mit einen Schach-Algorithmus, der war auf meinem Beaglebone 20 mal schneller, als auf dem Due. Und ein Raspi2 ist deutlich schneller als ein Beaglebone.

Der Due ist ein teures 32-Bit Board mit vielen Pins. Wenn man das Format braucht, kann er sinnvoll sein, sonst nicht. Die Performance ist eher mäßig, verglichen mit neueren Boards mit Cortex-M4.

HaWe
15.11.2015, 09:49
der Geschwindigkeitstest ist natürlich ebenfalls abhängig von den einzelnen Tests-Algorithmen.

Mein Brickbench, der verschiedene breiter gefächerte Rechen- und Displaytests durchführt, zeigt diese Ergebnisse:


HaWe brickbench © test (time: ms) Arduino Arduino Arduino PJRC Teensy Raspberry Pi
Typ, OS, FW, PL, API Mega2560 Due Zero 3.1 B+/Raspbian
MCU, cpu-Takt AVR/16MHz ARM M3/84Mhz ARM M0/48MHz ARM M4/72MHz 800 MHz
Firmware/vers.,Pr.Lang. IDE 1.6x C++ IDE 1.6x C++ IDE 1.6x C++ IDE 1.6x C++ gnu C++, Geany
LCD / TFT (true color) ILI9225 UTFT ILI9341_due (Adafr.ILI9340) ILI9327 NC HDMI,full-HD
screen size tested 240*176 320*240 320*240 320*240 1080*620
================================================== ================================================== ==========
0 100000 integer add/subtr 129 8 15 5 1
1 52000 integer multiply/division 1219 7 102 5 3
2 5000 float operations 326 107 397 92 13
3 Mersenne Tw. PRNG (&,^,>>,<<) 313 7 36 4 2
--------------------------------------------------------------------------------------------------------------
4 matrix algebra (prod/determ.) 244 23 92 19 1
5 int array sort [500] 1366 171 379 110 88
--------------------------------------------------------------------------------------------------------------
6 display text 80618 973 (~DUE: 9110) 1667 2630
7 display graphics 224505 3255 (~DUE:40675) 3194 13333
================================================== ================================================== ==========
execution time 308720 4551 50806 5096 16072
================================================== ================================================== ==========
http://www.mindstormsforum.de/viewtopic.php?f=71&t=8095#p64772

Aber natürlich ergeben spezifische Einzeltests auch spezifische Vor- und Nachteile der ein oder anderen Plattform. Das gilt ganz besonders für Hardware-Pin-Zugriffe, die auf dem Raspi bei ca 200µs liegen und beim Due ca. 100x so schnell sind (hier gar nicht mal getestet).

(edit: die Unterschiede merkt man sicher bei langdauernden, komplizierten Algorithmen wie Chess-Engines oder Neuronalen Netzen und vor allem float-Kalkulationen, aber nie und nimmer bei einfachen, kurzen, alltäglichen Berechnungen!)

Aber wie gesagt, alles eine Frage der Ziel-Anwendung.

peterfido
15.11.2015, 10:03
Die Raspis haben alle ein Webinterface für Infos und schnelle Einstellmöglichkeiten (auch per eigener, unter Windows laufender Fernbedienung für das Tablet im Wohnzimmer) sowie die Zuständigkeit für (W)LAN, Internetradio / Musik von interner SD-Karte. Zwei können 'ihren' AVR per Netzwerk flashen und zwei haben als reine Internetradios keinen AVR an der Seite. (W)LAN, Tastatur und Display per LCD4Linux geht auch ohne AVR.

Echtzeitdinge und Analogwerte macht ein AVR. (LED-Stripes (WS2812B und WS2801), Fernbedienung (IR, X10), Sensoren für Temperatur und Helligkeit, Klassische LCD-Displays).

Der AVR im Wecker ist der Master und wenn im Weckfalle der Raspi nicht antwortet oder einen Fehler meldet, dann weckt der AVR klassisch per Piezo-Pieper.

Edit:
Zusatzboards nutze ich selten, da der Preis oft den des Raspis übersteigt. Eine 'Soundkarte' kostet soviel wie 3 USB-Lautsprecher mit eingebauter Soundkarte.

HaWe
15.11.2015, 10:06
wenn der Raspi z.B. die 50 digital- und Analogwerte im 10µs- Bereich braucht und auch wieder an Hardware ausgeben muss, kann die zwar ein Arduino so schnell auslesen und steuern, aber er kann sie dennoch nicht dem Raspi in dieser Geschwindigkeit zur Verfügung stellen, wenn das Raspi Programm sie so schnell benötigt, denn so schnell ist keine Verbindung zwischen beiden Boards.

Ein Due kann das alles mit eigenen Mitteln locker.

... aber wie gesagt, alles eine Frage der Ziel-Anwendung.

Mxt
15.11.2015, 10:13
Ja, genau.


In der Tabelle von HaWe kann man ja schön sehen, was ich in Sachen Due meinte.

Da ist der Teensy aufgeführt, d.h. ein 72 MHz Cortex M4 ist schneller als der 84 MHz Cortex M3 im Due.

Wenn man dann jenseits der Arduino Welt schaut (Preise genommen von Watterott):

ST Nucleo F401 : 84 MHz Cortex M4F, 96 kB RAM : 12,60 €
ST Nucleo F411 : 100 MHz Cortex M4F, 128 kB RAM : 12,60 €
ST Nucleo F446 : 180 MHz Cortex M4F, 128 kB RAM : 13,60 €

Wie man sieht: Die Bindung an Arduino und den Due kann eine teure Angelegenheit sein.

HaWe
15.11.2015, 10:18
völlig richtig, nur: wie will ein Anfänger die alle so einfach und bequem programmieren wie einen Arduino?
(edit: Due aus China für 20 EUR, versandkostenfrei, und der Teensy hat insgesamt schlechtere Benchmarks und weit weniger Pins, dabei sind die Teensy-Benchmarks noch nicht einmal unabhängig bestätigt)

Natürlich kann man einen Raspi auch bare-metal programmieren, ohne Linux, aber welcher Anfänger macht denn das?
Selbst C mit Geany auf einem Linux-Raspi ist für Anfänger nicht geeignet.

Topic -Thema ist aber ja ein Anfänger-Setup.

Und für Anfänger würde ich sagen:
Raspi mit Python für Multimedia-Anwendungen
und Arduino (Mega/ Zero/ Due) mit der Arduino Sketch/Wiring IDE für Hardware-orientierte Anwendungen.

Ausführungsgeschwindigkeiten sind in diesen Anfänger-Bereichen mit Python vs. Arduino C absolut vergleichbar.

Ich denke, das ist allgemeiner Konsenz.

Mxt
15.11.2015, 10:27
wie will ein Anfänger die alle so einfach und bequem programmieren wie einen Arduino?

Das ist eigentlich kein so großes Problem. Es gibt mittlerweile Tools, die alle programmieren können, z.B.
http://platformio.org/#!/
läuft unter Windows und Linux (auch auf dem Pi) und kann in die IDE der Wahl integriert werden (auch Arduino)
http://docs.platformio.org/en/latest/ide.html



Ich denke, das ist allgemeiner Konsenz.

Ja, wobei ich als ersten Arduino vielleicht so ein Kit empfehlen würde
http://www.watterott.com/de/StarterKit-for-Arduino-UNO
das gibt schon mal eine grobe Übersicht an nützlichen Komponenten.

HaWe
15.11.2015, 10:31
es gibt sicher viele Lösungen, aber für Anfänger sind wegen der Anfänger-Probleme eine große Community für Standard-Lösungen mit Standard-Libraries wichtig.

Und niemals mehr einen UNO, der ist Schnee von gestern!

Da ist einfach für Arduino (Mega/ Zero/ Due) nur die Arduino-IDE praktikabel, und für Raspi nur das mitgelieferte Python. Alles andere sind Kolibris, mit denen Anfänger extrem früh bereits scheitern.

Mxt
15.11.2015, 10:40
Beim Uno braucht man nur einn neuen Prozessor reinstecken, wenn man den abgefackelt hat. Die gibt es fertig mit Arduino Bootlader nachzukaufen. Ein für Anfänger sicher nicht zu unterschätzender Vorteil.

HaWe
15.11.2015, 10:43
also komm, jetzt hör aber auf!
du willst du bei der gestellten TOP-Problematik nicht ernsthaft einen 16 MHz AVR mit lächerlichen 2MB RAM gegen einen Raspi 2 mit 4 Kernen und 900 MHz und 1 GB RAM als Alternative setzen?

also wenn schon, dann wenigstens - je nach Zielanwendung - halbwegs brauchbare 8MB bei >70 Pins oder dann gleich einen Due mit ARM cpu und 84 MHz und 92MB.

So ein lächerlicher Uno taugt doch höchstens als Porterweiterung für nen Raspi und nicht als Alternative!

Mxt
15.11.2015, 11:03
So ein lächerlicher Uno taugt doch höchstens als Porterweiterung für nen Raspi und nicht als Alternative!

Ja, genau dafür. So hat es ja peterfido auch gemeint.

HaWe
15.11.2015, 11:07
wieso perfido? das hattest DU doch geschrieben.
https://www.roboternetz.de/community/threads/68215-Vorstellung-Frage-zu-Raspberry-PI-2-Model-B?p=620892&viewfull=1#post620892

Aber auch das hatte ich anders verstanden, aber dann war es ein Missverständnis.

Aber auch als Zubehör ist ein Zero besser geeignet, da ebenfalls 3.3 V Spannungs- und Signal-Level- kompatibel.
Beim Uno kann die 5V Bordspannung den Raspi zerstören.

Der DUE ist aber als Port-Erweiterung dann noch besser geeignet, da
a) ebenfalls 3.3V Spannung und
b) > 70 Pins.

ich sprach allerdings von einem DUE als einer echten Alternative (!) zum Raspi (wie gesagt, zu Steuer- und Regelungszwecken, nicht für Multimedia).

Mxt
15.11.2015, 11:23
wieso perfido?

Das haben er und ich geschrieben. Das ist die Bedeutung des Wortes "auch".




Aber auch als Zubehör ist ein Zero besser geeignet, da ebenfalls 3.3 V Spannungs- und Signal-Level- kompatibel.

Ja, von der Hardware her. Aber der Zero ist ein Problem wegen der Arduino Spaltung. Es gibt mindestens drei, nicht völlig kompatibel. Zwei von Arduino.org und einer von Arduino.cc / Genuino. Jetzt kommt auch noch der Arduino 101 fast im selben Leistungsbereich. Da ist dann wieder das Problem der Community.

Das könnte auch den Due betreffen. Arduino.cc hat ihn in Europa gar nicht mehr gelistet. Arduino.org geht weg von der alten Arduino IDE hin zu Arduino Studio.

HaWe
15.11.2015, 11:27
ich habe mich nur auf deinen Link zum Uno-Starter-Pack bezogen, das finde ich überholt und ist bezüglich der TOP-Frage absolut unsinnig

Zur Zero-Thematik: alle Arduinos lassen sich mit derselben Arduino-IDE programmieren, man muss nur das Board anwählen.

Aber ich bin ja sowieso ein DUE-Befürworter, wenn es um Pin-Anzahl und cpu und 3.3V-Level geht.

Mxt
15.11.2015, 12:01
Zur Zero-Thematik: alle Arduinos lassen sich mit derselben Arduino-IDE programmieren, man muss nur das Board anwählen.

Das verkürzt es etwas

Both the Arduino Zero (from Arduino.cc) and the Zero Pro/M0 Pro/M0 (from Arduino.org) use the same SAMD21G18A ARM Cortex M0+ microcontroller from Atmel.

The the only functional difference between them is:

1. D2 and D4 are reversed
2. The Arduino Zero has an extra ATN (GPIO) pin
3. They use different bootloaders

The fact that they use different bootloaders, makes them incompatible with each others IDEs. Others on this forum have detailed how burn the bootloader and make the various file changes need allow a Zero Pro/M0 Pro to function with the Arduino.cc's IDE.
aus
https://forum.arduino.cc/index.php?topic=354974.msg2447341#msg2447341

HaWe
15.11.2015, 12:09
ok, ich bezog mich auf den alten Zero und die gängige Arduino.cc IDE.

auf Arduino.org finde ich aber überhaupt keinen Zero, sondern nur einen Tian oder M0.

Aber das ist jetzt eh Haarspalterei, denn es geht ja nicht um eine Raspi-Porterweiterung mit Uno oder Zero, sondern um eine Raspi-Alternative, und die sehe ich eh eher in einem Due.

Mxt
15.11.2015, 12:19
Ja, über die Raspi Thematik will ich mich nicht streiten.


Aber die Zero-Thematik betrifft auch den Due.

.cc hat kürzlich einige Boards von der Produktseite entfernt, darunter den Leonardo und den Due. Der Due, der da noch für die USA angezeigt wird, wird dort schon immer von Adafruit in Lizenz vertrieben, schon vor der Arduino Spaltung. Man beachte auch, dass auch in der Arduino 1.6.6 IDE die Due Toolchain die Versionsnummer 1.6.2 trägt.

Der Due ist jetzt ein .org Produkt, deren Weiterentwicklungen sind nur in der 1.7.x IDE, die die ja ersetzen wollen.

HaWe
15.11.2015, 12:25
dann heißt er eben künftig Genuino Due, oder man kauft ihn als China-Klon, was solls?
Nichts ist für die Ewigkeit, auch nach Raspi A, B, B+, 2B wird irgendwann ein neuer kommen.
Auch der Due wird irgendwann seinen Nachfolger haben, selbst wenn ein TRE niemals das Licht der Welt erblicken wird.

Ich verstehe nicht, was du eigentlich aussagen willst -
Arduino hat mit seiner IDE immer seine alten Boards abwärts-kompatibel supportet, und du willst doch jetzt nicht ernsthaft die gesamten ARM-Boards in Zweifel ziehen??? Und alleine die UNOs propagieren ???

Bleib mal auf dem Teppich: der Due ist zur Zeit eine für Anfänger absolut praktikable Alternative zum Raspi, anwendungsabhängig (wie oft noch). Der Uno ist es nicht, und was nach dem Due an Neuem kommt, wiisen wir noch nicht.

Mxt
15.11.2015, 12:37
Ich verstehe nicht, was du eigentlich aussagen willst -

Arduino(.cc) hat einen Richtungswechsel vollzogen und konzentriert sich auf kleinere Boards. Das hat sicher auch wirtschaftliche Gründe, wegen der Spaltung. Der Due könnte ohne Nachfolger enden.

HaWe
15.11.2015, 12:45
dann schnell kaufen, solange es ihn noch gibt!

Rabenauge
15.11.2015, 13:45
Vom Uno gibt es Nachbauten, die das 3.3V-Problem ganz elegant umschiffen: die haben nen Umschalter für drauf. Laufen dann wahlweise mit 3.3V oder mit 5V. Das betrifft auch die Pins!
Oder man nimmt einfach nen Pro Mini, der die gleiche Anzahl Pins hat, aber direkt in 3.3V-Ausführung zu bekommen ist.

Der Due ist gegen diese Lösung entschieden zickiger und vor allem absolut nicht Einsteigertauglich. Wer nämlich so viele Pins wirklich braucht, wird früher oder später das Spannungsproblem eh haben und das lässt sich nur mit Pegelwandlern aus der Welt schaffen.
Aber es wird vermutlich oft auch ohne zusätzliche Rechner gehen: meist genügen simple Portexpander.

HaWe
15.11.2015, 14:19
jetzt fängst du auch noch an und willst einen UNO mit 2KB RAM gegen einen Raspi setzen?
Mit Nachbauten und mit zweifelhaften 3.3 Signal Leveln (!) auch für UART und SPI?
Dann nur zu. :P

Woher du deine DUE-"Erfahrungen" beziehst, weiß ich aber nicht - ich habe 2 Stück, beide funktionieren bestens.
Sogar mit noch weiteren Portexpandern oben drauf.

Mxt
15.11.2015, 15:01
Es ging hier immer nur um an den Raspi, nie um gegen.

In einem anderen Thread hat der Fragesteller seine Anforderungen skizziert, da geht es um Audiowiedergabe, Spracherkennung usw.
https://www.roboternetz.de/community/threads/68241-Frage-zum-VIA-Technologies-EPIAN10000G-Nano-ITX-VIA-Socket-Luke-Motherboard

Alles zusammen mit dem Display schon recht viel für einen Raspi 2. Eventuell muss man da später in Richtung NVidia Jetson oder Intel Core i3 bzw. i5 aufsteigen. Ein Due als Alternative ist jedenfalls völlig irrelevant.

Es macht also Sinn, die ganze IO-Problematik am USB zu halten, dann kann man auf einen größeren Hauptrechner einfach umstecken. Und solange keine besonderen Anforderungen genannt werden, bleibt der Uno da die erste Empfehlung für Einsteiger.

HaWe
15.11.2015, 15:25
nie und nimmer ist der Uno die beste Empfehlung für Einsteiger, denn selbst Arduino.cc setzt auf die ARM M0 Architektur als Einsteigerplattform,
und die Programmierumgebung ist für alle Arduinos die gleiche
- also auch für den ARM M3 = Due.

Wer also den Zero oder Tian oder M0 (oder sogar den mickrigen Uno) mit der Arduino IDE programmieren lernt, der schafft das mit denselben Befehlen auch mit einem Due.

Schließlich heißt digitalRead überall digitalRead, Wire.available heißt überall Wire.available und Serial.write heißt überall Serial.write.
Nur dass der Due 2x Hardware-Wire (i2c) und 3x Hardware-Serial (UART) hat, bei seinen vielen (70 statt 20) Pins keine komplizierten
Port-Muxer braucht und SPI Displays mit vollen 84 MHz Takt betreiben kann

(edit: Guck dir die Benchmarks an! Der Uno hat noch nichtmal genug Speicher, dass die Tests überhaupt laufen, der Mega hat aber den gleichen cpu-Takt und ist wenigstens von der Performance vergleichbar). http://www.mindstormsforum.de/viewtopic.php?f=71&t=8095#p64772

Und schließt man SPI am Uno an (Display, SD Karte), gehen von seinen lächerlichen 2000 Bytes RAM davon gleich schon 500 Bytes für den Puffer wieder weg...

Der einzige Grund, den ich sehe, den Uno zu empfehlen, ist: wenn ich mein Lager voll habe mit alten Unos und die schnellstmöglich loswerden will :D

Mxt
15.11.2015, 15:44
Man kann mit 5V 20mA am Ausgang viel mehr schalten, als mit 3,3V 4 mA. Viele Leute, die in Multimedia-Anwendungen etwas schalten wollen, wollen gar keine komplizierte Elektronik machen. Das sind klassische Arduino Anwendungen, damit sind die groß geworden.

Eventuell reicht es dann, denn Uno einfach mit Firmata zu laden, dann braucht man ihn gar nicht programmieren. Das geht dann auch an allen Rechnern mit USB.

Wie gesagt, solange es da keine speziellen Anforderungen gibt ...

Wenn es die gibt, dann müsste man mal schauen. Eventuell dann auch etwas anderes als Arduino, insbesondere wenn die gewünschte Funktion da nur über Shields ginge (Ethernet, SD-Karte, USB-Host, WLAN, BLE usw.).

HaWe
15.11.2015, 15:48
warum reitest du so auf dem Uno rum?
Das alte Ding ist doch kompletter Quatsch!
Und dann "mit Firmata laden"? Denkst du, das ist das, was ein Anfänger macht?
Außerdem geht es nicht nur um schalten von Ausgängen, sondern auch um Lesen von Eingängen!

1 Encodermotor z.B. braucht 5 Pins, 4 Motoren = 20 Pins - das kann der noch nicht mal mit Bordmitteln - lächerlich!!
dann hat der nur 6 analog-Pins, davon gehen sofort 2 für i2c weg!
dann hat der Uno nur 14 digitale Pins, da gehen dann jeweils 2 für UART weg, und für SPI sogar 4.

Was soll das?

Fazit:
wenn schon, dann den Due.

Mxt
15.11.2015, 16:03
warum reitest du so auf dem Uno rum?

Unter dem Aspekt der Community ist er die erste Wahl von den Sachen, die ich als zusätzlicher Controller an einem Linux-PC empfehlen würde, wenn nicht sicher ist, dass der Raspi 2 alleine genügen würde.

Ja, ich denke die Anzahl der Pins ist für den ersten Controller eine gute Wahl.

Nach Encodermotoren hat der Fragesteller nicht gefragt. Vier Encoder mit entsprechenden I2C- oder SPI-Bausteinen überfordern einen Uno nicht, die könnten aber auch gleich an den Raspi.

Gute ARM-Boards, wie die oben genannten STM32, haben natürlich auch QEI (Quadrature Encoder Interface) ...

HaWe
15.11.2015, 16:10
Encodermotoren können absolut nicht an den Raspi, denn
- der Raspi hat nur 1x Hardware-pwm
- der Raspi ist nicht in der Lage, 4 Rotationsencoder simultan auszulesen (Linux user space zu langsam, nicht echtzeitfähig),
- selbst wenn man 4 Encodermotoren anschließen könnte, wären alls seine GPIOs dafür futsch und nichts mehr übrig für andere Zwecke (er hat ja nur 20).

Von "guten ARM-Boards" ist hier nicht die Rede, denn die haben keine simple Arduino-IDE.

Wenn selbst Arduino den Zero als neues Einsteiger-Board propagiert, wirst du doch kaum behaupten wollen, er sei nicht für Einsteiger geeignet, schon gar nicht, was die Zukunftssicherheit (edit: vom Uno) und dessen überholte 5V-Technologie und dessen mickriges RAM angeht?
Egal ob als Zusatzboard oder stand-allone?

Hör mir auf mit "Uno"!

Mxt
15.11.2015, 16:23
Über SPI oder I2C hat der Raspi keine Probleme damit.

Encoder werden über Zählerbausteine in Hardware ausgewertet. Nur Bastler versuchen das über normale IOs. So jemand nimmt dann auch sicher einen Due dafür, dass passt dann, ja.

HaWe
15.11.2015, 16:28
Anfänger machen das mit Raspis über Python oder als Fortgeschrittenere in C über wiringPi, und wenn sie noch fortgeschrittener sind, vielleicht sogar in pigpio.

Encodermotoren haben aber keinen i2c- oder SPI-Anschluss, und daher muss man die Pins per digitalRead etc, auswerten.

Auf Arduinos macht man das auch so, aber über Pinchange- oder Timer-Interrupts, das klappt wunderbar (AVR-IRQs oder über DueTimer, noch viel einfacher): beides absolut echtzeitfähig.

Nur dass es auf dem Raspi Hardware-Timer-Interrupts überhaupt nicht gibt (im user space), und Hardware Pinchange-Interrupts auch nicht (nur softwaremäßig über gelatchte IO pins via pthread), dann aber zu langsam (eben wieder wegen dem lahmen Linux user space).

Mxt
15.11.2015, 16:39
Encodermotoren haben aber keinen i2c- oder SPI-Anschluss,

Ne, aber die ICs, die man eigentlich daran anschliesst. Gute Encoder geben Impulse im Megahertzbereich von sich.

HaWe
15.11.2015, 16:42
das sage ich ja -
der Raspi an sich ist dafür (mit Bordmitteln) absolut ungeeignet.
Expansionboards dafür sind wieder nicht a-priori anfängertauglich.
Außerdem schaufeln sie die Encoderwerte auch nicht in Echtzeit zum Raspi in sein RAM rüber.

Der DUE schafft das mit Bordmitteln locker selber für 6 Encodermotoren
(und wenn es denn unbedingt ein 5V AVR sein muss: der Mega kann es wegen seiner 8 pwm Pins sogar mit 8 Encodermotoren on-board).

Mxt
15.11.2015, 17:02
Außerdem schaufeln sie die Encoderwerte auch nicht in Echtzeit zum Raspi in sein RAM rüber.

Genau das ist ja der Denkfehler. Ein System wie der Raspi ist dazu nicht gedacht. Der will höchstens ab und zu mal die aktuelle Position wissen. In moderner Elektronik machen sowas Subsysteme. Entweder verteilt in einzelnen Chips oder als "System on a Chip".

Genau in die Richtung ziehlt die Empfehlung für den Uno, oder ein entsprechendes 3,3 V Pendant. Damit man gleich lernt die Dinge aufzuteilen. Auf beschränkte Subsysteme. Der Due würde nur zu falschen Zentralismus anregen. Darin liegt die Zukunftssicherheit, die Dir ja auch wichtig ist. In Zukunft werden immer mehr Chips verschiedene Bestandteile integrieren, da ist das Ganze dann nicht mal mehr auf verschiedene Boards verteilt.

HaWe
15.11.2015, 17:10
falsch: KEIN Denkfehler!

Aber egal ob dafür gedacht oder nicht - der Raspi ist dazu eben schlichtweg nicht geeignet, selbst mit Erweiterungs-Krücken nicht!

Und daher ja auch mein Rat, für Anfänger:

wenn Raspi, dann für Multimedia,
und wenn für Raspi zum Programmieren: dann Python für einfache, kurze, nicht zeitkritische Programme.

wenn dagegen Steuer- Und Regelungszwecke das Ziel sind, die zeitkritische Pin-Zugriffe erfordern:
dann einen Arduino mit ARM Prozessor, je mehr Pins und je mehr RAM, desto besser, am ehesten einen Due, denn der liest >70 Pins im Megahertztempo mit eigenen Bordmitteln aus.

Der Uno ist überholte Uralt-Technolgie, viel zu leistungsschwach, nicht multitaskingfähig - aber alle anderen Arduinos sind ebenso einfach zu programmieren, auch die ARMs, samt Multitasking, mehr Speicher, höherem Takt (und u.U auch mehr Pins).

Jetzt klar geworden?

(ps, auch den Teensy und den Galileo sollte man dabei nicht unbedingt vergessen, neben dem Due.)

Mxt
15.11.2015, 18:02
Wenn viel Multimedia erstmal mit einem Raspi 2 abchecken, ob der das gewünschte schafft. Wenn nein, führt sowieso kein Weg an einen aufgeteilten System vorbei, weil leistungsstärkere PCs kaum noch GPIOs haben.

Programmiertechnisch bleibt in beiden Fällen die Entscheidung der Programmiersprache. Bis auf die GPIO-Sachen ist das über alle Linux PCs eigentlich einheitlich, man ist also in keinster Weise auf die Raspi Communitiy beschränkt, insbesondere bei Multimedia.

Wenn Raspi und nur einfache nicht zeitkritische IO, dann die IOs des Raspi verwenden. Bei einem anderen System ohne IOs einen Arduino oder Teensy.

Hat man sich sowieso für C++ entschieden und lernt das richtig, z.B. mit Buch, dann ist der Weg zu anderen ARM Controller, zum Einstieg z.B. mit mbed, vom Sprachcharacter näherliegender als Arduino, weil die Tools und der Aufbau der Programme sehr ähnlich sind.

NotEvil
25.11.2015, 21:28
hi, kann man das teil an einen raspi anschliessen und lauffähig kriegen?(oder arduino&co)

http://www.ebay.de/itm/like/331701526386?ul_noapp=true&chn=ps&lpid=106
TD024THEB2 mit Auflösung von 480×240
http://www.panelook.com/TD024THEB2_TPO_2.4_LCM_overview_11881.html

habs vom kaputtem Canondrucker abgereissen :D

auf der Rückseite hat das Display vom Drucker noch ein Board(controller?)
jedenfalls geht da ein flaches Kabel rein und anderes raus

bin dankbar für jeden Tipp, hab auch keine Probs mich irgendwo einzulesen ;)