Sisukord:

Pool Pi Guy - tehisintellektiga juhitav häiresüsteem ja basseini jälgimine Raspberry Pi abil: 12 sammu (piltidega)
Pool Pi Guy - tehisintellektiga juhitav häiresüsteem ja basseini jälgimine Raspberry Pi abil: 12 sammu (piltidega)

Video: Pool Pi Guy - tehisintellektiga juhitav häiresüsteem ja basseini jälgimine Raspberry Pi abil: 12 sammu (piltidega)

Video: Pool Pi Guy - tehisintellektiga juhitav häiresüsteem ja basseini jälgimine Raspberry Pi abil: 12 sammu (piltidega)
Video: The Light Gate Welcomes Barbara Lamb, July 17th, 2023- Author, UFO Experiencer 2024, Juuli
Anonim
Pool Pi Guy - tehisintellektiga juhitav häiresüsteem ja basseini jälgimine Raspberry Pi abil
Pool Pi Guy - tehisintellektiga juhitav häiresüsteem ja basseini jälgimine Raspberry Pi abil

Kodus basseini omamine on lõbus, kuid sellega kaasneb suur vastutus. Minu suurim mure on jälgida, kas keegi on basseini lähedal järelevalveta (eriti nooremad lapsed). Minu suurim pahameel on veenduda, et basseini veetrass ei lähe kunagi pumba sisselaskeavast allapoole, mis ajab pumba kuivaks ja hävitab selle, mille remont maksab $ $ $.

Olen hiljuti mõelnud, kuidas kasutada Raspberry Pi koos OpenCV ja TensorFlow'ga koos veetaseme anduri ja solenoidklapiga mõlema probleemi lahendamiseks - ja nautige seda!

See osutub ka suurepäraseks häiresüsteemiks - liikumine aktiveeritud, tehisintellektiga juhitav, lõpmatult kohandatav.

Sukelgem sisse.

Samm: suur plaan

Selles juhendis näitame, kuidas:

  1. Seadistage Raspberry Pi OpenCV ja TensorFlow abil
  2. Ühendage veebikaamera pika USB -kaabli abil
  3. Kirjutage liikumise tuvastamiseks OpenCV algoritm
  4. Objektide tuvastamiseks kasutage TensorFlow
  5. Huvitavate piltide kuvamiseks seadistage Raspberry Pi veebiserver
  6. Integreerige IFTTT -ga, et käivitada mobiilihoiatused juhuks, kui inimene avastatakse
  7. Kinnitage relee HAT Raspberry Pi külge ja ühendage see solenoidventiiliga, mis lisab basseinile vett
  8. Kinnitage veetaseme andur Raspberry Pi külge ja liituge sellega, kasutades Pi GPIO -d
  9. Kirjutage kood, et see kõik kokku liimida

2. samm: ostunimekiri

Ostunimekiri
Ostunimekiri

Kõik komponendid on Amazonist kergesti kättesaadavad. Katsetage ja vahetage komponente - see on pool lõbu!

  1. Vaarika Pi
  2. Vaarika Pi toiteallikas (ärge siin koonerdage)
  3. Mälukaart (suurem on parem)
  4. Korpus (see on piisavalt suur, et mahutada nii Pi kui ka HAT)
  5. USB -veebikaamera (sobib iga veebikaamera, kuid soovite sellist, mis saab häid pilte ja tasakaalustab hästi valgust)
  6. USB -pikenduskaabel (vajadusel - mõõtke kaugus Pi ja kaamera paigutamise koha vahel)
  7. Releelaud HAT (sellel on 3 releed ja me vajame ainult ühte, kuid leiad teistele piisavalt kiiresti kasutust!)
  8. Solenoid
  9. Solenoidi liitmik 1 ja liitmik 2 (see sõltub tõesti sellest, kuhu te solenoidi paigaldate, kuid need töötasid minu jaoks)
  10. Solenoidtoide (sobib iga 24 V vahelduvvool)
  11. Kaabel (jällegi sobib peaaegu iga 2 -lüliline kaabel - vool on minimaalne)
  12. Veetaseme ujuklüliti (see on vaid näide, kontrollige, mida saab teie basseiniga hõlpsalt ühendada)
  13. Mõned hüppaja juhtmed ja juhtmete pistikud

Samm: seadistage oma Raspberry Pi

Seadistage oma Raspberry Pi
Seadistage oma Raspberry Pi

Raspberry Pi on suurepärane väike arvuti. See maksab vaid 35 dollarit, töötab järjepidevalt ning sellel on palju ühilduvat tarkvara ja riistvara. Selle seadistamine on üsna lihtne:

  1. Vormindage oma SD -kaart. See vajab erilist hoolt - Raspberry Pi saab käivitada ainult FAT -vormingus SD -kaardilt. Järgige neid juhiseid.
  2. Ühendage Raspberry Pi USB -klaviatuuri ja hiirega ning HDMI -ekraaniga ja järgige Raspberry Pi NOOBSi õpetuses toodud juhiseid. Seadistage kindlasti WiFi ja lubage SSH -juurdepääs. Ärge unustage seadistada vaikimisi pi konto parooli.
  3. Seadistage oma koduvõrgus Raspberry Pi jaoks staatiline IP - see hõlbustaks SSH -le sisenemist palju lihtsamalt.
  4. Veenduge, et teie töölauale/sülearvutile oleks installitud ssh -klient. Arvuti jaoks soovitaksin Puttyt, mille saate siit installida.
  5. Ühendage Raspberry Pi USB ja HDMI lahti, taaskäivitage see ja sisestage sinna - kui see kõik töötas, peaksite nägema midagi sellist:

Linux raspberrypi 4.14.98-v7+ #1200 SMP Teis Feb 12 20:27:48 GMT 2019 armv7l

Debiani GNU/Linuxi süsteemiga kaasas olevad programmid on tasuta tarkvara; iga programmi täpsed levitamistingimused on kirjeldatud üksikfailides kataloogis/usr/share/doc/*/copyright. Debian GNU/Linuxiga ei kaasne absoluutselt MITTE GARANTIID, niivõrd kui seda lubab kehtiv seadus. Viimane sisselogimine: E 13. mai 10:41:40 2019 alates 104.36.248.13 pi@raspberrypi: ~ $

Samm: seadistage OpenCV

Seadistage OpenCV
Seadistage OpenCV

OpenCV on hämmastav piltide manipuleerimise funktsioonide kogum arvuti nägemiseks. See võimaldab meil veebikaamerast pilte lugeda, nendega liikumispiirkondade leidmiseks, nende salvestamiseks ja muuks manipuleerida. Raspberry Pi seadistamine pole keeruline, kuid nõuab teatud hoolt.

Alustuseks installige virtaulenvwrapper: kasutame kogu oma programmeerimiseks pythonit ja virtualenv aitaks meil OpenCV ja TensorFlow vs Flask või GPIO sõltuvused lahus hoida:

pi@raspberrypi: ~ $ sudo pip install virtualenvwrapper

Nüüd saate käivitada "mkvirtualenv" uue keskkonna loomiseks, "workon" selle kallal töötamiseks ja palju muud.

Niisiis, loome oma pilditöötluseks keskkonna, kus python 3 on vaiketõlk (see on 2019. aastal, pole põhjust vanema python 2 juurde jääda):

pi@raspberrypi: ~ $ mkvirtualenv cv -p python3

… (Cv) pi@raspberrypi: ~

Oleme nüüd OpenCV installimiseks valmis. Me järgime enamasti Learn OpenCV suurepärast õpetust. Järgige konkreetselt nende samme 1 ja 2:

sudo apt -y updatesudo apt -y upgrade ## Install sõltuvused sudo apt-get -y install build-essential checkinstall cmake pkg-config yasm sudo apt-get -y install git gfortran sudo apt-get -y install libjpeg8-dev libjasper- dev libpng12-dev sudo apt-get -y install libtiff5-dev sudo apt-get -y install libtiff-dev sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev sudo apt-get- y installige libxine2-dev libv4l-dev cd/usr/include/linux sudo ln -s -f../libv4l1-videodev.h videodev.h sudo apt-get -y install libgstreamer0.10-dev libgstreamer-plugins-base0. 10-dev sudo apt-get -y install libgtk2.0-dev libtbb-dev qt5-default sudo apt-get -y install libatlas-base-dev sudo apt-get -y install libmp3lame-dev libtheora-dev sudo apt-get -y install libvorbis-dev libxvidcore-dev libx264-dev sudo apt-get -y install libopencore-amrnb-dev libopencore-amrwb-dev sudo apt-get -y install libavresample-dev sudo apt-get -y install x264 v4l-utils sudo apt -get -y installige libprotobuf -dev protobuf-kompilaator sudo apt-get -y install libgoogle-glog-dev libgflags-dev sudo apt-get -y install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen sudo apt-get install libqtgui4 sudo apt-get install libqt4- test

Nüüd saame lihtsalt installida OpenCV koos python -sidumistega cv virtualenv -i (olete endiselt selles, eks?) Kasutades

pip install opencv-contrib-python

Ja see ongi kõik! Meie Raspberry Pi -sse on installitud OpenCV, mis on valmis fotosid ja videoid jäädvustama, nendega manipuleerima ja lahe olema.

Kontrollige seda, avades pythoni tõlgi ja importides opencv, ning veenduge, et vigu pole:

(cv) pi@raspberrypi: ~ $ python

Python 3.5.3 (vaikimisi, 27. september 2018, kell 17:25:39) [GCC 6.3.0 20170516] linuxis Lisateabe saamiseks sisestage "help", "copyright", "credits" või "license". >>> cv2 importimine >>>

Samm: seadistage TensorFlow

Seadistage TensorFlow
Seadistage TensorFlow

TensorFlow on masinõppe / tehisintellekti raamistik, mille on välja töötanud ja haldanud Google. Sellel on ulatuslik tugi süvaõppemudelitele mitmesuguste ülesannete jaoks, sealhulgas objektide tuvastamine piltidel, ja nüüd on see Raspberry Pi-le installimine üsna lihtne. Selle kergekaaluliste mudelite jõudlus pisikesel Pi -l on umbes 1 kaader sekundis, mis on täiesti piisav sellise rakenduse jaoks nagu meie.

Põhimõtteliselt järgime Edje Electronics suurepärast õpetust, mille muudatused on võimaldanud uuemad TensorFlow distributsioonid:

pi@raspberrypi: ~ $ workon cv

(cv) pi@raspberrypi: ~ $ pip install tensorflow (cv) pi@raspberrypi: ~ $ sudo apt-get install libxml2-dev libxslt-dev (cv) pi@raspberrypi: ~ $ pip install padi lxml jupyter matplotlib cython (cv) pi@raspberrypi: ~ $ sudo apt-get install python-tk

Nüüd peame koostama Google'i protobufi. Lihtsalt järgige sama suurepärase õpetuse 4. sammu juhiseid

Lõpuks kloonige ja seadistage TensorFlow mudelimääratlused - järgige Edje Electronics'i õpetuse 5. sammu

Järgige ka nende eeskuju 6. sammus, see on suurepärane sissejuhatus Raspberry Pi objektide tuvastamisse.

6. samm: liikumistuvastus OpenCV abil

Alustuseks katsetame, kas OpenCV saab meie veebikaameraga liidestada: ssh Raspberry Pi -sse, liikuge cv virtualenv -i (workon cv), avage python -tõlk (lihtsalt tippige python) ja sisestage järgmised python -käsud:

import cv2

cap = cv2. VideoCapture (0) cap.set (cv2. CAP_PROP_FRAME_WIDTH, 1920) cap.set (cv2. CAP_PROP_FRAME_HEIGHT, 1080) ret, frame = cap.read () print ('Loe kaadri suurus: {} x {}'.format (frame.shape [1], frame.shape [0])

Hea õnne korral näete, et OpenCV suutis kaamerast HD -kaadrit lugeda.

Saate kasutada cv2.imwrite (tee, kaader) selle kaadri kettale kirjutamiseks ja selle tegeliku väljanägemise tagastamiseks tagasi.

Liikumise tuvastamise strateegia on üsna lihtne:

  1. Töötage madalama eraldusvõimega kaadrite kallal - siin pole vaja täiskõrglahutusega opereerida
  2. Lisaks hägustage pilte, et tagada võimalikult vähe müra.
  3. Hoidke viimase N kaadri jooksvat keskmist. Selle rakenduse puhul, kus kaadrisagedus on umbes 1 kaadrit sekundis (lihtsalt sellepärast, et TensorFlow võtab kaadris aega), leidsin, et N = 60 annab häid tulemusi. Ja kuna hoolikas rakendamine ei võta rohkem protsessorit rohkemate kaadritega, on see OK (see võtab küll rohkem mälu - kuid see on tühine, kui töötame madalama eraldusvõimega kaadritega)
  4. Lahutage praegune pilt jooksvast keskmisest (olge lihtsalt tippimisega ettevaatlik - peate lubama positiivseid ja negatiivseid väärtusi [-255.. 255], nii et raam tuleb teisendada int -ks)
  5. Lahutamise saate teha kaadri (ja keskmise) halltoonides teisendamisel või teha seda iga RGB-kanali jaoks eraldi ja seejärel tulemused kombineerida (see on minu valitud strateegia, muutes selle värvimuutuste suhtes tundlikuks)
  6. Kasutage delta künnist ja eemaldage müra erosiooni ja laienemise teel
  7. Lõpuks otsige deltaga alade kontuure - nendes piirkondades on liikumine toimunud ja praegune pilt erineb varasemate piltide keskmisest. Vajadusel leiame nende kontuuride jaoks ka piiravad kastid.

Olen selle tegemiseks koodi kapseldanud DeltaFinder pythoni klassi, mille leiate minu githubist siit

Samm: objektide tuvastamine TensorFlow abil

Kui olete järginud TensorFlow paigaldusprotseduuri, olete juba testinud, kas TensorFlow on installitud ja töötab.

Inimeste tuvastamiseks üldises välistingimustes toimivad mudelid, mis on COCO andmekogumile eelnevalt koolitatud, üsna hästi - just sellise mudeli oleme TensorFlow installimise lõpus alla laadinud. Peame seda lihtsalt järelduste tegemiseks kasutama!

Jällegi olen mudeli laadimise ja järeldamise kapseldanud TFClassify pythoni klassi, et lihtsustada asju, mille leiate siit.

Samm: seadistage veebiserver Raspberry Pi -le

Seadistage Raspberry Pi veebiserver
Seadistage Raspberry Pi veebiserver

Lihtsaim viis objektide tuvastamise tulemustele juurdepääsuks on veebibrauser, seega seadistagem veebiserver Raspberry Pi -le. Seejärel saame selle seadistada teatud kataloogist pilte esitama.

Veebiserveri raamistiku jaoks on mitu võimalust. Valisin Flaski. See on Pythoniga äärmiselt konfigureeritav ja hõlpsasti laiendatav. Kuna see "skaala", mida me vajame, on tühine, siis oli see enam kui piisav.

Soovitan selle installida uude virtualenv -i, nii:

pi@raspberrypi: ~ $ mkvirtualenv veebiteenus

(veebiteenus) pi@raspberrypi: ~ $ pip install Flask

Pange tähele, et tavalise võrguseadistuse korral on see juurdepääsetav ainult siis, kui teie brauser on teie Raspberry Pi -ga samas traadita kohtvõrgus. Välise juurdepääsu võimaldamiseks võite oma Interneti -ruuteris luua pordi kaardistamise / NAT -i konfiguratsiooni - kuid ma soovitan seda mitte. Minu kirjutatud kood ei püüa pakkuda turvalisust, mida vajaksite oma Raspberry Pi üldise Interneti -ühenduse lubamisel.

Testige oma paigaldust, järgides kolvi kiirjuhendit

Samm: Raspberry Pi mobiilimärguanded IFTTT abil

Raspberry Pi mobiilimärguanded IFTTT abil
Raspberry Pi mobiilimärguanded IFTTT abil

Ma tõesti tahan saada mobiilimärguandeid sündmuste toimumisel. Sel juhul, kui inimene avastatakse ja kui veetase langeb madalale. Lihtsaim viis, kuidas seda teha, ilma kohandatud mobiilirakendust kirjutamata, on IFTTT. IFTTT tähistab "Kui see siis see" ja võimaldab mitut tüüpi sündmustel käivitada mitut tüüpi toiminguid. Meie puhul oleme huvitatud IFTTT Maker Webhooki päästikust. See võimaldab meil käivitada IFTTT -toimingu, esitades IFTTT -serverile HTTP POST -päringu, millele on meie kontole määratud spetsiaalne võti koos andmetega, mis täpsustavad juhtunut. Meie tehtavad toimingud võivad olla nii lihtsad, nagu IFTTT -mobiilirakenduse abil oma mobiilseadmes märguande loomine või midagi muud keerukamat.

Siin on, kuidas seda teha.

  1. Looge IFTTT konto saidil ifttt.com
  2. Kui olete sisse logitud, minge teenuse Webhook seadete lehele ja sisestage brauserisse URL (näiteks https://maker.ifttt.com/use/. Sellel veebilehel kuvatakse teie võti ja toimingute käivitamiseks kasutatav URL.
  3. Looge IFTTT aplett, mis genereerib mobiiliteatise, kui Webhook käivitatakse koos sündmuse üksikasjadega.

    1. Klõpsake "Minu apletid" ja seejärel "Uus aplett".
    2. Klõpsake "+see" ja valige "veebihaagid". Üksikasjade vaatamiseks klõpsake nuppu "Võta vastu veebipäring"
    3. Andke oma sündmusele nimi, nt "PoolEvent" ja klõpsake "Loo päästik"
    4. Klõpsake "+see" ja valige "märguanded". Seejärel valige "Saada rikkalik märguanne IFTTT -rakendusest"
    5. "Pealkirja" jaoks valige midagi sellist nagu "PoolPi"
    6. "Sõnumi" jaoks kirjutage "Pool Pi tuvastatud:" ja klõpsake "lisa koostisosa".. "Value1".
    7. Minge tagasi 2. sammus kopeeritud URL -i juurde. See näitab URL -i, mida kasutada äsja loodud apleti kutsumiseks. Kopeerige see URL, asendades kohatäite {event} sündmuse nimega (näites PoolEvent)
  4. Laadige alla, installige ja logige oma mobiilseadme rakendusse IFTTT sisse
  5. Käivitage oma Raspberry Pi -s see pythoni skript, et see toimiks (pange tähele, et teie mobiilseadmes käivitumiseks võib kuluda mõni sekund või minut):

imporditaotlused

request.post ('https://maker.ifttt.com/trigger/PoolEvent/with/key/', json = {"value1": "Tere teatised"})

Samm: lisage Raspberry Pi -le relee müts ja ühendage see solenoidventiiliga

Lisage Raspberry Pi -le relee müts ja ühendage see solenoidventiiliga
Lisage Raspberry Pi -le relee müts ja ühendage see solenoidventiiliga
Lisage Raspberry Pi -le relee müts ja ühendage see solenoidventiiliga
Lisage Raspberry Pi -le relee müts ja ühendage see solenoidventiiliga
Lisage Raspberry Pi -le relee müts ja ühendage see solenoidventiiliga
Lisage Raspberry Pi -le relee müts ja ühendage see solenoidventiiliga

Enne selle sammu jätkamist Lülitage oma Raspberry Pi välja: ssh ja tippige "sudo shutdown now", seejärel ühendage see vooluvõrgust lahti

Meie eesmärk on sisse ja välja lülitada solenoidklapi toide - ventiil, mis suudab avada või sulgeda veevarustuse toiteallikast saadava 24 V vahelduvvoolu alusel. Releed on elektrilised komponendid, mis suudavad avada või sulgeda vooluringi, mis põhineb digitaalsel signaalil, mida meie Raspberry Pi suudab pakkuda. See, mida me siin teeme, on relee ühendamine nende Raspberry Pi digitaalsignaali tihvtidega ja selle sulgemine 24 V vahelduvvoolu toiteallika ja solenoidklapi vahel.

Raspberry Pi nööpnõelad, mis võivad toimida digitaalse sisendina või väljundina, nimetatakse GPIO - üldotstarbeliseks sisendiks/väljundiks ja need on Pi küljel asuv 40 tihvti rida. Kui Pi on välja lülitatud ja sisestage relee müts kindlalt selle sisse. Minu valitud mütsil on 3 releed ja me kasutame ainult ühte neist. Kujutage ette, mida saate ülejäänud kahega teha:)

Nüüd lülitage Raspberry Pi uuesti sisse. Relee HAT punane "toite" LED peaks sisse lülituma, mis näitab, et see saab GP -lt Pi kaudu energiat. Testime, kas saame seda juhtida: ssh uuesti Pi -sse, sisestage python ja tippige:

import gpiozero

dev = gpiozero. DigitalOutputDevice (26, esialgne_väärtus = tõene) dev.off ()

Peaksite kuulda kuuldavat "klõpsatust", mis näitab, et relee on sisse lülitatud, ja näete LED -i sisselülitamist, mis näitab, et esimene relee on ühendatud asendis. Nüüd saate tippida

dev.on ()

Mis lülitaks relee asendisse "välja" (veider, ma tean …) ja väljuks () pythonist.

Nüüd ühendage relee 24V toiteallika ja solenoidklapi vahel, kasutades hüppajakaableid ja pikemat kaablit. Vaadake diagrammi. Lõpuks ühendage solenoidventiil adapterite abil segistiga ja olge valmis seda kõike katsetama, korrates ülaltoodud käske - need peaksid vee sisse ja välja lülitama.

Kinnitage voolik solenoidklapi külge ja pange teine ots basseini sügavale. Nüüd on teil arvutiga juhitav basseini top-off süsteem ja on aeg ühendada andur, et öelda, millal seda käivitada.

Samm: ühendage veetaseme andur

Ühendage veetaseme andur
Ühendage veetaseme andur
Ühendage veetaseme andur
Ühendage veetaseme andur
Ühendage veetaseme andur
Ühendage veetaseme andur
Ühendage veetaseme andur
Ühendage veetaseme andur

Veetaseme andur on lihtsalt ujuk, mis ühendab elektriahela, kui ujuk on maas, ja lõhub selle üles ujudes. Kui sisestate selle basseini õigele kõrgusele, on ujuk püsti, kui veetase on piisav, kuid kukub alla, kui vett pole piisavalt.

Et Raspberry Pi saaks teada veetaseme anduri olekut, vajame Pi avatud või suletud ahela tuvastamiseks. Õnneks on see väga lihtne: samad GPIO -pistikud, mida kasutame releede juhtimiseks digitaalse väljundina, võivad toimida sisenditena (seega I GPIO -s). Täpsemalt, kui ühendame anduri ühe juhtme GPIO-pistiku +3.3 V-ga ja teise anduri juhtme tihvtiga, mille konfigureerime rippmenüü sisendina (see tähendab, et see on tavaliselt GND pingetasemel), mõõdetakse seda tihvti digitaalne "kõrge" või "sisse" pinge ainult siis, kui veetaseme andur ahela sulgeb - kui veetase on madal. Sisendina kasutasin GPIO tihvti 16, mille märkisin ülaltoodud pildil.

Python -kood tihvti sisendiks konfigureerimiseks ja selle praeguse oleku testimiseks on järgmine:

import gpiozero

level_input = gpiozero. Nupp (16) water_low = level_input.is_pressed

Üks võimalik väljakutse on see, et kui andur lihtsalt muudab olekut, võngub see sisse- ja väljalülitatud olekute vahel kiiresti. Selle lahendus on tuntud kui "tagasilöök" ja otsib enne tegutsemist järjekindlat oleku muutmist. GPIOZERO raamatukogus on selleks kood, kuid millegipärast ei töötanud see kood minu jaoks hästi. Kirjutasin lihtsa silmuse IFTTT -hoiatuste käivitamiseks, kui tuvastatakse järjekindel oleku muutus, mille leiate minu hoidlast siit.

12. samm: kirjutage kood, et see kõik kokku siduda

Kirjutage kood, et see kõik kokku siduda
Kirjutage kood, et see kõik kokku siduda

See on kõik. Meie seadistus on lõpetatud. Asjade täielikuks süsteemiks sidumiseks võite kirjutada oma koodi või kasutada minu pakutavat koodi. Selleks looge lihtsalt kataloogistruktuur ja kloonige hoidla, näiteks nii:

mkdir poolpi

cd poolpi git kloon

Seejärel redigeerige kataloogides motion_alert ja water_level faile nimega ifttt_url.txt, et saada oma salajase võtmega oma IFTTT veebikonksu URL. Erinevate toimingute jaoks võite kasutada kahte erinevat veebikonksu.

Lõpuks tahame, et see kood töötaks automaatselt. Lihtsaim viis selle saavutamiseks on teenus Linux crontab. Kahe põhiülesande jaoks saame lisada mõned crontab -read:

  1. Käivitage meie kolm programmi: esemeandur, veetaseme andur ja veebiserver igal taaskäivitamisel
  2. Väljundkataloogi puhastamine, vanade piltide ja vanade videofailide kustutamine (otsustasin kustutada vanemad kui 1 päev ja üle 7 päeva vanad pildid - katsetage julgelt)

Selleks tippige crontab -e, mis avab teie nano -tekstiredaktori. Lisage faili lõppu järgmised read:

0 1 * * * find/home/pi/poolpi/output -type f -name " *.avi" -mtime +1 -delete

0 2 * * * find/home/pi/poolpi/output -type f -name " *.jpg" -mtime +7 -delete @reboot python3 /home/pi/poolpi/motion_alert/webserv/webserv.py @reboot python3 /home/pi/poolpi/motion_alert/motion_obj_alert.py @reboot python3 /home/pi/poolpi/water_level/test_water_level.py

Lõpuks taaskäivitage oma Raspberry Pi. See on nüüd valmis teie basseini täis ja turvaliseks hoidma.

Näpistage seadistust, koodi ja ärge unustage tärniga minu githubi hoidlat märkida ja kommenteerige juhiseid, kui leiate, et see on kasulik. Ma otsin alati rohkem õppida.

Head tegemist!

IoT väljakutse
IoT väljakutse
IoT väljakutse
IoT väljakutse

II koha IoT väljakutses

Soovitan: