Tartalomjegyzék:

Raspberry Pi lézeres biztonsági rendszer: 13 lépés (képekkel)
Raspberry Pi lézeres biztonsági rendszer: 13 lépés (képekkel)

Videó: Raspberry Pi lézeres biztonsági rendszer: 13 lépés (képekkel)

Videó: Raspberry Pi lézeres biztonsági rendszer: 13 lépés (képekkel)
Videó: Высокая плотность 2022 2024, December
Anonim
Image
Image
Kép
Kép

Köszönöm, hogy megnézted az utasításomat. Ennek az utasításnak a végére elkészíti a málna pi lézer tripwire rendszert e -mail riasztási funkcióval, amely a videóban látható.

Ennek az utasításnak a teljesítéséhez ismernie kell az általános áramkört és a forrasztást, ismernie kell a kenyérlap használatát, és kényelmesen kell használnia a pi terminált. A pythonban szerzett tapasztalat is hasznos lehet.

Ez a projekt három fő rendszerből áll. A málna pi, a lézer tripwire áramkör és egy megfigyelő számítógép. Célunk, hogy a málna pi segítségével érzékeljük a feszültségváltozást a lézer tripwire áramkörön, majd riasztjuk a megfigyelő számítógépet e -mail és videó adatfolyam formájában.

Kezdjük.

1. lépés: A szükséges összetevők felkerekítése

A projekt befejezéséhez szüksége lesz a következő elemekre.

  1. Legalább egy működő Raspberry Pi. Ebben a felépítésben egy B típusú Pi modellt használtam, amely raspbian sípoló hangot futtatott. Biztos vagyok benne, hogy ez az oktatóanyag jól fog működni, ha raspbian jessie -t futtat.
  2. Külső áramforrás a málna pi. Jelentős áramerősséget fogunk felvenni, ha mindezt összekapcsoljuk. Sok időt töltöttem azzal, hogy az első építés során egy gagyi tápegységet diagnosztizáltam a bajok forrásaként. Győződjön meg arról, hogy elegendő teljesítménye van legalább 2 amper áramellátására.
  3. Olcsó lézermutató. Az enyémet a benzinkútnál a pénztárgép mellett találtam. Ha pontos lézert szeretne, itt megtalálja. A címke 630-680 nm-t ír a hullámhosszra. Bármelyik lézert is kapja, meghatározza az építés többi összetevőjét. Ezért győződjön meg arról, hogy a címke azonosítja a hullámhosszát.
  4. USB stílusú webkamera. Ez a webkamera állítható talppal rendelkezik, amely lehetővé teszi a kamera megfelelő elhelyezését. Azt tapasztaltam, hogy a webkamera mellékelt USB -kábele túl rövid az alkalmazásomhoz, ezért találtam egy kiterjesztést a monoprice -n.
  5. Valamilyen kitörési készlet a málna pi -hez, így könnyen hozzáférhet a processzor csapjaihoz.

    Kép
    Kép
    Kép
    Kép
  6. Egy kenyértábla.
  7. Forrasztópáka.
  8. Jumper vezetékek a kenyértáblához.
  9. Áramköri alkatrészek. Szorozzuk meg a kívánt kioldóhuzalok számával.

    • Egy dolgozó vezetett
    • Egy 100 ohmos ellenállás
    • 1k ellenállás
    • Egy 10k ellenállás
    • Egy 200 ezer ellenállás Tényleg minden nagy ellenállás megteszi. 1M ellenállással teszteltem, és jól működött. A 10 kF túl kicsi volt.
    • Egy PNP tranzisztor PN: 2N4403-APCT-ND
    • Egy fotodióda (illessze ezt a lézer hullámhosszához) PN: PDB-C142-ND

Csatolom az áramköri kártya fájljait, de nem fogom áttekinteni a kártya gyártását ebben az utasításban.

A projekt során a következő választható eszközöket találtam hasznosnak:

  1. Szinergia telepítése a málna pi. Ha nem ismeri, ez a szoftver lehetővé teszi a málna pi egér és billentyűzet vezérlését egy másik számítógéppel. Ez jó, ha olyan, mint én, és jobban érzi magát egy másik számítógépen. Ez is egy olyan szoftver, amelyet mindenkinek rendelkeznie kell.
  2. USB hub. Minden használni kívánt webkamerához szüksége lesz egy portra.
  3. Feszültségmérő vagy oszcilloszkóp, ha van.
  4. A MobaXterm használata a málna pi vezérlésére és a fájlok manipulálására az ssh -n keresztül. Mindenkinek kötelező, aki ablakokon nevelkedik. Tekintse meg ezt az oktatóanyagot a használat beállításához.

2. lépés: Indítsa el a Pi -t és futtassa

  • Kép
    Kép

    A pi minimális alkatrészekkel

  • Mielőtt bármilyen lézert fel tudunk lőni, több szoftverréteget kell létrehozni. Ahhoz, hogy a lehető legnagyobb esély legyen a sikerre, jó gyakorlat tiszta lappal kezdeni. Ehhez válassza le a felesleges elemeket a Pi -ről. Ez csökkenti annak az esélyét, hogy a csatlakoztatott eszköz interferenciát okoz.

    Ezután győződjön meg arról, hogy Raspberry Pi a legújabb szoftverrel működik, és írja be a következőt a terminálba

    sudo apt-get update

    A málna pi naprakészen a következő lépés ideje

    3. lépés: Hozza létre a lézeres érzékelő áramkört

    Helyezze az alkatrészeket a kenyértáblára az ábrán látható módon. Táplálja a kenyértáblát a pi 5V -os kimenetével vagy asztali tápegységgel. Az 1. Ez az áramkör a fotodiódát használja kapcsolóként a tranzisztor kiváltásához. A tranzisztor a fotodióda kis feszültségváltozását némileg digitális jellé alakítja, amelyet a pi tud olvasni. Minden további lépésnél a 100ohm és a jel led között az a pont lesz, ahol a pi -vel mintát veszünk.

    • Kép
      Kép

      1. ábra: Áramköri kenyértábla elrendezés felső része

    • Kép
      Kép

      2. ábra: Áramköri kenyértábla elrendezés alternatív nézete

    Ha tisztább megjelenést szeretne, csatoltam a kicad fájlokat az alábbi táblához.

    • Kép
      Kép

      3. ábra: Az érzékelő panel felülnézete

    • Kép
      Kép

      4. ábra: ISO érzékelő kártya

    • 4. lépés: Módosítsa a lézert külső áramellátáshoz

      A következő lépésekben elkészíti a lézermutató szerelvényt.

      - Szerelje szét a lézermutatót. Ennek során vegye figyelembe az akkumulátor kivezetéseinek irányát a lézersugárzóhoz képest.- Ezután forrasztja le az akkumulátor csatlakozórugóját és a pillanatnyi nyomógombot a lézerről. Most, amikor áramot kap a lézer, automatikusan bekapcsol.- Most forrasztja a pozitív és negatív vezetékeket a lézerhez. Ha ugyanazt a lézert használja az alkatrészlistából, akkor az alábbi kép segítségével megtekintheti a forrasztási pontokat. Ha nem, akkor lehet, hogy magának kell megtalálnia a forrasztási pontokat. Használhatja az akkumulátor tájolását, mint tippet a pozitív vagy negatív vezetékekhez. Az utolsó forrasztási pont megtalálásához használjon 5 V -os tápegységet, és két mérővezetékkel vizsgálja meg az áramkört. Ha létrehozta a megfelelő áramkört, megtalálta a forrasztási pontot, és a lézer kigyullad.

      • Kép
        Kép

        A narancssárga vezeték helyettesíti a pillanatnyi nyomógombot

      • Kép
        Kép

        A pozitív és negatív vezetékek megjelenítése

      - Az utolsó lépés egy irányított rögzítőoszlop készítése a lézerhez, hogy könnyen beállítható legyen a lézerfoglalat irányába. Azt tapasztaltam, hogy a legtöbb lego bionicle készlet kiváló forrás az olcsó golyókhoz a foglalatokban. Ragassza fel a gömbcsukló egyik darabját a lézermutatóra szuperragasztóval. Most rögzítheti az aljzatcsatlakozót bármilyen felületre, és bepattinthatja a lézert.

      • Kép
        Kép

        Gömbcsukló

      • Kép
        Kép

        Aljzatcsukló

      • Kép
        Kép

        Összeszerelt golyó és foglalat

      • 5. lépés: Kapcsolja be a lézert és tesztelje az érzékelő áramkört

        Csatlakoztassa a lézert a kenyértáblájához. A pozitív csatlakozót 5V -ra kell csatlakoztatni, és a negatív vezetéket földelni kell. Ha a lézer nagyszerűen bekapcsol, ha nem, akkor multiméterrel ellenőrizze ismét, hogy megfelelő -e a feszültség. Ha még mindig nem működik, próbálja meg cserélni a vezetékeket, ha hátra akasztotta. Ha még mindig nem működik, lehet, hogy nem a megfelelő párnákhoz forrasztotta, térjen vissza az utolsó lépéshez.

        • Kép
          Kép

          Működő lézer egészséges sugárzással

        Miután megvan a lézersugárzás, ideje tesztelni az érzékelő áramkört. Irányítsa a lézert a fotodiódára. A LED -nek ki kell kapcsolnia annak jelzését, hogy a sugár aktív. Húzza át kezével a fénysugarat, és a LED -nek be kell kapcsolnia, jelezve, hogy útban van.

        • Kép
          Kép

          A sugár nem törött, és a led ki van kapcsolva

        • Kép
          Kép

          A betolakodó megtöri a fénysugarat, és a led világítani kezd

        • 6. lépés: Csatlakoztassa webkameráját és tesztelje működőképességét

          Csatlakoztassa a webkamerát az USB porthoz. A videó streameléséhez be kell szereznünk az mjpg-streamer segédprogramot. Itt van egy nagyszerű oktatóanyag arról, hogyan kell ezt megtenni. Ha az mjpg-streamer megfelelően telepítve van. Indítsa el a videó streamingjét a következő parancs beírásával a terminálba.

          cd /ahol az mjpg-streamer /mjpg-streamer programot telepítette

          ./mjpg_streamer -i "./input_uvc.so -y/dev/video0" -o "./output_http.so -w./www -p 8081"

          Ez a parancs egy streamet állít be a 8081 -es porton a video0 forrás használatával. Ha több webkamerát szeretne, írja be újra a fenti parancsot, de a video0 -t módosítsa videó1 -re és 8081 -ről 8082 -re. Legfeljebb 3 webkamerát streameltem így, és a pi nem volt túlterhelve.

          Ellenőrizze, hogy a kapcsolat működik-e, ha megnyit egy böngészőt egy másik számítógépen, és írja be az ip-address-of-pi: 8081 kódot, vagy a pi-n egyszerűen írja be a localhost: 8081 parancsot. Ha nem tudja az ip -jét, írja be a következőt a terminálba

          ifconfig

          Ha minden működik, akkor látnia kell az mpg-streamer kezdőlapját. Kattintson a patak fülre a webkamera -adatfolyam megtekintéséhez. Az alábbiakban egy képernyőkép látható a felületről.

          • Kép
            Kép

            mjpg-streamer mintakimenet

          Amikor másodszor csináltam ezt az oktatóanyagot, el tudtam érni az mjpg-streamer kezdőlapját, de nem láttam egy adatfolyamot. Ennek kijavításához elolvastam ezt a bejegyzést (a link megszakadt), különösen a YUYV pixel formátumról szóló részt, ha üres folyamot talál, akkor azt is meg kell vizsgálnia.

          7. lépés: Megszakítás

          Oké, szóval ezen a ponton fel kell indítanunk a málna pi -t. Lézerünket külső tápellátásra módosítottuk. Észlelési áramkörünket felépítettük, és megerősítette, hogy amikor a lézersugár eléri a fotodiódát, a LED kialszik, és amikor megtöri a sugarat, a LED -nek be kell kapcsolnia. Végül csatlakoztatnia kell a webkamerát, és működőképesen streamelnie kell.

          Most itt az ideje összeszedni az egészet. Kezdjük egyszerűen azzal, hogy szoftverrel próbáljuk felismerni a lézersugár kioldását.

          Csatlakoztassa az érzékelő áramkört a kenyértáblához az ábrán látható módon. Győződjön meg arról, hogy az érzékelő jelvezetékét a 25 -ös tüskéhez csatlakoztatta a következő lépés előkészítése során. A lehúzható ellenállás nem opcionális. Volt egy 10 ezres fekvésem, de minden ellenállásnak meg kell tennie.

          • Kép
            Kép

            Kenyeretábla elrendezés PiCoblerrel

          • 8. lépés: A lézer figyelése szoftverrel

            Írjunk egy rövid programot a lézerjel hallgatására, és tegyük közzé a kimenetet a terminálon. A kódot letöltheti mellékletként.

            Valószínűleg telepítenie kell a parancsfájl függőségeit. Python és a gpio modul. Ezek telepítéséhez adja meg

            sudo apt-get install python-rpi.gpio python3-rpi.gpio

            Miután sikeresen telepítette a python -t, töltse le a mellékelt read_pin.py nevű python -szkriptet, és futtassa

            cd /könyvtár, ahová a /chmod 777 read_pin.py fájlt helyezi

            A chmod parancs engedélyezi a szkript futtatását. Ezután teszteld, hogy minden rendben van -e és futás közben

            sudo python3 read_pin.py

            Ha minden jól megy, látnia kell a konzol kimenetét, amint az alább látható. A python parancsfájlból való kilépéshez írja be

            Ctrl-C

          • Kép
            Kép

            Helyes konzol kimenet (a MobaXterm használatával látható)

          Húzza a kezét a lézersugár elé, és látnia kell a konzolon lévő kimenetet, amely figyelmezteti Önt, hogy a sugár megtört. Bátran játsszon a forgatókönyvvel, hogy a rendszer különböző módon működjön.

          9. lépés: Hozzon létre egy weboldalt az adatfolyam megjelenítéséhez

          Most létre kell hoznunk egy webkamera megtekintési felületet. Ehhez a lépéshez telepítenie kell az apache webszervert. Rengeteg oktatóanyag létezik a beállításhoz. De itt van a rövid lista minimális konfigurációval.

          sudo apt-get install apache2

          a telepítés után be kell írnia a böngészőt a raspberry pi -re

          helyi kiszolgáló

          Látnia kell az apache üdvözlőoldalát. Ha ez az első alkalom, hogy beállít egy webszervert, akkor valószínűleg úgy szeretné konfigurálni a pi -t, hogy statikus ip -címmel rendelkezzen, így az útválasztó mindig hozzárendeli a megfelelő IP -t, ha bekapcsolási ciklust végez. Ha más helyről szeretné megtekinteni biztonsági rendszerét, akkor be kell állítania a porttovábbítást az útválasztón. Eltelt egy idő, de azt is gondolom, hogy minden olyan portot továbbítania kell, amelyen webkamera található. Rengeteg oktatóanyag létezik ezekről az eljárásokról. Ne feledje, hogy bárki láthatja webkameráját, ha úgy dönt, hogy beállítja a porttovábbítást az útválasztón.

          A mellékelt fájlok minta weboldalak, amelyek segítségével beállíthatja webhelyét. Meg kell változtatnia a html fájl kiterjesztését, mivel nem engedik fel. Ezután helyezze a fájlokat az apache konfigurációs fájljában lévő www mappába. Az alapértelmezett hely a

          cd /var /www

          Ha meg szeretné változtatni azt a helyet, ahol a webszerver html fájljait keresi, akkor a

          sudo nano/etc/apache2/sites-enabled/000-default

          Módosítsa a/var/www/bármely példányát a kívánt helyre. Betettem az enyémet a/home/pi/Desktop/www/

          Miután a html fájlok a webmappában vannak, írja be a localhost -ot a böngészőbe, vagy a pi ip -címét egy másik számítógépről. Valami ilyesmit kellene látnia.

          • Kép
            Kép

            Képernyőkép a csatolt fájlok működéséről

          ÉDES!

          10. lépés: Állítsa be az e -mail értesítéseket

          Jó dolgok történnek! Nyomjuk meg a szerencsét, ha megpróbálunk e -mail értesítést küldeni a pi -ről egy előre meghatározott e -mail címre. A mellékelt python -szkript felépíti az elküldeni kívánt e -mailjeit, csatlakozik egy e -mail szolgáltatóhoz, például a gmailhez, és elküldi az e -mailt az e -mail szolgáltató használatával. Ezt a python smtp csomagjával érhetjük el. Javaslom, hogy készítsen egy ál -e -mail címet, csak az Ön biztonsági rendszerének, mivel csökkentenünk kell a gmail -fiók biztonságát, hogy az smtp csomag működjön.

          A sikeres átvitel érdekében több helyen módosítania kell a szkriptet. Erősen kommentált, és sok kimenetet hoz létre a terminálon az Ön kényelme érdekében.

          A dolgok, amelyeken változtatni kell, lesznek

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • send_email_username = "az e -mail felhasználóneved"
          • send_email_password = "jelszava"

          A_ip_optional_port valószínűleg üres lesz, kivéve, ha az apache szerver nem az alapértelmezett 80 -as porton fut. Már volt egy szerver 80 -on, ezért a pi -t 8080 -ra állítottam be. A port_to_camera lesz az a port, amelyre a kamerát megadja futtassa az mjpeg streamer használatával.

          Miután megváltoztatta ezeket a változókat a szkript elején, futtassa a programot a következő beírásával a terminálon.

          cd /mappa, ahová a szkriptet helyezte /

          sudo python3 send_mail.py

          Ha a csillagok megfelelően vannak igazítva, és minden változó helyes, akkor az alábbihoz hasonló e -mailt kell kapnia.

          • Kép
            Kép

            Képernyőkép a csatolt fájlok működéséről

          Sok helyen meghiúsulhat ez a szkript. Ne csalódjon, ha az első alkalommal nem működik. A szkript hibakeresési pontjaival szűkítse le a problémás területeket, majd fókuszáljon egy -egy problémára.

          11. lépés: Aktiválja az e -mail szkriptet, amikor a lézer kiold

          Most, hogy a pi képes e -maileket küldeni, automatizáljuk úgy, hogy minden egyes alkalommal, amikor a lézer kiold, e -mailt kapunk. Töltse le a csatolt fájlt, amely a read_pin.py módosított változata, amely új funkciót biztosít a levelező szkripthez. A fő kiegészítő sor a következő

          sm_pid = os.spawnlp (os. P_NOWAIT, "/usr/bin/python3", "python3", "/home/pi/Desktop/security/send_mail.py")

          Ez a sor a lézeres érzékelő szkripttel párhuzamosan elindítja a küldés e -mail szkriptjét. Ez azért kívánatos, mert a levélküldési szkript néhány másodpercig tart, és blokkolja a lézerérzékelő szkript futtatását az e -mail elküldéséig. Ez nem jelent problémát egyetlen kamerarendszer esetén, de ha több kamerája lenne, akkor lézeres kioldást szeretne észlelni az 1 -es kamerán, még akkor is, ha a 2 -es kamera e -mail eseményt váltott ki. Az sm_pid változó tartalmazza a parancs által elindított folyamat pidjét. Ellenőrizzük ezt az azonosítót, ha az e -mail trigger újra meghívásra kerül, ha létezik, az e -mail továbbra is küld, így figyelmen kívül hagyjuk az eseményt. Ha nem létezik, akkor valószínűleg új eseményről van szó, és e -mailt küldünk.

          Futtatással tesztelje, hogy minden működik

          cd /könyvtár, ahová a fájlt helyezte /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          Amikor megtöri a lézersugarat, e -mailt kell kapnia a webkameráról készített pillanatfelvétellel.

          12. lépés: Hozzon létre egy mester szkriptet a rendszer elindításához

          Ezen a ponton a projekt többnyire elkészült. Az utolsó lépés a rendszer indításának egyszerűsítése egy utolsó szkripttel. Elindítja az összes alprogramot, és egy szkript segítségével beállítja a webkamerát. A csatolt fájl indításkor indítható el az /etc/rc.local fájl szerkesztésével. Meg kell változtatnia a fájlkiterjesztést, és előfordulhat, hogy módosítania kell a szkriptet, hogy tartalmazza a megfelelő elérési utakat, ha a szkripteket más helyre helyezi.

          13. lépés: Következtetés

          Hát ez az. Remélem tetszett ez az oktatható! Ha bármilyen kérdése van, vagy részletesebb információra van szüksége, tudassa velem a megjegyzésekben. Bálozz tovább!

          • Kép
            Kép

    Ajánlott: