-
Notifications
You must be signed in to change notification settings - Fork 2
/
ROADMAP
47 lines (34 loc) · 1.5 KB
/
ROADMAP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
The kernel module only does the lowlevel (timing critical) communication with
the rfm12-module (via SPI) - and exports a device node to userspace, as:
/dev/rfm12_ask
Opening / closing the device will power on / power off TX respectively.
The protocol used for communication between kernel- / userspace on top of
/dev/rfm12_ask will be sth. like:
#define DATA_MAX 512
struct packet {
unsigned int duration;
unsigned int count;
char data[DATA_MAX]; // payload
};
There'll be a userspace library/application handling the communication with the kernel,
exporting maybe functions, e.g. for remote controllable power sockets
using the 2272 controller:
2272_on(u8 system_code, u8 socket_code);
2272_off(u8 system_code, u8 socket_code);
The server side should know about all relevant information about used sockets,
labels, location, status, etc.
The configuration is stored in a config file, structured like this:
[socket_A] // identifier (arbitrary)
category = "living room" // just for view, arbitrary
label = "ceiling light" // just for view, arbitraty
// type = SOCKET // type of radio device (defines e.g. type of UI widget (button, slider, etc.))
product = 2272
code = "00000 00001"
[dimmer_living]
category = "bathroom"
label = "mirror ball" // yes, I do have a mirror ball in my bathroom, about 40 to be precise :)
// type = DIMMER
product = 1527
code = "00000000000000000000 00001"
Applications shall be able to connect via network via XML-RPC / JSON-RPC.
{