I am about to start working on a new project, and I am in way over my head. I was hoping that you guys could point me in the right direction as to what kind of IPC to use, and perhaps to a similar project.
I want to write a kernel module that uses IgH's Ethercat master to read/write data to the bus, in an interval. And then make this data available to other processes in userspace. Preferably written in any programming language.
Light switches in my house are connected to some Beckhoff digital input modules.
Relays controlling the lighting and power sockets, are connected to digital output modules.
The bus couplers are connected via an Ethernet cable to a Linux computer, running the Ethercat master.
A kernel module continuously reads and writes data to the bus, and handles time critical tasks.
A c++ userspace application handles the “big picture”. Scheduled events, none time critical tasks, and such.
A web application acts as an interface, made available to the entire local network. Accessible to PC's and hand held devices.
As of today, I have only experimented with userspace applications and the Ethercat bus. IgH's API is quite straight forward. But i have very little experience in inter process communication, and KMOD development.
What kind of IPC should I use?
How do I handle variable declarations? XML?
Does anyone know of a similar project with documentation?
Any help will be highly appreciated.