Stap 10: Verbetering van het automatiseringssysteem en verwante oplossingen
Dit systeem kan worden uitgebreid door het toevoegen van meer codes gevangen van verschillende systemen. Hoewel dit deel gemakkelijk is, zijn er twee andere factoren die u hebben zal rekening te houden.
Toebehoren 1 (snel): Werken met IR-signalen van verschillende lengtes
- IR-Codes voor verschillende systemen zijn voorzien van verschillende lengtes, zelfs tussen de twee producten van dezelfde fabrikant.
- Bijvoorbeeld, in dit geval de IR code array lengte voor de LED-TV 67 is, terwijl dat van de Samsung Sound Bar ongeveer 87.
Het resultaat? De LED TV niet is uitgeschakeld omdat de IR Code Buffer is beschadigd door de extra 20 codes niet opgeruimd uit de vorige bewerking!
Repareren van 1 (de gemakkelijke uitweg, niet aanbevolen)
De Arduino schets als volgt wijzigen:
De volgende functieaanroepen in in de loop {} functie wijzigen
Wijzigingen aanbrengen in de handtekening van de bovenstaande functie:
Terwijl dit gemakkelijk is, de matrix nooit echt volledig wordt gewist en daarom is dit niet een zeer clean-oplossing
Repareren van 2 (niet hard, aanbevolen)
Een extra variabele op de top van de Arduino schets, na de commentarensectieverklaren:
Voeg dit toe aan de bovenkant van de Setup-functie:
Scroll naar beneden en voeg een nieuwe functie aan de schets onmiddellijk na de transmitIRCode() functie:
Tenslotte roept nieuwe functie boven op de volgende locatie in de loop functie:
Dit is een meer schoner aanpak als het daadwerkelijk alle locaties in de Buffer van de IR-matrix die werden bevolkt door de meest recente IR-Code-signaal herstelt zonder aan het toeval.
Verhoging 2 (meer betrokken): herhalen van IR signaaloverdracht voor bepaalde apparaten
- Sommige apparaten moeten hetzelfde signaal toegezonden meerdere keren om te reageren
Voorbeeld: In dit geval de Samsung Sound Bar vereist dezelfde code worden verzonden met een opening van 1 seconde twee keer
De correctie in Concept is besproken hier want het is een beetje meer betrokken en testen moeten zal.
De herhaling functionaliteit toe te voegen aan de schets Ardunio zal betekenen dat u moet flash de schets telkens wanneer die u een nieuw apparaat aan uw Home automatiseringssysteem toevoegen
In plaats daarvan maakt deze correctie toe te voegen aan de HTML-SignalR-client en de Python SignalR Service applicatie de oplossing veel flexibeler. En dit kan worden bereikt in principe als volgt:
Wijzigen van de SignalR HTML-client wilt herhalen informatie doorgeven aan de Hub
Waar, 2 is de herhaalde waarde en 1000 is de vertragingswaarde in milliseconden tussen de twee herhalen signalen
Wanneer u op deze knop klikt, ontvangt de hub SignalR de sleutel Code + Repeat_Spec
De SignalR Server kant methoden parseren uit alleen de sleutelcode te wijzigen:
- De sleutel-Code gebruiken zoals gebruikelijk de IR-Code uit de database ophalen
- Zenden de sleutel Code + Repeat_Spec en de IRCode aan de SingalR-Clients zoals gebruikelijk
De Python SignalR Service-applicatie voor het verzenden van signalen met behulp van de Repeat-waarden wijzigen
Open de Python client en wijzig de volgende twee functies:
- Op deze manier de Arduino niet moet herhaaldelijk worden geflitst
- Een willekeurig aantal herhalen frequenties kan worden ingebouwd in dit systeem
- Bovendien, als u van de UNO gebruikmaakt, er is een limiet aan de grootte van die uw schets tot groeien kan!