This repository contains source code for the wireless network based on CC1101 tracsceiver and STM32F103C8T6 microcontroller.
WiMeNET is a short of the "Wireless Mesh Network". Probably "Mesh" will not be implemented, see below in
ToDo
section.
This repository is under development. Currently the following is implemented:
- CC1101 driver for STM32. Implementation uses GPIO interrupts for both "RX done" and "TX done" events, so polling is not necessary. Network operates at 868MHz.
- USB communication with the host PC via libusb (tested on Windows, should work on Linux as well)
- LCD driver (for debug output). Supports pcd8544 LCD (84x48 pixels), which is cheap and easy to find.
Of course, a lot of things should be done. Here they are:
- Network structure documentation. Will be documented in Dia.
- HW documentation. What and how to connect to make it work. At the moment the following hardware is used: dev. board, transceiver, display
- The network itself. At the moment only a draft driver is available
- Secure communication. AES-128 is planned, but any custom algorithm can also be used. Test implementation takes about 1.5ms for the 64-byte packet encryption. Decryption takes roughly the same time.
- Mesh implementation.
In addition to this list please take a look at the list of the known issues. It is always in the actual state.
Note: I'm not sure that mesh implementation is necessary here. It seems that the network without mesh is more than enough for the smart home, because the communication on such a small distances is stable enough. Moreover, 868MHz frequency range is clear enough, unlike of 433MHz range