Software

From Operame
Revision as of 23:21, 1 February 2021 by Juerd (talk | contribs) (→‎Broncode)
Jump to navigation Jump to search

Uitgangspunten

  • KISS
    • minder code = minder bugs
    • minder features = makkelijker in gebruik
  • Nederlandstalig
  • In principe moet de software helemaal plug-and-play zijn, zonder enige configuratie
  • Configuratie moet wel mogelijk zijn, als mensen bijv. andere CO2-waardes willen instellen.
  • Geen afleiding, dus zo min mogelijk in beeld
  • Consistent kleurgebruik om het juiste "gevoel" te communiceren
  • Zo toegankelijk als haalbaar zonder extra kosten te maken
  • Standaard bruikbaar zonder wachtwoord, beveiliging wel achteraf inschakelbaar
  • Taal voor eindgebruiker-teksten is Nederlands (en evt later meertalig te maken), taal voor code (identifiers, comments) is Engels.

Broncode

De broncode van de firmware is beschikbaar op https://github.com/Juerd/operame.

Om deze te compileren, gebruik de PlatformIO CLI met het commando pio run. Dit downloadt automatisch de benodigde libraries.

Kleurgebruik

  • Wit: algemene mededeling
  • Rood: fout
  • Geel: waarschuwing
  • Groen: goed
  • Blauw: wifi

De CO2-niveaus zijn herkenbaar voor kleurenblinden:

  • Groen op zwart = licht op donker
  • Zwart op geel = donker op licht
  • Wit op rood = licht op halfdonker (knipperend)

Bij een hoog CO2-niveau kan het scherm "knipperen" voor extra aandacht, door de voorgrondkleur en achtergrondkleur af te wisselen. De standaard ondergrens hiervoor is gelijk aan de ondergrens voor rood.

Modi operandi

De module verkeert op elk moment in één van de volgende modi:

  • Initialisatie (daarna: CO2-weergave)
  • CO2-weergave (daarna: CO2-weergave-demo, configuratieportal, of OTA-update)
  • CO2-weergave-demo (daarna: CO2-weergave)
  • Configuratieportal (daarna: OTA-update of reset)
  • OTA-update (daarna: reset)

In diverse modi kan er een foutmelding in beeld komen. Deze kan weer verdwijnen als de foutstatus is opgelost. Sommige fouten zijn alleen te verhelpen met opnieuw opstarten. Tijdens het weergeven van de foutmeldingen zijn andere functies mogelijk niet beschikbaar.

Wifi

Wifi staat standaard uit. Een blauwe aanduiding (tekst of een blauw kader) geeft aan dat wifi actief is.

Foutafhandeling

De volgende fouten worden opgemerkt en weergegeven:

  • "WiFi mislukt": Wifi-verbinding (indien ingeschakeld) is mislukt bij het opstarten (kan soms later alsnog goedkomen)
  • "Sensorfout": Sensor geeft geen of een foute waarde terug (verkeerd aangesloten?)
  • "Module verkeerd om": T-Display-module is verkeerd in de socket gestoken (voor zelfbouwers: verbind 12 met GND.)
  • "Driverfout": Een situatie die in theorie niet voor kan komen; automatische herstart volgt
  • "MQTT onbereikbaar": Na een ingesteld aantal pogingen was de MQTT-server nog steeds niet bereikbaar; automatische herstart volgt omdat dit soms komt door bugs in de WiFi-driver.
  • "Tijd verstreken": De portal is geactiveerd maar er is 10 minuten lang niet mee verbonden; automatische herstart volgt.