Programming.
My programming projects
AUtomata
Engineering diploma project — Greenhouse conditions monitoring and control system
C# C++ Python
The goal of the AUtomata system was developing a system for monitoring and controlling conditions in a greenhouse using a single-board computer and microcontroller modules. The project was carried out jointly with Filip Fudala as part of an engineering diploma project at the Department of Geoinformatics of the Faculty of Electronics, Telecommunications and Informatics of the Gdańsk University of Technology. Authors took a look at some existing solutions and proposed a system allowing for the automatic control of selected environmental parameters.
A system has been proposed, consisting of a couple of peripheral modules implemented with AVR microcontrollers programmed in C++ language, connected over a wire with a central unit based on the Raspberry Pi 3 Model B single-board computer, running the GNU/Linux operating system and software implemented in C#.
A compact greenhouse model has been prepared, allowing for utilization of all implemented components, equipped with a bus that provided power and communication. In addition, a management station has been prepared, also allowing for remote cooperation and monitoring of peripheral modules.
The software of the central unit featured a layered structure. Automatic temperature control and watering schedule have been implemented. The control panel application communicates with the service using a public Web API, and makes a touch-based interface available to the user, in a form of a dashboard, a menu, and dynamic notifications.
The central unit has been connected to modules using a project-defined communication protocol based on the CAN bus. Individual modules share their state in a form of registers which are remotely readable or modifiable.
For peripheral modules, a software framework has been prepared, supporting a component-based approach and providing hardware abstraction. Modules for monitoring temperature and relative humidity, soil hydration, and for control of watering, window position, and heating element, have been implemented.
The system was implemented with an idea of its further development, including making some of its non feature-specific components publicly available.
The project is considered suspended, as after starting paid work after the college both authors are willing to continue it, but only after some time.
Other projects
Inactive projects — suspended, completed or abandoned