Donnerstag, 30. März 2017

UVR 16x2 Data Logging with CAN - Code on github

There is a new codebase to log the UVR 1611 and 16x2. It is fully python based and very handy.

https://github.com/staircaseblog/uvr16x2logging

UVR 16x2 Datenlogging mit CAN - Code online auf github

Soeben habe ich unter https://github.com/staircaseblog/uvr16x2logging einen neuen Logging Code für die UVR 16x2 und 1611 hochgeladen. Alles wurde supereinfach, übersichtlich und robuster. Es ist noch nicht alles drin, aber ich bin gerade ziemlich eingespannt und ich will niemand warten lassen.

Wer einen Raspberry mit CAN Adapter hat bekommt es in 10 Minuten ans laufen.

Viel Spass damit

Mittwoch, 15. März 2017

UVR 16x2 Daten Logging

Letzte Woche kam die neue Steurung und ich war einfach neugierig. Der existierende UVR 1611 Loggingcode läuft nun fast komplett in python statt in C. Im selben Atemzug wurden die Abfragen für die 16x2 gleich mit programmiert.

Die Zeit, Eingänge sowie Ausgänge mit den Bezeichnern werden abgefragt und die Auswertung erschließt sich größtenteils. Etwas Grübelei wird es wohl noch geben.

Das Bild zeigt die Spiellandschaft mit dem CAN Logger im praktischen Gehäuse, einer alten UVR 1611 und der neuen UVR 16x2 darunter. Ein BL-Net ist auch noch an diesem CAN Bus angeschlossen.


Es werden ggw. vom Logger keine NMT Nachrichten erzeugt, die anderen Netzteilnehmern das Vorhandensein bestätigt. Alle Anfragen an die SDOs werden vorher gebündelt und als kleine Gruppen abgesendet. Jeweils mit eigenen Verbindungsauf- und abbau. Sofern ein Fehler in der Gruppe auftaucht wird die betroffene Gruppe wiederholt.

Das funktioniert deutlich robuster als in der C Implementierung.  Hier ein paar SDO request und die dynamische Gruppierung. Die Kodierung ist KnotenId_Index_Subindex. Die UVR 16x2 hat die KnotenID 4. Jede dieser kurzen Listen wird sequentiell abgearbeitet. Unter Index 8207 finden sich mit dem Subindex 0 bis 15 die Bezeichner der Eingänge im Unicode.

running batch:
['4_8207_7' '4_8207_6' '4_8207_5' '4_8207_4' '4_8207_3' '4_8207_2'
running batch:
['4_8207_0' '4_8207_9' '4_8207_8' '4_8207_13' '4_8207_12' '4_8207_11'
 '4_8207_10']




Freitag, 10. März 2017

UVR 16x2 Cabled and Logging

I put the 16x2 into the network at address 4 and applied the concept to establish a connection in the same way as with the 1611. Time and date are reliably logged. On the weekend the other in- and outputs are implemented.

On the same network is an old 1611 and a BL-Net. I wrote earlier that the BL-Net is not of any use to visit the 16x2. Also, i havent found a screen to attach the remote screen of the 1611.

Stay tuned. I am so hungry now. I think i will make myself a Okonimiyaki - a kind of slow cooked pancake with bacon and cabbage in. I deserve it.

TA UVR16x2 Daten Logging - erste Schritte

Das Setup steht soweit und die Uhrzeit/Datum kommt von der 16x2 direkt in die CAN-Logger Software. Die Objekt_IDs sind andere als bei der 1611 und es gibt zu jeden Ein-/Ausgängen mehr Zusatzinformationen.

Als nächstes kommen die Ein-/Ausgänge dran.

Donnerstag, 9. März 2017

Case for the UVR CAN Data Logger

I was sick of the cable salad. Becaus we have a 3D Printer now i did some cases based on other designs which take the cheap  2 Euro MCP2515 Ebay module and a Raspberry Pi B+,2 or 3 conveniently.

Check out the previous german post to see some pictures of the case. It was printed with transparent filament which lets the entire case illuminate at night.

It is now much more organized in the case without risk of short circuits etc.


Gehäuse für CAN Daten Logger

Der Kabelsalat stört mich zusehends. Es gibt im Haus einige Stellen wo ein Kabelkanal notwendig wäre. Die Bilder unter www.uhvauerr.de zeigen den Schlamassel im Kleinen. Ich habe ein Raspberry Gehäuse http://www.thingiverse.com/thing:1815384 von thingiverse mit tinkercad nachbearbeitet. Es passt nun ein Pi B+, 2 und 3 hinein sowie das 2 Euro CAN Modul mit MCP2515 und TJA 1050. Über die Verkabelung habe ich ja schon geschrieben.


Es hat gleich zwei Laschen mit Bohrung für eine Wandbefestigung bekommen. Es fehlt nur noch ein flacher Deckel oben drauf. Die Kabel finden ausreichend Platz und ein Deckel oben drauf geht auch gut zu.

Die Stromversorgung vom Pi mit dem MicroUSB Stecker gefällt jedoch gar nicht. Daher gibt es am Gehäuse eine Lasche mit Loch an der ein Kabelbinder den Stromstecker fest hält.


Mein 8 Jähriger hat schon einige gedruckt und hofft auf rege Nachfrage. 12 Euro + Versand  ist seine Vorstellung. Dafür ist Schluss mit dem Kabelsalat.

Ich lade das Gehäuse auch wieder bei thingiverse hoch.

Mittwoch, 8. März 2017

UVR 16x2

Ich habe vorübergehend eine UVR 16x2 im Haus. Diese scheint aber andere Objekt_IDs zu verwenden so dass der Code von der 1611 hier nicht anwendbar ist.

Das Gerät macht einen guten Eindruck. Ich muss allerdings zugeben, dass ich mich an das Scrollrad schon sehr gewöhnt habe. Interessanterweise konnte mein betagter BL-Net mit dem neuen Controller gar nichts anfangen.

Hierzu in Kürze mehr.

TA UVR 1611 Daten Logging über CAN auf github



Es gab so viele Anfragen den CAN code für die UVR zu veröffentlichen. Schlussendlich habe ich die CAN Teile herausisoliert um es handlicher und übersichtlicher zu gestalten. Ich hatte mit CAN einen steinigen Weg. Daher kam die Eleganz des Codes zu kurz. Zudem wurde einiges gelernt. Es ist nicht alles in den Code eingeflossen.

Trotz des holprigen Anfangs läuft es nun ganz rund und ist in Bezug auf die Usability einem CMI oder BL-Ansatz überlegen.

CAN H und CAN L angeschlossen und schon liegen die Istdaten dem Anwender zu Füssen.

Ich wünsche viel Spass

https://github.com/staircaseblog/UVR_CAN

TA UVR1611 CAN Data Logging Code on github

I got so many requests to publish code to communicate with the UVR1611 via CAN that i took some time to isolate just this piece to make it easier to share.

When i wrote this stuff i needed to learn about CANOpen without proper documentation. The pros out there might find some quirks. The initial fights with getting the CAN stuff going consumed the most time. Elegance fall short.

Why CAN and not BL-NET or CMI? Those devices do their job well, but doing web based logging is not user friendly or robust.

Check this out:

https://github.com/staircaseblog/UVR_CAN