Moin, mit welcher der oben genannten Boards (Uno || Pi3) ist es sinnvoller 10 GY-521 Sensoren zu bedienen? Da ich statt Python, C++ bevorzuge sollte es für Pi3 eine kompatibele Bibliothek geben. Sprich, mit welchen von den beiden Boards mache ich mir die wenigsten Kopfschmerzen & Arbeit (und vermeide Python gleichzeitig) ? (Stromzufuhr und Input/Output Verarbeitung sollte beachtet werden) PS: Bevorzuge C++ aufgrund des Lern-Potenzials + bin kein Freund von kontinuierlichen Abstraktion)
And schrieb: > Sensoren zu bedienen? Bedienen suggeriert dass man mit Sensoren irgendwas steuern könnte. Geht aber nicht. Im Übrigen kommt mir das Thema wie ein typisches Freitags- Thema vor .....
Kommt darauf an was Du am Ende machen willst. Beim Pi hast Du halt ein richtiges Betriebssystem mit dem Du auch noch mehr anstellen kannst. Wenn Du die Daten z.B. auf eine Webseite bringen möchtest oder das ganze ins Heimnetzwerk integrieren möchtest, dann würde ich schon eher zum Pi tendieren. Das Betriebssystem des Pi bringt schon die Treiber für alle Schnittstellen SPI, RS232, USB, LAN etc. mit. D.h. Du mußt an dieser Stelle nichts mehr tun. Deine Sensoren sprichst Du recht einfach über die SPI-Devicefiles an, indem Du einfach Deine Daten an's Devicefile sendest oder von dort empfängst. Wie die Schnittstelle (die Hardware) konkret angesprochen wird interessiert Dich in diesem Falle gar nicht. Mit welcher Programmiersprache Du das Ganze machst ist dann Dir überlassen, die Devicefiles lassen sich mit jeder Programmiersprache ansprechen. Wenn's eher ein autarkes Gerät werden soll, dann würde ich zum Arduino tendieren. Dort schleppst Du halt nicht den Overhead eines Betriebssystemes mit Dir rum. Dafür mußt Du Dich um so ziemlich alles selbst kümmern auch wenn es für das eine oder andere bereits fertige Bibliotheken gibt. Die Arduinoprogrammierumgebung ist im Prinzip C++ was Dir entgegen kommen würde. Beides hat Vor- und Nachteile, es kommt wirklich darauf an was es am Ende werden soll.
Beide Boards haben nur einen I2C Bus. Der MPU6050 kann aber nur 2 verschiedene Adressen. Du benötigst also einen I2C Multiplexer wie diesen hier: https://www.amazon.de/Adafruit-2717-TCA9548A-I2C-Multiplexer/dp/B017C09ETS Ob du die 10 Sensoren dann mit einem Uno oder mit einen Pi3 ausließt hängt von deinen Anforderungen ab.
Kalender Kalender schrieb: > And schrieb: >> Sensoren zu bedienen? > > Bedienen suggeriert dass man mit Sensoren irgendwas steuern > könnte. Geht aber nicht. Ja Bedienen ist vom TO vielleicht etwas unglücklich formuliert, aber wenn man will kann man durchaus verstehen was gemeint ist - aber eben nur wen man will. Hilfreich wäre vielleicht wenn der TO schreiben würde was er konkret mit den Sensoren vor hat und was es am Ende werden soll, dann könnte man schon zielgerichtet helfen. Kalender Kalender schrieb: > Im Übrigen kommt mir das Thema wie ein typisches Freitags- > Thema vor ..... Das hilft dem TO bei der Entscheidungsfindung ungemein.
@Zeno, stimme dir vollkommen zu, hast ja regelrecht meine Gedanken gelesen (Daten erfassen und auf einer Page oder Programm zu visualisieren). Ich hätte das definitiv im Eingangs-Beitrag hinzufügen/korrigieren müssen : Sensoren werden nicht bedient sondern nur Daten gesammelt. Diese Daten sollen dann entweder in einem Programm oder auf einer Webseite visualisiert bzw. dargestellt werden (Tendenz: C++ GUI Programm statt Web-Dev) Wie sieht es nun mit dem Strombedarf aus.
A. Z. schrieb: > Beide Boards haben nur einen I2C Bus. Der MPU6050 kann aber nur 2 > verschiedene Adressen. > Du benötigst also einen I2C Multiplexer wie diesen hier: Käse. Für I2C braucht man genau zwei Leitungen, und wenn man keinen echten I2C Anschluss übrig hat macht man das mit Soft-I2C. Insofern kann man mindesten genau soviele I2C Bus Slaves betreiben wie man freie IO-Port-Paare zur Verfügung hat.
A. Z. schrieb: > Beide Boards haben nur einen I2C Bus. Der MPU6050 kann aber nur 2 > verschiedene Adressen. > Du benötigst also einen I2C Multiplexer wie diesen hier: > https://www.amazon.de/Adafruit-2717-TCA9548A-I2C-Multiplexer/dp/B017C09ETS > > Ob du die 10 Sensoren dann mit einem Uno oder mit einen Pi3 ausließt > hängt von deinen Anforderungen ab. Braucht er nicht unbedingt. Das kann er über den Pin AD0 steuern. Bei Low ist die Adresse 0x68 bei Heigh 0x69. Per default legt er alle Bausteine auf z.B. High und den den er ansprechen möchte legt er auf Low. Die Adresse 0x69 wird dann vom Programm nie gesendet sondern immer nur die 0x68. Damit antwortet genau der selektierte Baustein.
Zeno schrieb: > Wenn's eher ein autarkes Gerät werden soll, dann würde ich zum Arduino > tendieren. Dort schleppst Du halt nicht den Overhead eines > Betriebssystemes mit Dir rum. Nur wird man etliche GPIOs benötigen oder eine zusätzliche Hardware dazu bauen müssen, um 10 Stück von den MPU6050 parallel zu betreiben. Die I2C Adresse lässt sich jedenfalls beim GY-521 nicht auf 10 verschiedene Werte einstellen.
And schrieb: > Diese Daten sollen dann entweder in einem Programm oder auf einer > Webseite visualisiert bzw. dargestellt werden (Tendenz: C++ GUI Programm > statt Web-Dev) Wenn's auf ne Webseite soll dann würde ich zum Pi tendieren. Da kannst Du dann entscheiden ob dieser auch gleich den Webserver bereitstellt oder nur die Daten für den Server aufbereitet. Bei meiner Wetterstation lesen liest 1 Pi die Daten einer kommerziellen Wetterstation aus und bereitet sie für den Webserver auf. Ein 2. Pi liest die Daten einiger Eigenbausensoren aus und bereitet sie auf. DEr 3. Pi ist für den Wettersatellitenempfang verantwortlich und stellt die Satellitenbilder bereit. Alle 3 Pi's mounten ein von einer NAS bereitgestelltes Verzeichnis, in meinem Fall per nfs. Auf dieses Verzeichnis hat auch der Rechner mit dem Webserver Zugriff der sich dort die Daten abholt. Wichtig bei Pi ist, wenn Du viele Daten schreibst, das Du die Schreibzugriffe auf die SD-Card minimierst oder noch besser komplett unterbindest. Da beim Satellitenempfänger doch einige Daten während des Renderns geschrieben werden müssen, benutzt dieser Pi eine SSD als Systempartition. Die SD-Karte wird nur zum Booten benötigt. Vielleicht helfen Dir diese Infos bei der Konfiguration Deines Systems.
Wolfgang schrieb: > Nur wird man etliche GPIOs benötigen oder eine zusätzliche Hardware dazu > bauen müssen, um 10 Stück von den MPU6050 parallel zu betreiben. Die I2C > Adresse lässt sich jedenfalls beim GY-521 nicht auf 10 verschiedene > Werte einstellen. Nö genau 10 Stück nämlich für jeden AD0 genau einen. Oder er nimmt einen MCP23017, dann hat er gleich 16 Ports - das sollte für seine 10 Bausteine locker reichen.
Zeno schrieb: > Braucht er nicht unbedingt. Das kann er über den Pin AD0 steuern. Bei > Low ist die Adresse 0x68 bei Heigh 0x69. Per default legt er alle > Bausteine auf z.B. High und den den er ansprechen möchte legt er auf > Low. Die Adresse 0x69 wird dann vom Programm nie gesendet sondern immer > nur die 0x68. Damit antwortet genau der selektierte Baustein. Okay, darauf bin ich auch noch nicht gekommen. Danke für diese Klasse Idee
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.