Raspberry Pi - nutzt das jemand?

Willkommen!

Wenn du im Nexave-Forum mitmachen möchtest, schreib an community@nexave.de. Wir haben die Registrierungsfunktion in unserem Diskussionsforum nämlich deaktiviert, weil sich praktisch nur noch Spammer und Werbebots registriert haben. Per E-Mail sind wir dir gern behilflich, einen Account anzulegen.
  • Ja, genau. Ich will mit dem C64 Türen überwachen, Wasserpumpen antreiben, Lichter einschalten. Alles aufgrund von Sensormeldungen oder Schließkontakten. Das kann der C64 perfekt. Leider stürzt er (das ist aber nicht nur einer von den 20) nach einigen Tagen Dauerbetrieb 24/24 irgendwann ab. Besser gesagt, er friert ein.


    Habe heute mit einem IT-Spezialisten gesprochen. Der meint, dass das eventuell nicht ein zu heißer IC sein könnte, sondern vielleicht eine Schleife im Programm, die irgendwann an ihr Ende kommt oder auf Speicherplatzmangel stößt. - Ich kann das nicht nachempfinden.


    Und deshalb suche ich einen simplen BASIC Rechner, der nicht abstürzt.


    Slubber

  • Das ist das typische Anwendungsgebiet für einen Microcontroller. Dafür ist ein Arduino wesentlich geeigneter als der Pi.
    Man muss sich auch nicht mit einem Betriebssystem herumschlagen. Auf dem Arduino läuft nur das für diesen Zweck erstellte Programm, sonst nichts. Damit arbeitet er die ihm angedachte Aufgabe ohne störende Einflüsse ab, wenns sein muss jahrelang.

  • Stimmt. Man kann ja die Ausgänge durch zusätzliche Register (ICs) aufsplitten. Das mache ich mit dem C64 auch so. Ist natürlich wieder Arbeitszeit.


    Was ich noch nicht ganz verstanden habe: " ... Auf dem Arduino läuft nur das für diesen Zweck erstellte Programm, sonst nichts. Damit arbeitet er die ihm angedachte Aufgabe ...". Kannst Du das noch mal erläutern.


    Der Arduino würde mich vielleicht interessieren. Könnte der doch nur blankes BASIC. Ich habe keine Lust, nochmal eine Sprache zu lernen. Kann schon so viele.


    Slubber

  • Wie für einen Microcontroller typisch gibt es halt kein Betriebssystem, es läuft immer nur ein einziges Programm.
    Im Auslieferzustand ist z.B. ein Programm installiert, welches die LED an Port 13 im Sekundentakt blinken lässt. Wenn Du nun ein eigenes Programm erstellst und auf den Arduino lädst, so wird immer das vorhandene Programm überschrieben. Es ist somit nur dein Programm vorhanden und es läuft nichts anderes nebenher.
    Dadurch ist so ein Microcontroller auch für Echtzeitaufgaben (bei passender Programmierung) geeignet. EIn PC und auch der Pi kann das nicht, da immer das Betriebssystem dazwischen spucken kann.


    Und wenn Du eh schon viele Sprachen kannst, kommts doch auf eine weitere eh nicht an . Falls Du jetzt wirklich von Programmiersprachen redest (was ich aber bezweifle, sonst würde Deine Wahl nicht auf Basic fallen).
    Aber im Ernst: die Programmierung in C für den Arduino ist wirklich einfach. Und es gibt eine riesige Cummunity die sehr hilfsbereit ist.

  • Du hast den Wink verstanden. Ich spreche nur BASIC (und minimal MS- C64). Aber sonst kann ich mit lebenden Sprachen aufwarten, die mir am Computer nichts nützen.


    Wenn der Arduino aber kein Betriebssystem hat, wie versteht er denn dann die Anweisungen eines Programms wie z.B. "C"? Seine Hardware unterliegt doch sicherlich einem Prozessor, der ganz dezidiert angesprochen werden muss. Wäre dem nicht so, könnte man ja jede Sprache auf ihn portieren, also auch BASIC.


    Bin leider ein Laie in solchen Dingen.


    Slubber


  • Wenn der Arduino aber kein Betriebssystem hat, wie versteht er denn dann die Anweisungen eines Programms wie z.B. "C"? Seine Hardware unterliegt doch sicherlich einem Prozessor, der ganz dezidiert angesprochen werden muss. Wäre dem nicht so, könnte man ja jede Sprache auf ihn portieren, also auch BASIC.
    Slubber


    Ein Mikrocontroller ist sozusagen ja schon ein kleiner Computer in einem Chip. Anders als beim Mikroprozessor ist ROM, RAM, I/O alles enthalten. Verstehen kann der µC ausschließlich sein Programm in Maschinencode. Also schreibt man das Programm auf einem PC in Assembler, C, C++, BASIC, Pascal oder ... und compiliert es dann, ebenfalls auf dem PC. Dazu liefern die Hersteller der µC die Compiler für Ihre Architektur mit, klassisches Cross-Compiling also. Denn enstandenen Maschinencode-Block schreibst du mittels eines Programmers oder eines Bootloders in den Flash des µC. Die Einsprungadresse ins Programm ist festgelegt. Dann einmal Reset und µC arbeitet endlos sein Programm ab. Dazu benutzt er seinen internen RAM und seine I/Os (UART, PWM, ADC usw.)
    Wie ein BIOS, um mal einen hinkenden Vergleich zu wagen.
    In welcher Sprache du programmierst hängt von den Möglichkeiten ab, die dir Hersteller oder Softwarefirmen bieten. Assembler und C gibt es für jeden µC. Für viele gibt es auch C++, aber auch Pascal und Basic sind möglich. Bei den 8-Bittern von AVR gibt es auch einen BASIC-Compiler namens BASCOM. Arduino ist eine Plattform mit diesen AVR-µC aber mit C++ und den dazu passenden Software-Bibliotheken, die am Ende ähnlich komfortabel sind wie BASIC.


    Arduino + Basic: http://www.kh-gps.de/bascom_arduino.htm


    Nachtrag:
    Hier noch ein schöner Einführungsartikel: http://www.mikrocontroller.net/articles/AVR-Tutorial +ff-

  • Danke JayWay für die Ausführungen. Habe es jetzt - glaub' ich - gerafft.


    Habe vorhin von einem Programmierer erfahren, dass es von Franzis (Verlag) einen Mikrokontroller Lernpaket mit Basecom und C-Platine gibt, worin schön erklärt sein soll, wie dieses BASIC programmiert wird. Das hat gute Kritiken überall im Netz bekommen. Soll sehr gut lernbar sein. Wurde von Kainka geschrieben.


    Würdest Du mir eher zum Arduino raten, oder dann doch für den Einsteiger das Franzis Teil? Ich will ja erst mal rausfinden, was mir zusagt. Der Arduino ist sicher komplexer gebaut und nur mit mehr Vorwissen genießbar.


    Slubber

  • Ich kenne das betreffende Franzis-Paket nicht, aber im allgemeinen ist da immer viel Geld für wenig Inhalt im Spiel. Kainka als Fachautor hat mich nicht überzeugen können. Ich habe hier "Messen, Steuern, Regeln mit PalmOS" von ihm, dass finde ich ziemlich lieblos zusammengewürfelt.


    Für eine Handvoll Euro bekommst du in der Regel auch ein schönes Arduino-Starterkit und ein gutes Einsteigerbuch.


    Ich habe mit dem Einsteigerkit von guloshop.de angefangen und mir noch einen Programmer geleistet. Aber ich habe mit Assembler angefangen um den µC richtig zu verstehen (und aus nostalgischen Gründen weil ich in der Z80-Ära auch fast ausschließlich Assembler programmiert habe) und bin dann langsam auf C umgestiegen.

  • Ich habe mit dem Einsteigerkit von guloshop.de angefangen und mir noch einen Programmer geleistet. Aber ich habe mit Assembler angefangen um den µC richtig zu verstehen (und aus nostalgischen Gründen weil ich in der Z80-Ära auch fast ausschließlich Assembler programmiert habe) und bin dann langsam auf C umgestiegen.


    Z80-Assembler auf dem Microprofessor, das waren noch Zeiten...


    http://de.wikipedia.org/wiki/Microprofessor_I

  • Ich bin da skeptisch. Von Franzis gibt es auch ein Arduino Einsteigerpaket mit vollkommen veralterter Hardware (im Netz gibts zuhauf Meldungen über Probleme). Da wär ich auch bei diesem Paket erst mal vorsichtig.


    Zudem: viel einfacher als mit Arduino einzusteigen gehts fast nicht. Man muss eins bedenken: ursprünglich ist Arduino unter anderem dazu entwickelt worden, damit Künstler ihre Ideen verwirklichen können. Und die haben ja häufig mit Technik wenig am Hut.
    Ich treibe mich viel im Arduinoforum rum. Da sind teilweise Leute unterwegs, die erst mal nicht wissen an welcher Seite man einen Lötkolben anfasst. Denen wird in der Regel sehr hilfreich unter die Arme gegriffen und häufig kommen schon nach erstaunlich kurzer Zeit die ersten Ergebnisse zustande.
    Da aufgrund des knappen Speicherplatzes eines Microcontrollers hauptsächlich C und nur wenig C++ verwendet wird, ist die Programmierung relativ klar und wenig abstrakt. Ist halt eine etwas andere Sprachsyntax als Basic aber nicht schwieriger.
    Die Hauptvorteile:
    - Einfaches System.
    - Steile Lernkurve.
    - Sehr viele Bibliotheken für alle nur erdenklichen Anwendungsgebiete vorhanden.
    - Sehr große und hilfsbereite Community.

  • Zitat

    Kandidat für einen Design-Award. Ehrlich! ;)

    Und wenn man es an der falschen Stelle anfasst ist was was für den David-Award.


    Abgesehen davon was ich immer schon fragen wollte ich benutze meinen Pc für die Mode-S/ SDR Geschichte nur würde ich gerne im Auto nen Fix installierten haben der sobald jemand mit den Auto fährt mir die Daten via 3G Automatisch sendet. Nur welcher ist dafür geignet der Pi oder Arduino?
    Dazu kommt wie sieht es mit der 3G Verbindung aus da macht mein Laptop ja schon zicken weil mein Netzbetreiber nur 3G hat und im 2G Bereich Roamt.


  • Kandidat für einen Design-Award. Ehrlich! ;)


    Dankedankedanke... Idee war geklaut und mir imponieren all die weitaus ausgefeilteren Varianten:
    http://www.raspberrypi.org/php…opic.php?t=26625&p=240410
    oder
    http://www.theregister.co.uk/2…spberry_pi_supercomputer/ (das wär was für Dich, Slubber, als Ersatz für die ganzen Brotkästen... ;) )


    ... aber immerhin ist in mein Plagiat "halb-Hogwarts", ein Müllauto und die Lukenabdeckung vom Piratenschiff eingeflossen! :thumbup:

  • Abgesehen davon was ich immer schon fragen wollte ich benutze meinen Pc für die Mode-S/ SDR Geschichte nur würde ich gerne im Auto nen Fix installierten haben der sobald jemand mit den Auto fährt mir die Daten via 3G Automatisch sendet. Nur welcher ist dafür geignet der Pi oder Arduino?
    Dazu kommt wie sieht es mit der 3G Verbindung aus da macht mein Laptop ja schon zicken weil mein Netzbetreiber nur 3G hat und im 2G Bereich Roamt.


    Ich denke mal schlicht, man kann mit beiden zum Erfolg kommen. Auf dem Pi braucht es einen UMTS-Stick und für den Arduino einen passendenen Shield. Eventuell ist für den Pi eher Programmierunterstützung zu kriegen, zumal du ja auf dem PC schon so etwas betreibst.
    Die 3G Problematik verstehe ich jetzt nicht. Welcher Provider hat denn nur 3G? Im Zweifelsfall muss 3G eben festgelegt werden und darunter (2G, GPRS) gibt es keine Verbindung. Wenn du die Anlage fest in ein Auto einbauen willst, kannst du ja mit einer ordentlichen Antenne arbeiten.

  • Ja aber das Problem ist eher wie empfange ich die Daten auf meinen Pc?
    Sprich kann ein Pi oder Arduino kompatible daten zu RTL1090 senden?
    Drei hat ein reines UMTS Netz und Roamt im TMA Netz. Dabei ist das problem bei meinen UMTS Stick das ich solange in 2G eingebucht bin bis der Stick dem Empfang verliert und dann wieder neu sucht.
    Sprich das passiert sogut wie nie und ich stecke dann in 2G fest bis ich Manuell die suche neustarte was nervt... Und wenn der Pi oder Arduino sich auch so verhaltet na gute Nacht...