Coder Social home page Coder Social logo

esp32raumbelegungsschild's Introduction

Raumbelegung

Installation des Powershell Scripts

Das Powershell Skript verbindet sich einmal am Tag mit einer Stundenplansoftware und läd die Raumbelegung in ein JSON untisData. Die Räume werden in einem JSON untisRooms abgelegt. Ferner legt es in $PSScriptRoot ein JSON mit dem Namen untis.json an, dieses enthält den aktuellen Tag (DayOfYear).

Damit sich das Powershell Script mit Webuntis verbinden kann müssen den Credentials einmal richtig gesetzt werden und in der Datei $Home/keys.json gespeichert werden.

Fener nutzt das Powershell Script die Library M2Mqtt, die DLL dieser Library muss im Skript richtig gesetzt werden!

Installation des (Node.js) Webservers

Der Webserver ist in TypeScript geschrieben und nutzt Node.js. Um die notwendigen Abhängigkeiten zu installieren muss zunächst.

npm install

aufgerufen werden. Anschließend kann der Server über

node index.js

gestartet werden. Der Server läuft default auf dem Port 3000 und kann über http://127.0.0.1:3000 aufgerufen werden. Die konfiguration des Servers geschient über eine Datei config.json mit folgendem Aussehen:

{
    "version": "1.0",
    "mqttServer": "service.joerg-tuttas.de",
    "server": "ws://127.0.0.1",
    "port": "3000"
}

Dabei haben die Items folgende Bedeutung:

  • mqttServer: Adresse des MQTT Servers mit dem sich verbunden wird
  • server: Adresse des Websocket
  • port: Port des Websockets

ESP32 Raumbelegungsanzeige

Ist kein Topic hinterlegt oder wird beim Starten des ESP32 der interne GPIO Button gedrückt, so startet der ESP32 im Access Point Modus. Es wird ein offener WLAN angezeigt. Wird sich mit diesem WLAN verbunden kann die Kanfigurationsseite durch Eingabe von http://192.168.4.1 aufgerufen werden. Es erscheint folgende Webseite:

config1

Hier kann der MQTT Topic eingegeben werden. Ein Klick auf "Absenden" startet den ESP32 dann neu.

config2

Verkabelung

Display ESP32
BUSY D4
RST D21
DC D22
CS D5
CLK D18
DIN D23
GND GND
3.3V 3.3V

Video

ESP32 E-Ink Namensschild

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.