I have many (tens) sensors which talk I²C spread over larger area (10s of meters), and I am considering to connect them to CAN. I am looking for advise on how to do it, with lower cost ($20 or so would be ok per one sensor).
I don't think there is anything ready-made; except CAN/RS485 from Artesyn, https://www.artesyn.com/power/assets/trn_can_rs485_interface_adapte1321396157_techref.pdf, which is a I²C master connected over CAN - but maybe only works for their application (PSU), and maybe is expensive.
I looked at Arduino with CAN-BUS shield (too big in dimensions), Microduino, Teensy and a few other boards. I don't mind doing the programming (periodically, about 2 Hz, read from I²C sensor and send out over CAN), but I would like the hardware to be open (like Arduino), compact (let's say max 4x4 cm) and inexpensive.
Any recommendations, or even perhaps ideas how to make this differently, are appreciated.