Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Design af detektoren
- Trin 2: Konfiguration af detektoren
- Trin 3: Konstruktion af detektoren
- Trin 4: Afsendelse af en besked til radioen
- Trin 5: Gør det selv
![Fryser Alarm Relæ: 5 trin Fryser Alarm Relæ: 5 trin](https://i.howwhatproduce.com/images/010/image-27627-j.webp)
Video: Fryser Alarm Relæ: 5 trin
![Video: Fryser Alarm Relæ: 5 trin Video: Fryser Alarm Relæ: 5 trin](https://i.ytimg.com/vi/1UExunyPAwA/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
![Fryser Alarm Relæ Fryser Alarm Relæ](https://i.howwhatproduce.com/images/010/image-27627-1-j.webp)
Vores fryser er i et bryggers, der er isoleret fra vores boligareal. Af og til lukker fryseren ikke ordentligt, og alarmen går. Problemet er, at vi ikke kan høre det, hvis vi er i vores boligareal. Hvordan får vi en besked om, at frysedøren er åben? Dette er et almindeligt problem, vi har enheder i vores hjem, der taler til os, men hvad sker der, hvis vi ikke kan høre dem af en eller anden grund. Jeg startede dette som lidt sjovt, men det kan være nyttigt i en mere seriøs applikation.
Der er to dele til dette problem, vi har brug for en metode til at opdage alarmen er gået og en metode til at videresende denne kendsgerning til vores boligareal. Det design, jeg besluttede mig for, var at bruge en Raspberry Pi til at lytte efter fryseralarmen, der gik, og derefter sende en hørbar alarmmeddelelse til min hjemlige radio, som er uPNP -aktiveret. Universal Plug and Play (UpnP) er en standard for at opdage og interagere med tjenester, der tilbydes af forskellige enheder på et netværk, herunder medieservere og afspillere, selvom jeg ikke tror, at frysere var påtænkt, da standarden blev udviklet. Advarselsmeddelelsen blev gjort højt og irriterende og gentages uendeligt, indtil radioen er slukket.
Jeg valgte at opdage alarmen med en Raspberry Pi Zero W og Seeed ReSpeaker 2-Mics Pi HAT Raspberry PI Zero er en billig udgave af Raspberry Pi, og W-indstillingen har indbygget WiFi, mens Seeed Pi HAT sælges for mindre end $ 10, har indbyggede lysdioder og en brugerknap. Pi HAT er forlængelseskort, der sluttes direkte til Raspberry Pi, hvilket gør en meget enkel montageprocedure. Enhver Pi-version ville være mere end i stand til jobbet, og den valgte mikrofon kan erstattes, selvom jeg brugte de indbyggede lysdioder i denne build.
Det er let at kontrollere, om en radio eller fjernsyn ville fungere for dig. Det vil mere sandsynligt blive beskrevet som "DLNA -aktiveret" eller lignende. Dette bruger uPNP til at kommunikere. På en Windows -pc skal du vælge en mp3 -fil og "Cast til enhed". Hvis din enhed vises, og du kan afspille filen, er du klar til at gå.
Jeg opdelte softwaren i 2 python -scripts, checkFreezer.py for at kontrollere, om en fryser -alarm er blevet udløst, og raiseAlarm.py for at slå alarm. Disse scripts kunne udvikles og testes separat og kan let tilpasses eller erstattes af forskellige mikrofoner til alarmopkaldsmetoder.
Forbrugsvarer
- Software -https://github.com/wapringle/freezer-alarm
- Hindbær PI Zero W
- Set ReSpeaker 2-Mics Pi HAT
- uPNP -aktiveret radio
Trin 1: Design af detektoren
Når fryserdøren efterlades åben, og temperaturen stiger, giver fryseren en hørbar "bip bip bip" alarm. Ligesom de fleste elektroniske bip er dette en enkelt frekvens. Ideen er at prøve lydindgangen, udføre en Fast Fourier Transform (FFT), som omdanner et tidsbaseret signal til et frekvensbaseret signal, med andre ord bryder et signal ned for at vise de forskellige frekvenser i signalet. Se Instructable Raspberry Pi Spectrum Analyzer With RGB LED Strip Vi kan lede efter en top ved summerfrekvensen og udløse alarmen, når summeren har været aktiv i et stykke tid.
Denne detektor har 2 krav
- Det skal registrere summeren, selv i nærværelse af omgivende støj (eliminere falsk negativ)
- Det bør ikke udløses af omgivende støj (eliminer falsk positivt)
Jeg besluttede at køre en Hoover i bryggerset ville være en god test. Det bør ikke udløse alarmen, og alarmen skal udløses, når fryseren summer går og Hoover kører.
Trin 2: Konfiguration af detektoren
![Konfiguration af detektoren Konfiguration af detektoren](https://i.howwhatproduce.com/images/010/image-27627-2-j.webp)
![Konfiguration af detektoren Konfiguration af detektoren](https://i.howwhatproduce.com/images/010/image-27627-3-j.webp)
![Konfiguration af detektoren Konfiguration af detektoren](https://i.howwhatproduce.com/images/010/image-27627-4-j.webp)
Med min telefon tog jeg lydprøver som WAV -filer af fryseren summer alene, med en støjende baggrund og med Hoover kørende. Jeg tilpassede koden til at udføre FFT fra posten Læsning af lydstrøm til FFT (når du er i tvivl, plagarise) og brugte scriptet fourierTest.py til at plotte rå og Fourier -transformerede prøver af summeren i stille, støjende og meget støjende baggrunde. Spidsen i niveau ved frekvens 645 er udtalt i det første plot og er stadig signifikant med en meget støjende baggrund.
Trin 3: Konstruktion af detektoren
Montering af detektoren
Meget simpelt. Pi W leveres med indbygget Wifi, og hatten tilsluttes direkte til GPIO-benene på Pi. Konfiguration af softwaren kræver trinene
- Installer raspbian distro på Raspberry Pi. Der er masser af guider om dette, der kan forklare det meget bedre, at jeg kan.
- Konfigurer Wifi (ditto ovenfor)
- Den skal have alsa -pakken installeret
$ sudo apt-get install libasound-dev
$ pip installer pyalsaaudio
- Tilslut HAT til hindbær PI
- Følg instruktionerne på det viste websted for at installere driverne til HAT.
- Kør den viste diagnose for at kontrollere, at HAT'en fungerer og er korrekt konfigureret.
Detektorprogrammet læser en datablok som en prøve fra mikrofonen, laver FFT og beslutter, om det har detekteret summeren i prøven eller ej. Jeg forsøgte at gøre blokken så lang som muligt ved at reducere lydprøvehastigheden til 16 kHz og bruge den største buffer, læseren ville acceptere. Jeg var bekymret for, at FFT -beregningen kunne få frames til at falde, men det skete ikke.
Efter at have forudindspillede prøver på min telefon gjorde det meget lettere at bygge detektoren, da jeg kunne lave den komplette opbygning på bænken, før jeg testede in situ ved fryseren.
Træning af detektoren
Detektoren blev trænet ved at scanne hver prøve, når WAV -optagelsen af summeren blev afspillet til detektoren. Programmet udsender positionen i FFT -spektret med det højeste effektniveau (spidsfrekvensen) sammen med niveauet for denne spidsfrekvens. Det var en enkel sag at finde summerfrekvensen og det effektniveau, den udsendte.
Der er 2 måder at registrere, om der var et bip:-
- Var summerfrekvensen topfrekvensen i prøven?
- eller var effektniveauet ved summerfrekvensen over en tærskel?
Begge metoder fungerede i en stille prøve, men den anden var bedre med en støjende prøve, så jeg brugte det.
Nogle gange dækkede en prøve et bip, nogle gange var det mellem bip, og efter hvert 3. bip var der en lang pause før de næste bip. For pålideligt at opdage, at der var forekommet et sæt bip, havde hver prøve en upvote, hvis der blev opdaget et bip og en downvote, hvis ikke. Disse stemmer blev vægtet for at angive en optælling, der ville støde op med en bip -prøve og langsomt falde ind imellem tidspunkterne. Når tællingen nåede en tærskel, kunne alarmen udløses. Hvis tilfældig støj blev detekteret som en bip -prøve, ville tællingen falde tilbage til nul.
Vi har derefter brug for vægte til upvote og downvote sammen med tærsklen. Dette gjorde jeg med trial and error over et antal prøver. Jeg behøvede ikke at bestemme den faktiske summerfrekvens, jeg ledte bare efter den standout -frekvens i fft -spektret.
Trin 4: Afsendelse af en besked til radioen
Alarmen blev foretaget med et separat script. Det er jobbet at tænde for radioen, hvis det er nødvendigt, bryde ind i hvad radioen afspiller og gentage alarmmeddelelsen, indtil radioen slukkes igen. Jeg var nødt til at reverse reverse uPnP -protokollen, da jeg havde store problemer med at få pålidelige oplysninger eller eksempler. Et par referencer, jeg fandt nyttige var
- www.electricmonk.nl/log/2016/07/05/exploring-upnp-with-python/ Dette har et godt overblik over, hvordan det hele hænger sammen
- developer.sony.com/develop/audio-control-api/get-started/browse-dlna-file.
- stackoverflow.com/questions/28422609/how-to-send-setavtransporturi-using-upnp-c/35819973
Jeg brugte Wireshark, der kørte på en Windows -pc, til at fjerne markeringen af meddelelsessekvensen, når jeg spillede en prøvefil fra min pc på min radio, og efter lidt rodning fik jeg en kommandosekvens, der fungerede. Dette er
- Start en popup -webserver for at vise advarselsmeddelelsen, når radioen beder om det
- Indstil lydstyrken til LOUD (advarselsmeddelelsen skal tiltrække alles opmærksomhed)
- Videregiv uri -meddelelsen til radioen
- Afstem radioen, indtil den aktuelle tilstand er "STOPPET"
- Få radioen til at "PLAY" uri'en
- Gentag de sidste 2 trin, indtil den aktuelle tilstand er "NO MEDIA PRESENT", hvilket betyder, at alarmen er blevet kvitteret ved at slukke for radioen
- Luk endelig webserveren ned og afslut.
Dette er scriptet raiseAlarm.py
Trin 5: Gør det selv
![Gør det selv Gør det selv](https://i.howwhatproduce.com/images/010/image-27627-5-j.webp)
"Detektor" og "alarm alarm" -modellen er ikke kun til frysere, den kan være nyttig hvor som helst, hvor en automatisk alarm skal videresendes via et andet medie. Hvis dette ville være af interesse, er du velkommen til at prøve.
Opsætning af PI Zero W, inklusive mikrofonen
- Saml hardware som i trin 3
- Download fryser-alarm-scripts fra denne Instructable eller fra git-depotet, der indeholder et par bonusspor
$ git-klon
Du skal også installere softwaren for at bruge de indbyggede APA102-lysdioder. Jeg har inkluderet en kopi af apa102.py i git -arbejdskataloget
Uddannelse af din detektor
Jeg har tilføjet en træningsmulighed til checkFreezer.py -scriptet. Dette kører det enkeltstående og udskriver en diagnostik til kommandolinjen, men først skal du registrere nogle prøver af alarmen i et roligt miljø som WAV-filer og gøre det samme i en støjende. For at fuldføre træningen skal du først finde FFT -frekvensen med det højeste niveau ("topfrekvensen") og derefter et tærskelniveau for denne frekvens for at indstille en trigger. For at gøre dette skal du køre script checkFreezer i træningstilstand med '-t' og afspille alarmen.
$ python checkFreezer.py -t
Dette kører scriptet i træningstilstand. Den udskriver "klar", når den set HAT er blevet initialiseret, og LED'en bliver grøn, derefter en linje for hver ikke-triviel støj, den hører, f.eks.
$ python checkFreezer.py -t
Klar spidsfrekvens 55 udløser niveau 1 udløst? Falsk spidsfrekvens 645 udløser niveau 484 udløst? Falsk spidsfrekvens 645 udløser niveau 380 udløst? Falsk
Spidsfrekvensen er i dette tilfælde 645, og det bliver triggerfrekvensen. Nu for at få triggerniveauet skal du genstarte checkFreezer og indstille triggeren
$ python checkFreezer.py -t --trigger = 645
Klar spidsfrekvens 645 udløser niveau 1273 udløst? Falsk spidsfrekvens 645 udløser niveau 653 udløst? Falsk spidsfrekvens 645 udløser niveau 641 udløst? Falsk spidsfrekvens 645 udløser niveau 616 udløst? Falsk
Endelig har vi brug for en trigger -tærskel, der udløses, når der registreres et bip, men ignorerer støj, f.eks
$ python checkFreezer.py -t --trigger = 645 --grænse = 500
Klar spidsfrekvens 645 udløser niveau 581 udløst? Ægte spidsfrekvens 645 udløser niveau 798 udløst? Ægte spidsfrekvens 645 udløser niveau 521 udløst? Sand
Test dette mod et par støjende prøver, og du bør være i stand til at fastsætte en tærskelværdi, der skelner mellem lyden af blæser og omgivende støj. Du bør også se LED'en blive rød, når bipoptagelsen afspilles i få sekunder. Hvis det er for hurtigt/langsomt at komme på, rediger indstillingerne i scriptet
Tilslutning til radioen
For at konfigurere scripts til din egen opsætning skal du finde den IP -adresse og portnummer, som din enhed bruger til UPnP -tjenester. Radioopsætningen bør levere disse. Standardportnummeret er 8080, og det ville være en overraskelse, hvis det er anderledes.
Jeg har leveret en standardalarmmeddelelse, fryser.mp3. Erstat gerne med din egen besked.
Rediger scriptet med de relevante IP -adresser, og kør scriptet.
$ python raiseAlarm.py
Hvis alt er godt, vil den høje og irriterende alarmmeddelelse sprænge ud af din radio, indtil radioen slukkes, og alarmen annulleres.
Mens scriptet kører, kører det en mini -webserver til at betjene alarmen mp3 til radioen, muligvis et sikkerhedsproblem, men det er kun aktivt, mens alarmmeddelelsen afspilles.
Går live
Fjern ‘-t’ træningsflaget, og kør checkFreezer med dine egne værdier, f.eks
$ python checkFreezer.py --trigger = 645 --grænse = 200
For at få det til at starte ved genstart skal du tilføje til /etc/rc.local, cd/home/pi/fryser-alarm
(python checkFreezer.py --trigger = 645 --threshold = 200> /tmp /fryser 2> /tmp /freezererror &) og afslut 0
Den grønne LED lyser, og du er klar til handling. Afspil optagelsen af dit alarmbip, og efter et par sekunder lyser LED'en rødt, og alarmmeddelelsen afspilles på din radio.
Endelig
Placer PI'en et sted tæt ved fryseren, uden for vejen og ved en strømforsyning. Tænd og den grønne LED skal lyse. Test at udløse alarmen ved at lade døren stå åben. Lyset skal blive rødt, og alarmmeddelelsen afspilles på radioen.
Succes !! Du har gjort det. Forkæl dig selv med en lang drink med is fra fryseren, men glem ikke at lukke fryserdøren!
Anbefalede:
Køleskab/fryser Fix and Upgrade (Bosch KSV29630): 5 trin
![Køleskab/fryser Fix and Upgrade (Bosch KSV29630): 5 trin Køleskab/fryser Fix and Upgrade (Bosch KSV29630): 5 trin](https://i.howwhatproduce.com/images/009/image-24850-j.webp)
Køleskab/fryser Fix and Upgrade (Bosch KSV29630): Reparation & Opgrader frem for Udskift & Symptomer: Når køleskabet forsøger at fyre kompressoren op, virker den nogle gange, nogle gange fejler den, mens den grønne temperaturindikator blinker. Det kan lykkes at starte kompressoren, men efter
Lommelygte Fryser: 11 trin
![Lommelygte Fryser: 11 trin Lommelygte Fryser: 11 trin](https://i.howwhatproduce.com/images/005/image-12246-2-j.webp)
Lommelygtefryser: En bærbar lille fryser lavet af gamle lommelygter, der holder ting frosne, såsom isterninger og små snacks til bærbar brug, kan også bruges som en ispose
Hjemmelavet køleskab med smart kontrolfunktion (fryser): 11 trin (med billeder)
![Hjemmelavet køleskab med smart kontrolfunktion (fryser): 11 trin (med billeder) Hjemmelavet køleskab med smart kontrolfunktion (fryser): 11 trin (med billeder)](https://i.howwhatproduce.com/images/001/image-45-62-j.webp)
Hjemmelavet køleskab med smart kontrolfunktion (fryser): Hej venner, dette er del 2 af DIY -køleskab baseret på peltier -modul, i denne del bruger vi 2 peltier -modul i stedet for 1, vi bruger også en termisk controller til at indstille ønsket temperatur for at spare lidt energi
Strømafbrydelsesalarm til fryser: 6 trin (med billeder)
![Strømafbrydelsesalarm til fryser: 6 trin (med billeder) Strømafbrydelsesalarm til fryser: 6 trin (med billeder)](https://i.howwhatproduce.com/images/003/image-8327-30-j.webp)
Strømafbrydelsesalarm til fryser: Med en fryser i kælderen og risiko for rådent kød på grund af en sikring, der er gået, har jeg designet dette enkle alarmkredsløb, så vores naboer bliver advaret om at fikse sikringen. Som det kan ses på billedet, klokker dørklokken siden
Temperaturkontrol til fryser eller køleskab: 7 trin
![Temperaturkontrol til fryser eller køleskab: 7 trin Temperaturkontrol til fryser eller køleskab: 7 trin](https://i.howwhatproduce.com/images/004/image-9540-77-j.webp)
Temperaturkontrol til fryser eller køleskab: Denne instruktion dækker integrationen af en Johnson Controls temperaturkontrol i en forlængerledning med kontakt og stikkontakt til styring af en fryser. Til gæring af øl er en kummefryser en fantastisk platform, men fabrikken fortsætter