easyIPC is the protocol and collection libraries I use to communicate cross various networks. easyIPC is not bound to a special technology as it provides universal device to device access through a variety of technologies including Ethernet/Wife, RS485, CAN, and SPI and in time others.
UDP, SPI, UART and CAN are examples of technologies I use and they all require a different lower protocol to take advantage of the underlying bus architecture. This is dealt with in AL (Abstraction Layer). UDP (as an example) will have a generic UDP interface, but the one I am interested in here is easyUDP and accordingly easySPI, easySerial and easyCAN. These layers are specially adapted to the easyIPC concept and each module has an identical interface so we don’t need to care about the underlying bus/stack complexity.
The concept is simple – we connect, send and receive messages as if everything is local using a common addressing scheme. Only the sender and receiver need to understand the messages. Message sequences are dealt with in easyIPC or user modules. Lets briefly discuss the technologies and why they are on this list.
|We use a control system composed of Raspberry PI and multiple STM32F405 MCU using high speed Half Duplex SPI as the backbone bus. This gives a speed of 30-42Mbps which in reality makes it very comparable to a 100Mbps Ethernet.
|This is the same as easySPI using I2C bus. This is currently not supported.
|Using RS485 or RS232 as bus. RS485 implement the TDM bus. Specially RS485 is well suited for distributed control systems as it covers up to 1km wired and as such allows a none-wireless interface to fixed locations.
|Using CAN as bus.
|Allows Ethernet and Wifi using the UDP protocol as carrier.
|Allows IPC over Bluetooth.
|Allows IPC over LoRa Technologies. Long Range radio allowing up to 12km coverage.
|Allows IPC over NB IoT Technologies. This is basically a low cost phone line allowing you to communicate in all areas With GSM,3G,4G, 5G etc.
|Allows 2.4Ghz Shockburst as IPC. Max range is 100 meters, but it is an awesome Wireless protocol With bandwidth up to 2Mbps.