Stap 4: Maak het werk - de python-script en de Cron job op linux.
Sluit de motor terminals via de transistor PN2222 zoals aangegeven in het eerste diagram.
De GPIO 7 (of welke GPIO u koos) is verbonden aan de basis van de transistor.
Wanneer de GPIO hoog is de transistor-base gaat hoog en de transistor laat de huidige pass van
Collector naar de emitter. In het kort werkt het als een switch, een digitale schakelaar.
Hieronder gegeven is de python script die ik gebruikt:
======================kozhi.py==========================
importeren van RPi.GPIO als GPIO ## importeren GPIO bibliotheek
importeren
een subproces voor importeren oproep
motorControlGpio = 7
GPIO.setmode (GPIO. BESTUUR) ## bestuur pin nummering gebruiken
GPIO.setup (motorControlGpio, GPIO. UIT) ## Setup GPIO Pin 7 out
def runMotor(dutyCycle,durationInSec):
levelZeroWaitS =(100-dutyCycle) *.0001
levelHighWaitS = dutyCycle*.0001
t_end = time.time() + durationInSec
terwijl time.time() < t_end:
GPIO.output(motorControlGpio,True)
time.Sleep(levelHighWaitS)
Als levelZeroWaitS > 0:
GPIO.output(motorControlGpio,False)
time.Sleep(levelZeroWaitS)
GPIO.output(motorControlGpio,False)
runMotor(100,0.5) ## laat de Haan flap en zet voor.5 seconden op volle kracht
runMotor(80,.5) ## nu nog eens 5 seconden, een beetje trager
Bel (["mpg321", "/ home/pi/ajplay/RoosterSoundBible.mp3"]) ## spelen van het RoosterSoundBible.mp3-bestand met behulp van het programma mgp321
runMotor(100,1) ## na de Cock-a-doodle-doo, animeren de Haan nogmaals.
GPIO.cleanup()
Exit()
===============================================
Dit script zal animeren de haan en spelen de Cock-a-doodle-doo...
Maken een cronjob, zodat de Haan script leiden elk uur tot zal.
Een cronjob is een taak die periodiek wordt uitgevoerd in een linuxsysteem.
Allereerst "cron" moet worden uitgevoerd op je Raspberry pi. Als het gebruik niet wordt uitgevoerd:
/ sbin/service CRONUS start
U kunt de crontab bestand en schdule het script wilt uitvoeren van elk 1 uur.
crontab -e wordt dit bestand voor bewerken geopend.
Ik heb een shellscript voor het rinkelen van een klok klok geluid. Eenmaal op! Uur en tweemaal om 2 uur en zo verder.
Ook een interne klok om het half uur.
Gelieve toestemming te vragen van uw familie / kamer stuurman
Hier is het script:
===ringbell.sh===
ECHO $(date)
numOfBells = 1
Als [$1 = "1"]; vervolgens
numOfBells = 1
anders
timeHrs = $(datum + % ik)
numOfBells = $timeHrs
fi
ECHO $numOfBells
mpg321 -l $numOfBells /home/pi/ajplay/Clock_Strikes_One.mp3
sudo python /home/pi/ajplay/kozhi.py
=================
Aan het eind van het script roept het onze eerste python script kozhi.py
Mijn crontab inzendingen ziet er als volgt uit:
30 **** /home/pi/ajplay/ringbell.sh 1 > /home/pi/ajplay/ringbell.log
0 **** /home/pi/ajplay/ringbell.sh 2 > /home/pi/ajplay/ringbell.log
De eerste regel ringen een interne klok om het half uur.
Er is een heel mooi artikel hier:
https://www.raspberrypi.org/documentation/Linux/US...
Waar krijg ik de audio bestanden Clock_Strikes_One.mp3 en RoosterSoundBible.mp3 uit?
Er zijn vele websites die u voor het downloaden van audio-bestanden kunt zoeken. Gelieve ervoor te zorgen dat u niet alle media kopie uitvielen.