GithubHelp home page GithubHelp logo

maibornwolff / clean-air Goto Github PK

View Code? Open in Web Editor NEW
32.0 32.0 4.0 82.69 MB

Firmware and hardware construction plans for the MaibornWolff Clean Air device

License: MIT License

C 0.93% C++ 99.07%

clean-air's People

Contributors

angrox avatar dane-marvin-dahlem-mw avatar felixherbst avatar maiknog avatar martin-zehetmayer-mw avatar mlkiefer avatar starnethmw avatar thegreatdane6 avatar thorsten avatar thorsten-rinne-mw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clean-air's Issues

Feature: Use one method to save data on the ESP

Is your feature request related to a problem? Please describe.
I want to have one single method to save data in the NVS. By now we have two methods: Preferences file and SPIFFS

Describe the solution you'd like
I want to save data wether in Preferences OR in SPIFFS.

Describe alternatives you've considered
none

Additional context
none

Add network control

We would to control the device via network control.

For the current iteration of devices it is only possible to control the fans. In further iterations there may be some sort of relays to even control the lamps or to act as a circuit breaker.

Add Neopixel Led Stick to indicate device status

Is your feature request related to a problem? Please describe.
As a clean air device user I want to have a visual feedback of the status of the device.

Describe the solution you'd like
I like to have leds showing the various stati: Booting, Updating, Error, Normal Operation, Maintenance needed, ...
I propose to use a NeoPixel Led Stick which is highly configureable in terms of color and only needs one GPIO pin.

Create releases on version tagging

Is your feature request related to a problem? Please describe.
As a clean air developer I want a github release created when a certain tag is created.

Describe the solution you'd like
Whenever a tag is created which matches ^v* (e.g. v1.0.0) a release should be created and the firmware build file should be attached to it.

Restructure documentation

Is your feature request related to a problem? Please describe.
As a clean air user I want have a structured documentation section so I can build the software and the hardware

Open clean air slack and link to documentation

Is your feature request related to a problem? Please describe.
As a clean air contributer I want to work in a more collaborative way with other contributers using Slack. Open the currently closed clean air slack and post the information in the documentation section and/or the main README.

Knob in max. position does not add maximum speed to the fans

Observed the following:

  • wired the fans to the arduino
  • started to control the fans via the knob
    -> fans should run on max speed
  • jumped the pwm signal (no controle via the knob)
    -> fan ran about at least two times fast than with the control of the arduino

Measure fanspeed

As a clean air developer I want to use the RPM signal from the fans to measure the speed of the fans.

Currently 4 fans are used so we get 4 pins with RPM signals. The speed should be measured constantly and should be available as variable (struct) for further processing.

Firmware failes to compile, littlefs bug

Describe the bug
Firmware fails to compile due to littlefs library error.

To Reproduce
Steps to reproduce the behavior:

  1. Compile firmware

Expected behavior
Build firmware without error.

Screenshots

Compiling .pio/build/esp32/libba2/LittleFS_esp32/lfs.c.o
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c: In function 'esp_vfs_littlefs_register':
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c:208:9: error: unknown field 'utime_p' specified in initializer
         .utime_p     = &vfs_littlefs_utime,
         ^
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c:208:24: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
         .utime_p     = &vfs_littlefs_utime,
                        ^
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c:208:24: note: (near initialization for 'vfs.<anonymous>.access_p')
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c:179:27: warning: missing braces around initializer [-Wmissing-braces]
     const esp_vfs_t vfs = {
                           ^
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c:179:27: note: (near initialization for 'vfs')
*** [.pio/build/esp32/libba2/LittleFS_esp32/esp_littlefs.c.o] Error 1

Build visual Feedback with LEDs

8 WS2812b LEDs can be used to display the current status. Some visualization ideas:

-show the current fan speed in 8 steps, only when the user is actually turning the knob plus some seconds after the interaction
-startup animation while booting or searching for wifi, maybe a ping pong animation
-status codes, like orange blinking during wifi setup

What needs to be done:
-setup the LEDs and define start state
-implement one ore more visualizations

Technical information:
On the CleanAirPCB v1, 8 WS2812b LEDs are connected to IO18 and succesfully tested with the Adafruit NeoPixel Library.

Publish physics stuff

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Change default update URL to github latest release

Is your feature request related to a problem? Please describe.
The default update URL should point to the github release page and the LATEST firmware

Describe the solution you'd like
In order to update to the latest version the default URL should be the github latest release.

Describe alternatives you've considered
Alternative would be to use an existing Azure Storage Account.

Import of STLs into Slicer -> too small

Describe the bug
I cloned the repo and imported the STLs in PrusaSclicer. They look very small, only 21x21mm for the Lichtschutz.

Screenshots
Bildschirmfoto 2021-02-18 um 08 23 36

Hardware (please add the relevant information):

  • Prusa MK3S+

Software (please add the relevant information):

  • PrusaSlicer 2.3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.