Hallo, Dirk !
Das "Problem" liegt im Routing, also im Umsetzen der ID in einen physikalischen Pfad. Am I2C Bus MUSS ja sowieso jeder eine eindeutige Adresse haben.
Umd es taucht auch eher erst auf, wenn Applikationen einzeln und von verschiedenen Leuten entwickelt werden (was durch einen Standard ja möglich ist, und das is ja auch der Zweck)
Wenn irgendein begnadeter PC-oder Linux Entwickler eine geniales Servo-steuerprogramm entwickelt, und es spricht einfach die Servos 1-10 an, muß bei einem Einsatz festgelegt werden, sind das diese 10 Servos oder jene.
Also kein technisches Problem, man muß aber irgendwas vereinbaren.
Ich persönlich würde ja eher diese "ID" als Rollenname einsetzen, und zwar danach, was das Gerät tut.
Nimm an, ein SERVO #1. Was heißt das ? eigentlich garnix.
Ich würde eine ID vergeben, die aussagt, was das Servo tatsächlich tut.
Nimm einen Hexapoden, eine Kundschaft für viele Servos. Mir schiene es sinnvoll, wenn es da die IDs gäbe: Kniegelenk links hinten, Schulter rechts mitte, etc.
Denn eine PC anwendung mit einer Hexapodsteuerung muß sich ja danach richten, und servo 1 - 99 ist ja im Grunde bedeutungslos.
Und wenn ich das so mache, sind ja ALLE Geräte im Netzwerk automatisch eindeutig.
ID Schrittmotor links
ID Schrittmotor rechts
ID ADC-Batteriekontrolle
ID ADC GP2D12 links vorne
ID ADC GP2D12 rechts vorne
etc.
Dann kann einer perfekte PC Programme schreiben, ohne deine I2C Adressen zu wissen oder sonst was. eben weil alles Standard ist.
Lesezeichen