deskmate
所属分类:collect
开发工具:C++
文件大小:0KB
下载次数:0
上传日期:2020-12-12 07:57:34
上 传 者:
sh-1993
说明: 微型MQTT供电的仪表板和控制中心。
(A tiny MQTT-powered dashboard and control center.)
文件列表:
.dockerignore (81, 2020-12-11)
LICENSE (1069, 2020-12-11)
assets/ (0, 2020-12-11)
assets/img/ (0, 2020-12-11)
... ...
[![deskmate build](https://github.com/rbaron/deskmate/workflows/deskmate%20build/badge.svg)](https://github.com/rbaron/deskmate/actions?query=workflow%3A%22deskmate+build%22)
[![deskmate-sdl2 build](https://github.com/rbaron/deskmate/workflows/deskmate-sdl2%20build/badge.svg)](https://github.com/rbaron/deskmate/actions?query=workflow%3A%22deskmate-sdl2+build%22)
[![deskmate-arduino build](https://github.com/rbaron/deskmate/workflows/deskmate-arduino%20build/badge.svg)](https://github.com/rbaron/deskmate/actions?query=workflow%3A%22deskmate-arduino+build%22)
# deskmate
A hackable & portable [MQTT](https://mqtt.org/)-powered mini dashboard and control center.
For clarity, in this specific configuration, the display above shows:
* **Left panel** - The states of MQTT "smart" switches. Clicking turns them ON/OFF
* **Top right panel** - Soil moisture status of some of the plants around the house
* **Bottom right panel** - Current temperature in different rooms
## Hardware & portability
The main components in the photo above are:
* An [ESP32](https://docs.platformio.org/en/latest/boards/espressif32/lolin32.html) development board
* A 2.7" SHARP Memory Display by [Adafruit](https://www.adafruit.com/product/4694)
* A rotary encoder (similar to [this one from Adafruit](https://www.adafruit.com/product/377))
* Three mechanical switches from [Pimoroni](https://shop.pimoroni.com/products/kailh-mechanical-switches-pack-of-12?variant=32056315314259)
The core software should be fairly hardware-agnostic and the concrete implementations should be relatively portable to a bunch of other boards and displays.
As an example, this repo contains [a pure software implementation](code/sdl2) of the whole system. Here it is running on my macbook:
## Software
The software is organized into three directories:
* [`code/lib/`](code/lib) - Platform-agnostic core. Relies on abstract input/output systems
* [`code/arduino/`](code/arduino) - Arduino instantiation of the input/output systems & MQTT client
* [`code/sdl2/`](code/sdl2) - [SDL](https://www.sdl.com/)-based software-only instantiation of the input/output systems & MQTT client
## Case
The `.stl` files for the 3D printed frame can be found under `case/stl/`.
近期下载者:
相关文件:
收藏者: