Hallo und Danke für die Rückmeldung.
Ja, meine Antwort zum Uno war etwas kurz. Das muss ich noch etwas genauer erklären.
Wie du schon bemerkt hast, gibt es Controller mit eingebauten CAN. Der genannte LPC1768 gehört dazu und auch der SAM3 auf dem Due. Das heißt aber nicht, dass man den CAN-Bus da direkt anschliessen kann, einen Transceiver-Chip, wie den MCP2551 braucht man immer noch. Das sind aber recht einfache ICs, die wandeln nur Spannungen um. Der genannte MCP2551 geht übrigens nicht am Due, da dieser keine 5V Signale verträgt, da müsste man sich nach einer Alternative umsehen.
Da fängt das Problem schon an, die offizielle Unterstützung für die CAN-Schnittstelle des Due ist praktisch nicht vorhanden, man muss sich da durch einen Forenthread mit 30 Seiten hangeln. So interessiert an CAN bin ich nicht, das ich mir das bisher mal angetan habe.
Es führt also kein Weg an einem Shield vorbei. Meistens ist da auch ein MCP2515 und ein Transceiver verbaut.
Ok, nach diesem Exkurs komme ich zum eigentlichen Grund meiner Antwort zum Uno. So ein Uno hat 2 kB RAM und 30 kB Flashspeicher. Das ist für so eine Anwendung ein bischen wenig.
Es wird ja erstmal eine Library für das CAN-Shield benötigt. Die sendet und empfängt erstmal nur einzelne CAN-Messages, welche maximal 8 Bytes Daten empfangen.
Darüber liegen dann die sogenannten Transportprotokolle. Die sind dazu da, mit vielen kleinen 8 Byte Messages große Datenblöcke zu transportieren. Unschönerweise verwendet dieses J1939 gleich zwei davon, je nach Bedarf. Das wird eine ganze Menge Programmierarbeit. Ist keine Raketenwissenschaft, ich habe das mal für ein anderes Protokoll gemacht, das im PKW-Bereich verbreitetere ISO 15765-2. Man muss halt programmieren können und die Bereitschaft haben Doku zu lesen. Die könnte noch ein Problem werden, wenn man da nichts öffentliches findet, muss man notfall die ISO-Norm kaufen. Das ist teuer.
So im Controller läuft also erstmal eine Logik, die über diese Transportprotokolle die Datenpakete zusammensetzt. Da schon eines davon bis zu knapp 1800 Bytes groß sein kann, wäre schon mal ein Mega die kleinstmögliche Lösung dafür.
Aus diesen Rohdaten-Paketen muss man jetzt noch mit Hilfe eines Katalogs dieser NMEA Botschaften die Daten extrahieren. Darüber weiß ich nicht viel, da ist wieder Doku gefragt. Der Code könnte eine gewisse Menge Flash belegen, das spricht wieder für Mega oder Due.
Ich denke das ist alles im Prinzip machbar, man sollte aber etwas Zeit einplanen und das ganze etwas in Teilprojekte zerlegen.