Raspberry Pi och Arduino: bygga tillförlitliga system med WatchDog timer (2 / 6 steg)

Steg 2: Hur du ställer in Raspberry Pi inre WatchDog Timer



Sammanfattning: I steg 2 i detta Instructable titta vi på hur du ställer in Raspberry Pi inre watchdog timer. Vi också prata om problem med Raspberry Pi inre vakthund och förklara varför en extern WatchDog Timer, som SwitchDoc Labs dubbla WatchDog Timer är ett bättre val i många men inte alla, system.

Ställa in Raspberry Pi inre WatchDog Timer

Först av allt en definition. WTO: S definieras som maximala tiden WatchDog timer kan räkna innan det behöver återställas (med andra ord, när det kommer att starta om datorn om datorn går bort. BCM2835 System på ett Chip som driver Raspberry Pi har en WDT ombord. Den har 20 bitar och räknar ner varje 16us för en Wto -16 sekunder. Detta innebär att du har att skriva till den inre WTD tidigare än varje 16 sekunder, eller WDT kommer eld.

Kör följande kommando för att ladda den interna WatchDog kärna modulen:

$ sudo modprobe bcm2708_wdog

För Raspbian, att ladda modulen nästa gång systemet startas, Lägg till en rad i din/etc/modules fil med "bcm2708_wdog". $ echo "bcm2708_wdog" | sudo tee - en/etc/modules

Nu kör "lsmod" och leta efter raden i nedan:

bcm2708_wdog 3537 0

Detta verifierar att modulen WatchDog var inlästa. Nu ändra/etc/modules och lägga till bcm2708_wdog

att ladda modulen vid uppstart genom att köra följande kommando:

sudo echo bcm2708_wdog >> / etc/modules

Sedan använder vi watchdog(8) demonen för att klappa hunden:

sudo lämplig-få installera watchdog chkconfig

sudo chkconfig vakthund på

sudo /etc/init.d/watchdog start

Watchdog(8) daemon kräver vissa enkel konfiguration på Raspberry Pi. Ändra /etc/watchdog.conf till endast innehålla:

watchdog-device = /dev/watchdog

watchdog-timeout = 14

Realtime = Ja

prioriterade = 1

Intervall att klappa hunden var fjärde sekund: intervall = 4

Slutligen:

sudo /etc/init.d/watchdog restart

Usch! Detta sätter upp den inre Raspberry Pi vakthund.

Testa den interna Raspberry Pi vakthund

För att testa den interna vakthund, upp det som ovan. Nästa, redigera en fil som heter forkbomb.sh och skriver du följande kommandon i filen:

#! / bin/bash

swapoff - en :(){: |: &};:

Kör filen forkbomb.sh:

sudo sh - x forkbomb.sh

Din Raspberry Pi kommer så småningom starta om. En gaffel bomb fungerar så här: funktionen anropas två gånger och rörledningen är backgrounded; varje efterföljande nytt samtal på processerna leker ännu fler samtal till ":" (funktionen). Detta leder snabbt till en explosiv användning av systemresurser, sakta svar avstannat och döda Raspberry Pi möjlighet att klappa watchdog timer. Om du inte inaktiverar swap-enhet sedan har gaffel bomben att fylla som också, vilket gör bomben mycket, mycket långsammare.

Problem med den interna Raspberry Pi vakthund

Det finns dock ett antal problem med den interna vakthund. Den inre vakthund inte makt cykel systemet. Det omstarter Raspberry Pi. Detta innebär att det inte startar om i alla förhållanden. Särskilt i låg effekt / brownout villkor ofta upplevs med Solar Powered system (se våra Solar Power Instructable här).

Om Raspberry Pi tar längre tid att stöveln än 14 sekunder (eller vad du värdet Wto), kan WatchDog brand som sätter Raspberry Pi i en oändlig uppstart sekvens. Detta kan hända. Jag har gjort den.

Om du stoppa Raspberry Pi sudo shutdown -h nu, startas Raspberry Pi aldrig. Om ditt program gör detta av en slump, är du klar.

Jag har hittat den inre vakthund vara otillförlitliga. Jag aldrig kunde spåra det, men det känns som någon form av konflikt mellan användaren utrymme och kernel space. Det finns vissa situationer där Pi inte kommer svarar, men hjärtslagen kan fortfarande förekomma. Hög belastning situationer till exempel.

Den inre vakthund är inte helt oberoende av Pi-hallon. I teorin bör denna fråga inte, men Raspberry Pi kör Linux är ett komplext system.

Dessa är några av de frågor som kan lösas med en extern vakthund. Det betyder dock inte den inre vakthund är värdelös, bara begränsas.

Se Steg
Relaterade Ämnen

Anslut din Raspberry Pi och Arduino Uno!

Både Raspberry Pi och Arduino Uno är mycket kraftfulla enheter, bra på olika saker. Arduino styrelser är awesome på att läsa in- och utgångar från diverse olika saker. Raspberry Pi är i grunden en mini, öppen källkod Linux dator. Om du sätta dessa tv...

CoPiino fuktkontroll - raspberry pi och arduino

Jag kom nyligen över en vän till mig. Vi pratade om våra senaste projekt där han slutligen berättade om sin källare som har mycket hög luftfuktighet och är för närvarande inte att bra plats där du vill köra projekt.Detta fick oss att tänka på en ny p...

Google spelar musik Internet Radio (Raspberry Pi och Arduino)

jag letade efter ett projekt att göra med min Raspberry Pi och hittade detta Instructable och tänkte jag skulle ha en gå på något liknande som arbetat med Google spela musik. Jag hade en ungefärlig uppfattning om vad jag ville ha det sista objektet t...

MrRobot - Ubuntu Mobile app aktiverad Robotics (Raspberry Pi och arduino inblandade)

Projektet MrRobot är en Ubuntu Mobile app aktiverad Robotics som har funktionen av röst, touch och skaka kontroll för att interagera med den Rapiro roboten. Detta projekt utförs inom 28 timmar i Ubuntu Shenzhen Hackathon av vårt team E-minderåriga. A...

Hur att reparera och göra tillförlitliga membranen i en kinesisk tankless vattenvärmaren

Hej,Tyvärr måste jag börja med att säga att denna information lämnas endast för utbildning, och att jag eller någon jag är anknuten till är på något sätt ansvariga för några skador, eller skador till följd av någon försöker dessa reparationer av någo...

Arduino - växten vattnas System med TFT LCD-väderstation skärmen

Hej peepz, jag skapade en prototyp växt vattning system med väderstation på en TFT LCD för inomhus växande.Naturligtvis kan du bygga den för att använda den utomhus till.Detta projekt fungerar men är bara grunden för ett större projekt... från här ka...

Enkel (och smutsiga) puls bredd modulering (PWM) med 555 Timer

enkel krets för DC Motor varvtalsreglering (fläkthastighetskontroll, ljus / LED dimmring och etc) med 555 timer.Också en bra utgångspunkt för nybörjare som vill få sina händer smutsiga med 555 timer IC. Vissa skulle hävda att detta inte är den mest e...

Ännu en annan Exploration Rover web-kontrollerade (med Raspberry Pi och Arduino. Android, Iphone, PC, MAC compatible)

Här är en annan exploration rover, byggt i 1 timme eller mindre, utan det krävs. Everthing du behöver finns i förpackningen! Det ger dig grund att bygga och förbättra din egen rover.RaspberryPi med wifi USB-adapter, USB-webbkamera, web-server (apache...

En Guide till Raspberry Pi Arduino kommunikation i inbyggda system

Det här är en guide till olika metoder för kommunikation mellan Raspberry Pi och Arduino. Denna guide är skapad av allt jag lärt mig från inrättandet av en kapacitet skog. Inlägget av projektet kan ses, en video av projektet kan ses här, och dokument...

K'NEX Gun: Tillförlitlig (R3) (Build)

The RMACR, postat på 9 Mar 2013, har alltid varit en av mina favorit bygger. Effektiv, men ändå enkel, tillförlitlig (aka R4 / RMACR V.2) är en stor inomhus K'NEX kriget pistol. Efter bränning minst 100 rundor igenom det, har jag ännu att uppleva i a...

RC Multi Channel Arduino proportionella sändare / mottagare med knappen trimmare

Är du ute efter för att göra din egen quadcopter drone eller RC bil med Arduino men vet inte var du ska börja? Kanske du redan köpt några 433MHz RF moduler bara för att finna de var inte så enkelt att använda som du trodde? Prova på detta!Du får lära...

Hur du använder Watchdog Timer på Arduino

I detta Instructable tar vi en titt på Watchdog Timer på Arduino och tre olika sätt att konfigurera den. Vi visar ett enkelt exempel med Watchdog Timer och du kan hitta koden från exemplet på ForceTronics blogg http://forcetronic.blogspot.com/2016/02...

Designa och bygga en synthesizer med Meeblip och Arduino, adderat video!

För min praktikplats på Skapa digitalmusik/Meeblip jag har skapat ganska kul liten synthesizer. Det här är tänkt att vara mer flexibla än andra synthesizer genom att göra det helt oberoende. Det är batteridriven, har egen förstärkare/högtalare och st...

Tillförlitlig, säker, anpassningsbar SMS fjärrstyrning (Arduino/pfodApp) - ingen kodning krävs

Uppdateringen: 19 maj 2015: användning av pfodParser bibliotek Version 2.5 eller senare. Det fixar en rapporterade problemet inte att tillräckligt med tid att ansluta till nätverket efter att ha slagit upp shieldIntroduktionHur är pfodSMS fjärrkontro...

Raspberry Pi och ROS (Robotic Operating System)

i den här guiden vi ska gå över att inrätta en Raspberry Pi med Linux och ROS. Samt att bekanta sig med några av grunderna genom att köra några enkla handledning program från "ROS WIKI" . Om du är obekant med ROS kan du kolla in WIKI eller en av...

Styra din Tv, Dvd och ljud system med Arduino och Android

Hej alla, detta är min andra instructable och min första på engelska, så, ledsen för misstag.Jag vill dela detta projekt det handlar om hur du kan styra din Tv, DVD och ljudanläggningen med Arduino och en app för Android med app inventor.Om du gillar...

En enkel och tillförlitlig dörr larmsystem

Innan vi förklarar "hur man gör?"Jag ska berätta Svaren för "Varför göra?"Har ditt barn någonsin öppnade dörren och gick utanför utan din vetskap?Vet du om någon försöker öppna din dörr från utanför?Så det är bättre att ha en dörr larm...

Väder Buddy System använder elektriska Imp och Arduino vederbörlig

bara skicka en video av min kompis vädersystem som jag nyligen gjort. Den elektriska Imp används för att ansluta till internet och få väderinformation och Arduino Due skicka denna information till de respekterade delarna.Jag vet inte om bygget förtjä...

Hur man bygger en människor räknare med Raspberry Pi och Ubidots

I detta enkla projekt använder vi en rörelsesensor för att upptäcka om ett objekt passerar framför våra Raspberry Pi. Sedan ska vi räkna hur många gånger det händer, och skicka det här värdet till Ubidots.Kundräknare är vanligtvis dyra enheter använd...