Hallo, ich will mir mal OpenHAB angucken. Dies würde ich gerne mit einem Raspberry PI und der Schaltung im Anhang tun. (Den PCA82... ersetze ich durch einen MCP2551). Das sollte ja soweit klappen. Nun meine Frage. Wie bekomme ich die Daten am besten in OpenHAB? Ich habe mir das Serial Binding angeguckt. Gibt es darüber hinaus andere Wege, die vielleicht sinnvoller oder einfacher sind die Daten in OpenHAB zu bekommen? Gruß
Hi, ich verwende zwar keinen CAN sondern einen at86rf231 über SPI am PI, aber ist ja grundsätzlich das selbe Problem. Habe mir ein kleines C Programm auf dem PI gebaut das den SPI ansteuert und die Daten per MQTT an OPENHAB weitergibt. Gruß Stefan
Hallo, ich weiß, das passt nicht direkt zu deiner Frage, aber bei deiner Schaltung bin ich stutzig geworden. Reichen denn die 3,3V für den MCP2551? Ich habe mir das Datenblatt angeschaut aber vergeblich nach konkreten Vorschlägen für Vdd gesucht (außer Absolute Maximum Rating 7.0V). Irgendwie habe ich in Erinnerung, dass es bei einfachen Treibern mit nur 3,3V Probleme geben kann. Kannst du da etwa dazu sagen? Grüße, Tilo
Ich kann meine Frage jetzt selbst beantworten. Falls jemand später mal über diesen Thread stolpert und die selbe Frage hat: 3.3V und 5.0V-CAN-Treiber am selben Bus sind kein Problem. Wers genau wissen möchte: z.B. http://www.ti.com/lit/an/slla337/slla337.pdf
muss es wirklich can sein? ethernet leistet auch gute dienste.....
Anstatt eines MCP2551 würde ich den MCP2562 verwenden. RPi und CAN (mit MCP2515) sind aber keine sehr gute Kombination. Das Zusammenspiel zwischen GPIO-IRQ und SPI/CAN hat zum Teil hohe Latenzen und das führt zu Paketverlusten bzw. Vertauschungen der Pakete, wenn die CAN-Frames in schneller Folge kommen. Für SocketCAN und OpenHAB gibt es einige Treffer bei Google. Das dürfte relativ einfach sein. Ich kann die Faszination rund um den RPi verstehen, aber für Steuerungen (incl. CAN) ist der BeagleBone Black die wesentlich bessere Wahl.
:
Bearbeitet durch User
Stefan schrieb: > Daten per MQTT an OPENHAB Das werde ich mir auch mal angucken, Danke! Dario B. schrieb: > muss es wirklich can sein? ethernet leistet auch gute dienste..... Ja muss CAN sein :) Gerd B. schrieb: > Anstatt eines MCP2551 würde ich den MCP2562 verwenden. Kannst du das begründen? Ich werde mal Tests machen mit einem MAX3050 / MCP2551 und MCP2562 Gerd B. schrieb: > Das Zusammenspiel zwischen GPIO-IRQ und SPI/CAN hat zum Teil > hohe Latenzen und das führt zu Paketverlusten bzw. Vertauschungen > der Pakete, wenn die CAN-Frames in schneller Folge kommen. Hast du hier Erfahrungen gemacht? Was heißt bei dir schnell? Gerd B. schrieb: > Für SocketCAN und OpenHAB gibt es einige Treffer bei Google. Danke dir, werde ich mir angucken. Hab inzwischen auch jemanden gefunden, der was für openHAB geschrieben hat und zwar CANopen Binding Gerd B. schrieb: > Ich kann die Faszination rund um den RPi verstehen, aber für > Steuerungen (incl. CAN) ist der BeagleBone Black die wesentlich > bessere Wahl. Habe noch einen RPi der ersten Stunde und wollte die Möglichkeit mit dem MCP2551 / 2515 mal testen. Die Idee, den BeagleBone Black zu verwenden ist aber, sollte ich noch ein wenig weite mit CAN / OpenHAB arbeiten, sehr gut. Danke dir für den Tipp!
:
Bearbeitet durch User
Christian S. schrieb: > Gerd B. schrieb: >> Anstatt eines MCP2551 würde ich den MCP2562 verwenden. > Kannst du das begründen? Der MCP2562 kann mit zwei Spannungen arbeiten: Vio zum MCP2515 mit 3V3 und Vdd 5V CAN-Bus. Das entspricht der CAN-Spezifikation. Mit einem MCP2551 (5V) brauchst Du einen Spannungsteiler zum MCP2515. > > Ich werde mal Tests machen mit einem MAX3050 / MCP2551 und MCP2562 > > Gerd B. schrieb: >> Das Zusammenspiel zwischen GPIO-IRQ und SPI/CAN hat zum Teil >> hohe Latenzen und das führt zu Paketverlusten bzw. Vertauschungen >> der Pakete, wenn die CAN-Frames in schneller Folge kommen. > Hast du hier Erfahrungen gemacht? Was heißt bei dir schnell? Ja, reichlich. Siehe: https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=7027 https://www.raspberrypi.org/forums/viewtopic.php?p=163821#p163821 Ich habe einige Stunden vor dem Osci verbracht, um die Schwachstellen zu erkennen. Mit neueren Treibern bessert sich die Lage, aber letztendlich immer noch nicht 100%. Spasseshalber habe ich mal SPI Treiber (bitbanged) und MCP2515 Treiber zusammen gemanscht. Das Ergebnis war deutlich besser als ich erwartet habe (OpenWRT Router): https://github.com/GBert/openwrt-misc/tree/master/mcp2515-banged Die Leistung (Frame Rate ohne Verlust) ist besser obwohl der Router eine deutlich schwächere CPU hat. Der Knackpunkt sind die Latenzen / Anzahl der generierten IRQs. > > Gerd B. schrieb: >> Für SocketCAN und OpenHAB gibt es einige Treffer bei Google. > Danke dir, werde ich mir angucken. Hab inzwischen auch jemanden > gefunden, der was für openHAB geschrieben hat und zwar CANopen Binding > > Gerd B. schrieb: >> Ich kann die Faszination rund um den RPi verstehen, aber für >> Steuerungen (incl. CAN) ist der BeagleBone Black die wesentlich >> bessere Wahl. > Habe noch einen RPi der ersten Stunde und wollte die Möglichkeit mit dem > MCP2551 / 2515 mal testen. Die Idee, den BeagleBone Black zu verwenden > ist aber, sollte ich noch ein wenig weite mit CAN / OpenHAB arbeiten, > sehr gut. Danke dir für den Tipp! Ich verwende den BBB um die Performance anderer CAN-Adapter zu testen. Der BBB kann CAN-Pakete sehr schnell verarbeiten bzw. generieren - der BBB ist meine Referenz an der sich andere messen müssen. Gruß Gerd
Danke für deine Erfahrungen. Werden mir mal einen BBB besorgen. Du weißt nicht zufällig, ob da bald was neues kommt oder? Die RevC ist ja schon älter als ein Jahr und die ganzen vorgänger bis A5A sind ja ziemlich identisch. Dh. so langsam müsste da doch was kommen. :) Hast du zufällig mal den MAX3050 oder MAX13050 (bzw. den MAX13054 mit 3.3 V Supply) getestet?
Hallo Christian, Christian S. schrieb: > Danke für deine Erfahrungen. Werden mir mal einen BBB besorgen. Du weißt > nicht zufällig, ob da bald was neues kommt oder? Die RevC ist ja schon > älter als ein Jahr und die ganzen vorgänger bis A5A sind ja ziemlich > identisch. Dh. so langsam müsste da doch was kommen. :) Ne, weiss nicht ob es bald eine neue Revision gibt. Andererseits ist das doch ein gutes Zeichen: Keine nenneswerte (neue) Probleme mehr ... > > Hast du zufällig mal den MAX3050 oder MAX13050 (bzw. den MAX13054 mit > 3.3 V Supply) getestet? Tut mir leid, ich verwende nur Microchip Tranceiver bzw. TI ISO1050 (galvanische Trennung), weil ich die kenne und bisher keine Probleme damit hatte. Bin mir aber sicher, das es genügend andere Tranceiver gibt, die mindestens genauso gut oder besser sind. Gruß Gerd
Gerd B. schrieb: > Christian S. schrieb: >> Danke für deine Erfahrungen. Werden mir mal einen BBB besorgen. Du weißt >> nicht zufällig, ob da bald was neues kommt oder? Die RevC ist ja schon >> älter als ein Jahr und die ganzen vorgänger bis A5A sind ja ziemlich >> identisch. Dh. so langsam müsste da doch was kommen. :) > > Ne, weiss nicht ob es bald eine neue Revision gibt. Andererseits ist das > doch ein gutes Zeichen: Keine nenneswerte (neue) Probleme mehr ... Der Vorteil wäre, dass alle den neuen kaufen und ihren alten verkaufen :) - der würde mir nämlich reichen ;).
Hast du dich schon mal mit CANopen beschäftigt? Ich würde es gerne nutzen, es scheint aber nicht ganz so viele Informationen zu diesem Thema zu geben. Gerade wenn man das ganze auf einem AVR/STM MCU nutzen möchte.
Hallo Christian, CANopen habe ich noch nicht verwendet. Über Google und auch hier in den Foren gibt es einige Treffer. Auf github gibt es sogar eine Library. Gruß Gerd
Hi, ich bin der Autor des openHAB CANopen Bindings und würde mich sehr über Tester freuen. Im Moment bin ich dabei, den Code komplett neu zu strukturieren, um weitere Erweiterungen leichter integrieren zu können. Bei mir läuft aktuell ein CANopen Gerät am Pi, das ich alle 30s per SYNC polle. Mit dem neuen Treiber mcp2515, der hier (http://ifinterface.com/page/page3.php?langid=1) enthalten ist, läuft das ganz gut. In Zukunft werde ich aber wohl auf den Banana Pi umsteigen, der wie der BBB einen CAN Bus Interface direkt an Board hat. Leider läuft der das Interface im Banana Pi aktuell nur mit CAN4Linux statt mit SocketCAN (wie der MCP2515), sodass ich erst noch einen neuen Treiber-Adapter schreiben muss. In meinem https://github.com/jgeisler0303/AGCON Projekt habe ich auch eine Platine, die den RPi mit MCP2515 + MCP2551 ausstattet. Und, falls es interessiert, im Projekt https://github.com/jgeisler0303/CANFestivino arbeite ich auch gerade an einem CANopen Stack für atmega328.
Hallo jgeisler0303, ich habe interesse die CANOpen Bindings zu testen. Ich verwende openHAB auf einem RasPi mit MCP2515 als CAN0 und würde gerne einen WAGO 750-347 CANKoppler damit bedienen. Ich habe mir die entsprechende README zu den CANOpen Bindings angesehen, werde aber noch nicht so recht schlau daraus ;-) Ich habe openHAB per apt aus der folgenden Quelle installiert: deb http://dl.bintray.com/openhab/apt-repo stable main Habe ich die README richtig verstanden, muss ich openHAB inkl. der CANOpen Bindings selber kompilieren/bauen? Viele Grüße Olaf jgeisler0303 schrieb: > Hi, > ich bin der Autor des openHAB CANopen Bindings und würde mich sehr über > Tester freuen. Im Moment bin ich dabei, den Code komplett neu zu > strukturieren, um weitere Erweiterungen leichter integrieren zu können. > > Bei mir läuft aktuell ein CANopen Gerät am Pi, das ich alle 30s per SYNC > polle. Mit dem neuen Treiber mcp2515, der hier > (http://ifinterface.com/page/page3.php?langid=1) enthalten ist, läuft > das ganz gut. In Zukunft werde ich aber wohl auf den Banana Pi > umsteigen, der wie der BBB einen CAN Bus Interface direkt an Board hat. > Leider läuft der das Interface im Banana Pi aktuell nur mit CAN4Linux > statt mit SocketCAN (wie der MCP2515), sodass ich erst noch einen neuen > Treiber-Adapter schreiben muss. > > In meinem https://github.com/jgeisler0303/AGCON Projekt habe ich auch > eine Platine, die den RPi mit MCP2515 + MCP2551 ausstattet. Und, falls > es interessiert, im Projekt https://github.com/jgeisler0303/CANFestivino > arbeite ich auch gerade an einem CANopen Stack für atmega328.
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.