Does the MKR can shield support J1939 and NMEA2000 protocols?
Is there any documentation about the PGN acquisition?
I don’t see any documentation on these subjects from Arduino and unfortunately I don’t know enough about CAN to even know where to start researching about it.
If these are implemented in hardware then you should refer to the chip manufacturer’s datasheets. Even then it’s a bit confusing because there is a CAN controller (MCP2515):
and a CAN transceiver (TJA1049):
If they’re implemented in software, then you would want to check the library. The “Getting Started” page makes vague reference to a library in Library Manager, but doesn’t say which one. I’m pretty sure they mean this one:
Since it’s written by one of the Arduino developers and says it supports the MKR CAN shield in the readme, even though Arduino doesn’t host it in their own account.
Is this board a stand-alone unit?
No, this is a “shield”, which means it plugs in to any of the Arduino MKR boards (e.g. MKR Zero, MKR1000, MKR WiFi 1010, etc.) to add extra capabilities. You will write your code to run on the SAMD microcontroller on the Arduino MKR board, which will then communicate with the CAN hardware on the shield.
I guess it then need to work together with the WiFi board
If WiFi is the network interface you want to use to send the data to the cloud, then yes. There are also MKR boards that offer other communication interfaces like GSM, LoRa, Sigfox, and NB-IoT. There is also the MKR Zero, which doesn’t have an on board network interface, but can be attached to external hardware to provide any connectivity you like (the MKR ETH Shield, for example).
how do I need to setup the hardware??
The shields make setup easy because you just plug it right in to the MKR board and all the connections are then made between the CAN hardware and the microcontroller on the Arduino MKR board.