.. zephyr:code-sample:: socket-can :name: SocketCAN :relevant-api: bsd_sockets socket_can Send and receive raw CAN frames using BSD sockets API. Overview ******** The socket CAN sample is a server/client application that sends and receives raw CAN frames using BSD socket API. The application consists of these functions: * Setup function which creates a CAN socket, binds it to a CAN network interface, and then installs a CAN filter to the socket so that the application can receive CAN frames. * Receive function which starts to listen the CAN socket and prints information about the CAN frames. * Send function which starts to send raw CAN frames to the bus. The source code for this sample application can be found at: :zephyr_file:`samples/net/sockets/can`. Requirements ************ You need a CANBUS enabled board like :ref:`nucleo_l432kc_board` or :ref:`stm32f072b_disco_board`. Building and Running ******************** Build the socket CAN sample application like this: .. zephyr-app-commands:: :zephyr-app: samples/net/sockets/can :board: :conf: :goals: build :compact: Example building for the nucleo_l432kc: .. zephyr-app-commands:: :zephyr-app: samples/net/sockets/can :host-os: unix :board: nucleo_l432kc :goals: run :compact: