Indholdsfortegnelse:

Gem mit barn: det smarte sæde, der sender tekstbeskeder, hvis du glemmer barnet i bilen: 8 trin
Gem mit barn: det smarte sæde, der sender tekstbeskeder, hvis du glemmer barnet i bilen: 8 trin

Video: Gem mit barn: det smarte sæde, der sender tekstbeskeder, hvis du glemmer barnet i bilen: 8 trin

Video: Gem mit barn: det smarte sæde, der sender tekstbeskeder, hvis du glemmer barnet i bilen: 8 trin
Video: Hvordan reagerer børn, når man fortæller, at der ikke er råd til at holde jul? 2024, Juli
Anonim
Gem mit barn: det smarte sæde, der sender tekstbeskeder, hvis du glemmer barnet i bilen
Gem mit barn: det smarte sæde, der sender tekstbeskeder, hvis du glemmer barnet i bilen

Den er installeret i biler, og takket være en detektor placeret på barnesædet advarer den os - via sms eller telefonopkald - hvis vi slipper uden at tage barnet med

Trin 1: Introdution

Indføring
Indføring

Blandt de mest sørgelige (og i hvert fald sjældne) ulykker i nyhederne er der forældres, der - på grund af raskhed, helbredsproblemer eller manglende opmærksomhed - stiger ud af bilen og "glemmer" deres børn på barnesædet i varme eller kolde omgivelser. Sikkert ulykker kunne have været undgået, hvis nogen eller noget mindede føreren om, at han efterlod barnet i bilen; utvivlsomt kan teknologi hjælpe og tilbyde løsninger, der skal implementeres i køretøjet af producenten eller af typen "eftermontering", f.eks. projektet her beskrevet her. Det er en enhed baseret på en GSM -mobiltelefon, der registrerer nogle parametre, på grundlag af hvilke førerens adfærd evalueres og de nødvendige handlinger udføres: især sendes en sms til telefonens driver, der slipper væk fra bilen. Enheden er installeret i bilen og drives af sidstnævntes elektriske system; det verificerer, at barnet er på sit sæde (ved hjælp af en sensor, der er sammensat af nogle lavprofilsknapper, monteret på et brødbræt, der skal placeres under barnesædet): hvis det viser sig, at der trykkes på knapperne (derfor er barnet sat), vil kredsløbet også verificere, at køretøjet er standset (ved hjælp af et triaxialt accelerometer), hvis det er tilfældet, og når den indstillede tid er gået, sender det en alarm -sms -besked til chaufførens telefon og vil udsende en summer.

Desuden foretager det et opkald til det samme telefonnummer og muligvis til andre, så forældre, venner og andre mennesker kan ringe til chaufføren for at kontrollere, hvad der sker. Selvom anvendelsen af valg er den førnævnte, er projektet blevet oprettet i vores laboratorium som en platform, der kan tilpasses til de to andre formål. Den første er en fejlstrømsindretning til ældre og skrøbelige mennesker, mens den anden er en fjernalarm, der fungerer i tilfælde af strømafbrydelser (og nyttig til at undgå, at fryseren afrimer, og at maden deri indeholder farlige).

Trin 2: Gem mit barns kredsløbsdiagram

Gem mit barns kredsløbsdiagram
Gem mit barns kredsløbsdiagram

Lad os derfor se, hvad det handler om, og analysere det elektriske diagram over kredsløbet, hvis ledelse er blevet betroet en PIC18F46K20-I/PT-mikrokontroller af Microchip, der er programmeret via vores MF1361-firmware, så den læser status for input (som barnestolets vægtsensor og en mulig detektionsenhed er tilsluttet) og indhenter signalerne fra (U5) accelerometeret og taler til (U4) ekstern EEPROM (indeholdende indstillingerne for systemets funktion) og grænseflader til en mulig (U6) radiomodtager og administrerer et (GSM) mobilmodul.

Bemærk, at kredsløbet overvejer elementer, der kan være monteret eller ej, da vi opfattede det som en udvidelig udviklingsplatform, for dem af jer, der ønskede at oprette deres egen applikation, startende fra basisfirmwaren. Lad os starte med at beskrive mikrokontrolleren, at-efter power-on-reset-initialiserer linjerne RB1 og RB2 som input forsynet med en intern pull-up-modstand, der er nødvendig for at kunne læse nogle normalt åbne kontakter, der er forbundet til IN1 og IN2; D2- og D3 -dioderne beskytter mikrokontrolleren i det tilfælde, hvor en spænding over en af PIC -strømkilden fejlagtigt påføres ved indgangene. IN1 bruges i øjeblikket til barnesædet vægtsensor, mens IN2 er tilgængelig til yderligere mulige kontroller: vi kan f.eks. Bruge det til detektering af åbning og lukning af dørene via læsning af spændingen på høflighedslysene; vedrørende dette, bedes du overveje, at i nogle moderne biler styres loftslysene (i PWM) af en forbindelsesboks (for at sikre en gradvis til- og frakobling), mens vi bare skal aflæse lysets tilstand øjeblikkeligt tændt og slukket (ellers vil aflæsningen være unormal); derefter bliver vi nødt til at filtrere PWM ved hjælp af en kondensator placeret mellem mikrokontrollerens input og jord (efter dioden). En anden indgang er RB3, der stadig leveres med en intern pull-up-modstand, der er nødvendig for at kunne læse P1-knappen (der bruges til at tvinge mobilmodulet til, som normalt er slukket). Stadig under initialiseringen af I/Os indstilles RB4 som et input med det formål at aflæse - ved hjælp af spændingsdeleren R1 og R2 - starten af kredsløbet, udført af dobbeltafvigeren SW1b; spændingsdeleren er nødvendig, da mikrokontrolleren tolererer en spænding, der er lavere end den indgang, der findes på strømstikket. RB4's funktion er forbeholdt fremtidige udviklinger, det forklares i betragtning af, at kredsløbet kan drives både af en netværksforsyning via USB -stik og ved hjælp af et litiumbatteri, der er forbundet til udgangen fra den dedikerede ladningsregulator.

Trin 3: Kredsløbsdiagram

Kredsløbsdiagram
Kredsløbsdiagram

Når SW1 flyttes på de kontakter, der er markeret med et kryds i kredsløbsdiagrammet, isoleres resten af kredsløbet fra batteriet og slukkes derfor; hvis der på strømforsyningens (USB) indgang er tilsluttet en 5 volt spænding, vil kun opladerfasen fungere (den drives via D1 -dioden, der beskytter den mod polaritetsinversioner). Ved at flytte SW1 til den tændte position, bringer SW1b indgangsspændingen til RB4 -linjen, og SW1a driver mikrokontrolleren og hvad ikke mere ved hjælp af spændingen i enderne af batteriet (ca. 4V ved fuld opladning) ud over at tænde step-up switch-omformeren signeret som U3, der genererer den 5V, der er nødvendig for resten af kredsløbet.

Hvad angår funktionen af kredsløbet drevet via USB, bringer SWb indgangsspændingen til RB4, som - ved at implementere dets aflæsning i firmwaren - gør det muligt at forstå, om netværkets strømkilde er fundet; en sådan funktion er nyttig med det formål at oprette anti-blackout-alarmen. På den anden side, under batteridrift, gør RB4 det muligt for mikrokontrolleren at vide det og udføre mulige strategier til at reducere energiforbruget (f.eks. Ved at reducere de intervaller, hvor mobiltelefonen tændes). RB4 -linjen er den eneste måde, firmware skal forstå, når kredsløbet er batteridrevet, da hvis U1 modtager strøm, selvom RB4 er på nul volt, betyder det, at kredsløbet er batteridrevet, mens hvis der er en anden strømkilde, det vil fungere takket være spændingen trukket fra USB. Lad os nu vende tilbage til I/Os-initialiseringen og se, at RC0-, RE1-, RE2- og RA7-linierne initialiseres som input, at de er forsynet med en ekstern pull-up-modstand, da vi ikke kan aktivere den internt for sådanne linjer; de vil være nødvendige for at læse kanalerne i hybridmodtageren, der alligevel er et tilbehør, forbeholdt fremtidige udviklinger. En sådan modtager kan vise sig nyttig til hjemmebrug som en fjernalarm, for dem, der er svækket i deres bevægelse eller tvunget på deres seng; ved at registrere variationen ved RX -radioens udgange, vil den foretage et telefonopkald for at bede om hjælp, eller den vil sende en lignende SMS. Dette er en mulig applikation, men der er andre; alligevel skal det implementeres i firmwaren. RC3, RC4, RB0 og RD4 er de linjer, der er blevet tildelt U4 -accelerometeret, mere specifikt er et breakout -kort baseret på MMA8452 -triaksialaccelerometeret af NXP: RC3 er en udgang, og den er nødvendig for at sende et kloksignal, RC4 er en tovejs I/O, og den driver SDA, mens de to andre ben er input, der er forbeholdt aflæsningen af afbrydelserne INT1 og INT2, der genereres af accelerometeret, når visse begivenheder opstår. RA1-, RA2- og RA0 -linjerne er stadig input, men de er blevet multiplekset på A/D -konverteren og bruges til at læse U5 -triaksialaccelerometeret, der også er på breakout -kortet, og som er baseret på MMA7361 accelerometer -modulet; en sådan komponent er tænkt som et alternativ til U4 (det er den, der i øjeblikket forventes af vores firmware) og leverer oplysninger om accelerationer, der registreres på X-, Y-, Z -akserne ved hjælp af analoge spændinger, der kommer ud fra de tilsvarende linjer. I dette tilfælde er firmwaren forenklet, da MMA8452s administrationsrutine ikke er nødvendig (det kræver læsning af registre, implementering af I²C-Bus-protokollen og så videre). Stadig om ADC'er bruges An0 -linjen til at aflæse spændingsniveauet, der leveres af litiumbatteriet, der driver mikrokontrolleren og resten af kredsløbet (med undtagelse af radiomodtageren); hvis firmwaren overvejer det, giver det mulighed for at lukke hele, når batteriet er ved at være lavt, eller når det er under en vis spændingstærskel. RC2 -linien initialiseres som en output og genererer en række digitale impulser, når den piezoelektriske summer BUZ1 skal udsende den akustiske advarsel, der er angivet af firmwaren; andre to udgange er RD6 og RD7, der er blevet betroet opgaven med at tænde LD1 og LD2 LED'erne.

Trin 4: PCB -kredsløbsdiagram

PCB -kredsløbsdiagram
PCB -kredsløbsdiagram

Lad os afslutte analysen af I/Os med RD0, RD2, RD3, RC5, der sammen med UARTs RX'er og TX'er fra grænsefladen mod SIM800C -modulet fra SIMCom; i kredsløbet sidstnævnte er monteret på et dedikeret kort, der skal indsættes i det specifikke stik, der findes på printkortet. Modulet udveksler data vedrørende de sendte meddelelser (alarmerne) og de modtagne (de konfigurationsmæssige) med mikrokontrolleren via PIC'ens UART, der også er nødvendig for kommandoerne til mobiltelefonens indstillinger; resten af linjerne vedrører nogle statssignaler: RD2 læser output for "signal" LED, der gentages af LD4, mens RD3 læser ringindikatoren, det vil sige mobiltelefonkontakten, der leverer det høje logiske niveau, når en telefonopkald modtages. RD0 -linjen gør det muligt at nulstille modulet, og RC5 omhandler til- og frakobling; reset og ON/OFF implementeres af kredsløbet på kortet, som SIM800C er monteret på.

Kortet, hvis kredsløbsdiagram er blevet vist-sammen med pinout af indsættelsesstikket-i fig. 1, indeholder SIM800C mobiltelefonen, et MMX 90 ° antennestik og en 2 mm han 2 × 10 pin-strip, hvor strømmen kilde, tændingsledningen (PWR), alle signalerne og de serielle kommunikationslinjer fra og mod GSM -modulet, som vist i fig. 1.

Trin 5: PCB -kredsløbsdiagram

PCB -kredsløbsdiagram
PCB -kredsløbsdiagram

Da mikrokontrollerens I/Os er defineret, kan vi se på de to sektioner, der er involveret i strømforsyningen til kredsløbet: opladeren og DC/DC-trinomformeren.

Opladeren er baseret på MCP73831T integreret kredsløb (U2), fremstillet af Microchip; som input accepterer den typisk 5V (det tolerable område er mellem 3,75V og 6V), der kommer i dette kredsløb fra USB -stikket; den leverer-ved udgangen-den nødvendige strøm for at oplade lithiumion- eller lithiumpolymer (Li-Po) elementer og leverer op til 550mA. Et batteri (der skal tilsluttes +/- BAT-kontakterne) kan have en teoretisk ubegrænset kapacitet, da det højst ville blive opladet i meget lang tid, men overvej at ved hjælp af en 550mA strøm er et 550 mAh element opkræves på en time; da vi valgte en 500 mAh celle, vil den blive opladet på mindre end en time. Det integrerede kredsløb fungerer i den typiske konfiguration, hvor LD3 -lysdioden drives af STAT -udgangen, der bringes til det lave logiske niveau under opladning, mens den forbliver på et højt logisk niveau, når den stopper opladningen; det samme bringes til en høj impedans (åben), når MCP73831T lukkes, eller når det viser sig, at der ikke er tilsluttet et batteri til VB -udgangen. VB (pin 3) er output, der bruges til litiumbatteriet. Det integrerede kredsløb udfører opladningen med konstant strøm og spænding. Ladestrømmen (Ireg) indstilles ved hjælp af en modstand forbundet til stiften 5 (i vores tilfælde er det R6); dens værdi er forbundet til modstanden ved hjælp af følgende forhold:

Ireg = 1.000/R

hvor R -værdien udtrykkes i ohm, hvis Ireg -strømmen udtrykkes i A. For eksempel opnås der med 4,7 kohm en 212 mA -begrænsning, mens R er 2,2 kohm, strømmen er ca. 454 mA værd. hvis stiften 5 åbnes, bringes det integrerede kredsløb til inaktiv tilstand, og den absorberer kun 2 µA (nedlukning); stiften kan derfor bruges som aktivering. Lad os fuldføre beskrivelsen af kredsløbsdiagrammet med trin-up-konverteren, der trækker 5 stabiliserede volt fra batterispændingen; scenen er baseret på MCP1640BT-I/CHY integreret kredsløb, det er en synkron boostregulator. Der er en PWM -generator inde i den, der driver en transistor, hvis kollektor periodisk lukker L1 -spolen til jorden ved hjælp af SW -stiften, den oplader den og lader den frigive den akkumulerede energi under pauserne - ved hjælp af stiften 5 - til filterkondensatorerne C2, C3, C4, C7 og C9. Diodeklemmen, der beskytter den interne transistor, er også en intern, hvilket reducerer de nødvendige eksterne komponenter til et minimum: faktisk er der filterkondensatorer mellem Vout og jord, L1 -induktoren og den resistive divider mellem Vout og FB, der handler med genaktivering af PWM -generatoren via den interne fejlforstærker ved at stabilisere udgangsspændingen til den ønskede værdi. Ved at ændre forholdet mellem R7 og R8 er det derfor muligt at ændre spændingen, der leveres af Vout -stiften, men det er ikke i vores interesse at gøre det.

Trin 6: Indstillinger og kommandoer til Save My Child

Indstillinger og kommandoer til Gem mit barn
Indstillinger og kommandoer til Gem mit barn
Indstillinger og kommandoer til Gem mit barn
Indstillinger og kommandoer til Gem mit barn

Når installationen er gennemført, skal du konfigurere enheden; en sådan handling udføres via SMS, indsæt derfor et operationelt SIM i SIM-holderen på 7100-FT1308M-modulet, og noter det tilsvarende telefonnummer. Giv derefter alle de nødvendige kommandoer via en mobiltelefon: de er alle vist i tabel 1.

Blandt de første ting, der skal gøres, er konfigurationen af telefonnumre på listen over dem, som systemet vil ringe til, eller som alarm -SMS'erne vil blive sendt til, i tilfælde af et barn på barnesædet, der muligvis har været glemt forladt”. For at lette proceduren, da systemet er beskyttet af adgangskoden som for denne operation, er der blevet designet en let opsætningstilstand: i løbet af den første gang det startes, gemmer systemet det første telefonnummer, der ringer til det, og betragter det som det første nummer på listen. Dette nummer vil være i stand til at foretage ændringer, selv uden adgangskoder; alligevel kan kommandoerne sendes af en hvilken som helst telefon, så længe den tilsvarende SMS indeholder adgangskoden, og selvom vi - for at fremskynde nogle kommandoer - tillod, at de, der blev sendt af telefonnumrene på listen, kan blive givet uden behov for adgangskoder. Hvad angår kommandoerne vedrørende tilføjelse og sletning af telefonnumre fra listen, gør anmodningen om en adgangskode, at listen kun administreres af en person, der er i stand til at gøre det. Lad os nu gå videre til beskrivelsen af kommandoerne og til den tilsvarende syntaks med den forudsætning, at kredsløbet også accepterer SMS -beskeder, der indeholder mere end en kommando; i så fald skal kommandoerne adskilles fra den følgende ved hjælp af et komma. Den første undersøgte kommando er den, der ændrer adgangskoden, den består af en SMS som PWDxxxxx; pwd, hvor den nye adgangskode (sammensat af fem tal) skal skrives i stedet for xxxxx, mens pwd angiver den aktuelle adgangskode. Standardadgangskoden er 12345.

Hukommelsen af et af de otte numre, der er aktiveret til at sende konfigurationskommandoer, udføres ved at sende en SMS, hvis tekst indeholder NUMx+nnnnnnnnnnnnn; pwd -tekst, hvor positionen (hvilket nummer gemmes) skal skrives i stedet for x, telefonnummeret går i stedet for ns, mens pwd er det aktuelle kodeord. Det hele skal skrives uden mellemrum. Tal, der er 19 cifre lange, er tilladt, mens + erstatter 00 som det internationale opkaldsprefiks på mobiltelefonerne. For eksempel for at tilføje telefonnummeret 00398911512 i den tredje position skal du sende en kommando som denne: NUM3+398911512; pwd. Adgangskoden er kun nødvendig, når du forsøger at gemme et telefonnummer i en position, der allerede er optaget af et andet; på den anden side, hvis du skal tilføje et nummer i en tom position, skal du bare sende en SMS med følgende tekst: NUMx+nnnnnnnnnnnnn. Sletningen af et nummer udføres via en SMS, der indeholder NUMx; pwd tekst; i stedet for x skal du skrive placeringen af telefonnummeret, der skal slettes, mens pwd er det sædvanlige kodeord. For eksempel for at slette det fjerde telefonnummer fra listen udenad, er en meddelelse indeholdende NUM4; pwd -tekst nødvendig. For at anmode om listen over telefonnummeret, der er gemt i kredsløbet, skal du sende en SMS, der indeholder følgende tekst: NUM?; Pwd. Nævnet svarer på det telefonnummer, som afhøret kommer fra. Det er muligt at kende kvaliteten af GSM -signalet ved at sende QUAL? kommando; systemet vil svare med en SMS, der indeholder den aktuelle situation. Meddelelsen sendes til den telefon, der sendte kommandoen. Lad os gå videre til input -tilstand og konfigurationsmeddelelser: LIV? gør det muligt at kende input -tilstanden; IN2 kan fungere både på et spændingsniveau (det indstilles via LIV2: b, der udløser alarmen, når indgangen er åben) og i en variant (den indstilles via LIV: v). Hvad angår input, er det muligt at indstille en hæmningstid via kommandoen INI1: mm (interdiktionsminutterne går i stedet for mm) for IN1 og via INI2: mm for IN2; inhiberingen er nødvendig for at undgå at sende kontinuerlige advarsler, hvis input - i niveautilstand - forbliver åben. For at definere, hvilke numre på listen der skal modtage telefonopkald, skal du sende meddelelsen VOCxxxxxxxx: ON; pwd med de samme regler, der bruges til administration af telefonnumre, som SMS -beskeder skal sendes til. Svarbeskeden ligner meget: "Nummer udenad: Posx V+nnnnnnnnnnnn, Posy V+nnnnnnnnnnn." S'en for SMS er blevet erstattet af stemme V. Selv i dette tilfælde er der to forskellige kommandoer til deaktivering: SMSxxxxxxxx: OFF; pwd deaktiverer afsendelse af meddelelser og VOCxxxxxxxx: OFF; pwd deaktiverer muligheden for at foretage telefonopkald. X'erne repræsenterer positionerne for de tal, der ikke må modtage alarmadvarslerne. Vi er nødt til at præcisere noget om kommandoen til indstilling af telefonnumre, der skal ringes til, eller som skal sendes alarm -SMS'er til: i henhold til standardindstillingerne for firmwaren og efter hver total nulstilling dirigerer systemet både opkaldene og SMS'erne beskeder, til alle de lagrede numre. For at udelade nogle af dem er det derfor nødvendigt at sende deaktiveringskommandoer: SMSxxxxxxxx: OFF; pwd eller VOCxxxxxxxx: OFF; pwd og angive de positioner, der skal udelades. Systemet sender en SMS til det telefonnummer, der indtager førstepladsen på listen, hver gang det er strømforsynet. En sådan funktion kan deaktiveres/aktiveres via AVV0 (deaktiver) og AVV1 (aktiver) kommandoer; standardteksten er SYSTEMSTART. Lad os nu gå videre til kommandoerne, der gør det muligt at sende eller overskrive SMS -meddelelser, der skal sendes: syntaksen er som TINn: xxxxxxxxx, hvor n er nummeret på det input, meddelelsen henviser til, mens xs svarer til tekstmeddelelsen, der ikke må overstige en længde på 100 tegn. En væsentlig indstilling er den, der angår IN1 -observationstiden, der udføres via kommandoen OSS1: ss, hvor tiden (mellem 0 og 59 sekunder) går i stedet for ss: den angiver til kredsløbet, hvor meget gang knapperne skal forblive trykket fra det tidspunkt, det er blevet registreret, at bilen er standset og før alarmen genereres. Forsinkelsen er af afgørende betydning for at undgå, at der opstår en falsk alarm, når du standser i kort tid. Under dette synspunkt venter firmwaren, når kredsløbet er tændt (når instrumentbrættet er tændt), et tidspunkt, der er det dobbelte af det indstillede, for at gøre det muligt for føreren at udføre operationer som f.eks. Lukning af garageporten eller fastgørelse af sikkerhedsseler osv. En observationstid for IN2 kan også defineres med de samme procedurer ved at give kommandoen OSS2: ss; det er også muligt at anmode om de aktuelt indstillede tider via SMS (OSS? kommando). Lad os udfylde denne oversigt over kommandoerne med den, der returnerer standardindstillingerne: det er RES; pwd. Svarbeskeden er "Nulstil". Resten af kommandoerne er blevet beskrevet i tabel 1.

Trin 7: Komponentliste

C1, C8, C10: 1 µF keramisk kondensator (0805)

C2, C6, C7, C9: 100 nF keramisk kondensator (0805)

C3, C4: 470 µF 6,3 VL tantal kondensator (D)

C5: 4, 7 µF 6,3 VL tantal kondensator (A)

R1, R2, R4: 10 kohm (0805)

R3, R12: 1 kohm (0805)

R5: 470 ohm (0805) R6: 3,3 kohm (0805)

R7: 470 kohm (0805) 1%

R8: 150 kohm (0805) 1%

R9 ÷ R11: 470 ohm (0805)

R13 ÷ R16: 10 kohm (0805)

R17: -

U1: PIC18F46K20-I/PT (MF1361)

U2: MCP73831T

U3: MCP1640BT-I/CHY

U4: Breakout board torsk. 2846-MMA8452

U5: Breakout board torsk. 7300-MMA7361 (ubrugt)

P1: 90 ° mikrokontakt

P2: -

LD1: 3 mm gul LED

LD2, LD4: 3 mm grønne lysdioder

LD5: - LD3: 3 mm rød LED

D1 ÷ D3: MBRA140T3G

D4: MMSD4148

DZ1: 2,7V 500mW Zener -diode

L1: 4,7 µH 770mA trådviklet induktor

BUZ1: summer uden elektronik

8-vejs kvindelig strip-splitter

9-vejs kvindelig strip-splitter

6-vejs han-strip-splitter

2 mm tonehøjde 2 × 10 hunstik

2,54 pitch 2-vejs terminal (3 stk.)

2 mm pitch 2-vejs JST-stik til printkort

500mA LiPo batteri med 2 mm JST stik

S1361 (85 × 51 mm) printkort

Trin 8: Konklusion

Konklusion
Konklusion

Det projekt, vi foreslog her, er en åben platform; det er muligt at bruge det for at oprette mange applikationer, blandt hvilke der er: alarmen for at forhindre glemning af børn i bilen, fjernbetjeningssystemet og fjernalarmen, vi nævnte før. Mere generelt er det et system, der er i stand til at generere advarsler og meddelelser via telefon, når visse begivenheder - der ikke nødvendigvis er nødsituationer - opstår, og derfor tjener de også til fjernovervågning.

Anbefalede: