hanndoddi / Lampi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lampi

Verk í vinnslu hjá Fab Lab Akureyri ertu viss um að þetta sé í vinslu

Markmið

Búa til snjalllampa til að nýta til kennslu í Fab Lab.

Íhlutir

  • ESP32C3

  • Neopixel hringur (12LED, RGBW)

  • 3 vírar, notaði jumpera og klippti endana af öðru megin

  • 3 pinnar (e. headers) til að tengja jumperana.

  • 3D prentaðir hlutir:

    • Hólkur
    • Sæti fyrir Neopixel (toppur)
    • Sæti fyrir ESP32C3 (botn)
    • Spöng til að halda ESP32C3

Uppsetning (VSCode & PlatformIO)

  • Setja upp Visual Studio Code
  • Setja up PlatformIO
  • Opna þetta repo með platformIO
  • Laga línu í AsyncWebSocket.cpp sjá neðar
  • Ýta á Build sem býr til ýmsar skrár
  • Framkvæma þessi skref:
    1. Build filesystem Image
    2. Upload filesystem Image
    3. Upload and monitor
Skref
Skref

TODO:

  • Útbúa verkefnalýsingu og efni fyrir rafmagns/forritunarnámskeið
  • Endurskrifa rútur (e. routes) með AJAX til að
    • Slóð í vafra haldist eins
    • Nótera endanlega API punkta
  • Fjarlægja FABXIAO led úr kóða/viðmóti
  • Prófa "flottur.lampi" með mdns
  • Fjarlægja .vscode úr sögunni
  • Gera mismunandi útgáfur af kúplum
    • Vacuum formaðan
    • 3D prentaðan (PLA)
    • 3D prentaðan (PVB)
    • ???
  • Bæta við WifiManager, t.d. þessum

Eiginleikar

  • Vefviðmót
  • Þægilegt hýsisnafn (e. hostname)
  • API
  • Breytilegt birtustig
  • Velja lit
  • Nokkrar fyrir fram ákveðnar stillingar
    • Rólegt
    • Norðurljós?
    • ...

Myndir

Í vinnslu
Í vinnslu, FABXIAO notaður til prufu
Vefviðmót
Vefviðmót

3D Módel (Fusion 360)

Módel
Módel
Módel þverskurður
Módel þverskurður

Samsetning

Vírar
Vírar, jumperar
Gegnumtak
Vírar settir í gegn um rétt göt
Neopixel lóðaður
Neopixel lóðaður
Pinnar
Pinnar (e. headers)
Pinnar lóðaðir
Pinnar lóðaðir, gætið að því láta langa hlutann snúa upp.
ESP32C3 á sínum stað
ESP32C3 á sínum stað
Samsett
Samsett
USB-tengi
*Passið að USB-tengið vísi út
Tilbúið
Tilbúið, með kúpli

Nótur

Villa í ASPAsyncWebServer

Sjá: me-no-dev/ESPAsyncWebServer#1142

í AsyncWebSocket.cpp þarf að breyta eftirfarandi:

IPAddress AsyncWebSocketClient::remoteIP() {
    if(!_client) {
        return IPAddress(0U);
    }
    return _client->remoteIP();
}

svona:

IPAddress AsyncWebSocketClient::remoteIP() {
    if(!_client) {
        return IPAddress();
    }
    return _client->remoteIP();
}

About


Languages

Language:C++ 71.1%Language:HTML 19.0%Language:CSS 9.2%Language:C 0.8%