Hallo zusammen, ich habe über ein Arduino Nano und ein DS18S20 die Außentemperatur ausgelesen und über USB dann an mein Banana Pi gesendet. Dieser hat die Daten mit einem Python Script ausgelesen und dann in eine MySQL Datenbank auf meinem Banana Pi eingetragen. Auf diese MySQL Datenbank greift ein Webinterface auf meiner Webspace drauf zu und zeigt die Daten an. Das ganze hat leider nicht mit zwei DS18S20 funktioniert. Warum auch immer. Hätte nämlich gerne noch einen drinnen. Zu meinem jetzigen Vorhaben: Arduino ist ja eine Prototyp Platform. Und genau darum geht es. Ich will das ganze mit einem AVR Mikrocontroller machen. Entweder ATmega 168 oder 328. Was eignet sich besser? Außerdem will ich den Banana Pi als "Homeserver" belassen. Also benötige ich einen USB-to Serial Wandler oder? Leider weiß ich noch nicht ganz genau wie ich es umsetzten soll. Weil ich allein das auslesen des DS18S20 nicht hinbekommen habe. Habe vor das ganze in C zu machen. Bzw. Hab mich ja daran schon versucht. An was ich auch dachte ist auf den ATmega 168 (hatte ich noch ein paar da) ein Arduino Bootloader drauf zu ziehen. Da macht leider mein Programmer nicht mit. Den irgendwie hat es nicht funktioniert. Und wenn es für irgendwas eine Rolle spielt (denke grad was den USB-to-Serial Wandler angeht) ich benutze NOCH Windows. Habe aber auch vor auf Linux umzusteigen. Würde mich über Hilfe oder Anregungen, etc. Freuen. Viele Grüße Florian
Da haste ja gleich mehrere Baustellen. Du brauchst eine Gesamtstrategie... Mein Vorschlag: Fang am untersten Ende der Kette an und arbeite dich langsam vor. Für den 18S20 sollte es sicherlich mehrere Libs oder Anwendungsbeispiele geben die auf einen AVR laufen. Ob 168 oder 328 - wenn du ins Datenblatt schaust, siehst du, daß sie sich außer im Speicher in nichts unterscheiden. Einen Programmierer der was taugt und der dir keine zusätzlichen Probleme macht, hast du? Ich habe gute Erfahrung mit dem AVRISP Mk2 gemacht, Selbstbaulösungen oder Clones stellen sich bei Anfängern schon mal quer, dann hast du noch eine Baustelle. Wenn der Code schon auf dem Nano läuft sollte das Konvertieren in C kein Problem sein, der Arduino-Code in den Libs ist ja auch nur C++. Allerdings ist das Arbeiten mit dem LUFA-Stack für USB nicht ganz einfach. Der Raspi hat mindestens einen seriellen Port, der Banana Pi bestimmt auch. Insofern kannst du das USB-Problem also umgehen. Andererseits könnte man den Code für den 18S20 ja auch direkt auf dem Pi laufen lassen, was spricht dagegen? Du bist nicht der erste der die Temperatur mit dem Banana Pi/Raspi messen möchte, sicherlich findet sich mit den Stichwörtern 'Raspi' + 'DS18S20' Beispielcode. Tip: Falls du todesmutig und ohne fremde Hilfe so ein Projekt angehst, dann ist es immer gut wenn man entsprechende Werkzeuge hat: Ohne Oszilloskop/Logic Analyzer sind solche Projekte bei denen man bei Null anfängt immer mühselig und erfordern viel Trial&Error und Geduld. Mit dem entsprechenden Werkzeug sieht man genau was die Bits machen und auch ob die Geschwindigkeit passt. Kauf dir ein gebrauchtes billiges Speicheroszi aus der Bucht und verkaufe es nach dem Projekt wieder (oder finde Gefallen an der Elektronik und behalte es). Gut programmieren und Fehler suchen lernt man nicht am grünen Tisch, da hilft nur viel Fleiß und Praxis und lesen, lesen, lesen. Irgendjemand sagte mal: Das Schreiben von PC-Software ist wie das Manövrieren eines großen Urlaubsdampfers (viel Wasser, viel Speicher), das Programmieren von Microcontrollern hingegen erinnert eher an Wildwasser-Rafting - mit all seiner Enge und den entsprechenden Gemeinheiten. Aber das Forum steht dir zur Seite. Und das Forum, hier steht dir in speziellen Fragen zur Seite. Viel Glück.
Warum den Zwischenschritt über den Avr oder auch Arduino? Es gibt genügend Beispiele OneWire Devices direkt am RaspPI oder auch BananaPI zu betreiben. Da du die Daten über USB übeträgst, gehe ich davon aus das du nicht so lange Leitungen brauchst um extra noch einen Controller zwischen zu schalten. Dann bleibt noch zu sagen das Arduino genauso viel mit Prototypen zu tun hat wie ein AVR. Ich kaufe auch nur noch Adruino Clones aus China, weil da hast du nen AVR schon komplett beschaltet und brauchst dir keine Kopf mehr ums Layout zu machen, Programmieren kannste den Arduino ja auch wie einen "echten" AVR ;-)
Hallo, schon mal danke für die Infos. Wegen dem Programmer werde ich mich erkundigen. Ich habe folgenden:http://avr-programmer.com/prog-s/ Habe allerdings auch noch einen guloprog von guloshop.de den ich bis jetzt aber noch nicht benutzt habe. Was das wegen USB angeht habe ich was vergessen zu erwähnen: Das mit dem Pi ist zur Zeit nur zum Testen sozusagen. Ich habe eigentlich einen HomeServer (PC) an dem das ganze Laufen später laufen soll und mein Pi ist fürs MediaCenter und so gedacht und steht eigentlich ganz wo anderst. Den HomeServer ist grad nur bei einem Bekannten. Außerdem bin ich gar kein Fan von den GPIO Pins.
Florian Denz schrieb: > Arduino ist ja eine Prototyp Platform. Und genau darum geht es. Ich will > das ganze mit einem AVR Mikrocontroller machen. Entweder ATmega 168 oder > 328. Was eignet sich besser? Arduino Boards verwenden meist ATmega Prozessoren (Ausnahme Arduino Due) und das sind AVR Mikrocontroller. Ob ein ATmega168 oder 328 ist zum Auslesen von ein paar DS18B20 oder DS18S20 völlig egal und beide kannst du programmieren, wie du möchtest.
Ja das ist mir bewusst. Aucg dass mit dem Speicher. Allerdings war ich mir wegen dem Speicher unsicher und ich sag mal lieber ne Nummer größer was Speicher an geht. Hast du schon mal DS18S20 ausgelesen mit einem AVR?
Florian Denz schrieb: > Hast du schon mal DS18S20 ausgelesen mit einem AVR? Ist zwar schon etwas angestaubt: Beitrag "DS1820, DS18B20 in C" Für die Delays sollte man heutzutage die delay.h benutzen. Die gabs damals noch nicht.
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.