https://github.com/ikajdan/sixthsense-desktop
A desktop client for the Sense HAT API server
https://github.com/ikajdan/sixthsense-desktop
iot linux pygtk
Last synced: about 2 months ago
JSON representation
A desktop client for the Sense HAT API server
- Host: GitHub
- URL: https://github.com/ikajdan/sixthsense-desktop
- Owner: ikajdan
- License: mit
- Created: 2023-05-29T12:53:58.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-16T23:21:47.000Z (over 1 year ago)
- Last Synced: 2026-05-04T19:47:54.044Z (about 2 months ago)
- Topics: iot, linux, pygtk
- Language: Python
- Homepage:
- Size: 150 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
SixthSense
Web Client •
Mobile Client •
Desktop Client
The aim of this project was to create an IoT (Internet of Things) system composed of a SBC (Single Board Computer) with a Sense HAT attached. The server should host a REST (Representational State Transfer) API (Application Programming Interface) that enables clients to read and control peripherals of the hat.
Data from various sensors on the Sense HAT should be collected and exposed through the REST API. Real-time plots of the sensor data should be displayed on each client. The user should be able to control the LED matrix on the Sense HAT.
All the clients should expose a GUI (Graphical User Interface) to the user allowing for interaction with the embedded system. Three REST clients were developed:
- [web-based client](https://github.com/ikajdan/sixthsense_server),
- [Android mobile client](https://github.com/ikajdan/sixthsense_mobile),
- Linux desktop client (this repository).
## Desktop Client
The desktop client is written in Python and the GTK3 toolkit. Each view is contained within a class inherited from the `Gtk.Box`. The client uses the `requests` library to communicate with the server. The data for the `Gtk.TreeView` is kept in the `list_store` member. The sensors table is generated dynamically.
Sensors (left) and plots (right) pages.
LED control (left) and settings (right) pages.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE.md) file for details.