I am currently working on a simple home automation system. I would like to use CAN bus, as medium connecting different nodes and sensors. In my opinion it is more reliable than Ethernet - it is only a portion of twisted copper wire, no additional infrastructure (switches, routers etc) is needed. Unfortunately CAN have a one flaw (that can be seen as advantage in other circumstances) - it only allows 8 bytes of data per single frame. I would like to use AT commands, so I need to send and receive ASCII strings, usually larger than 8 bytes.
Another words. I need some kind of transport layer, that handle communication between nodes slicing message to many frames and merging them together on the other side of cable. I found description of ISO 15765-2 protocol (also known as ISO-TP). It looks quite interesting. Unfortunately I do not feel up to the task of implementing it myself. I found one C library: https://github.com/openxc/isotp-c
Unfortunately - description leaves no doubt. This version do not yet support multiframe meaasges. :(
Is there any hope for sending longer messages that 8 bytes? It is hard to imagine, that there is no solution for that, although Arduino CAN Shields are quite easy to find.