![Áttekintés: Otthoni szórakoztató és biztonsági rendszer: 6 lépés Áttekintés: Otthoni szórakoztató és biztonsági rendszer: 6 lépés](https://i.howwhatproduce.com/images/002/image-5083-65-j.webp)
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48
![Áttekintés: Otthoni szórakoztató és biztonsági rendszer Áttekintés: Otthoni szórakoztató és biztonsági rendszer](https://i.howwhatproduce.com/images/002/image-5083-66-j.webp)
![Áttekintés: Otthoni szórakoztató és biztonsági rendszer Áttekintés: Otthoni szórakoztató és biztonsági rendszer](https://i.howwhatproduce.com/images/002/image-5083-67-j.webp)
![Áttekintés: Otthoni szórakoztató és biztonsági rendszer Áttekintés: Otthoni szórakoztató és biztonsági rendszer](https://i.howwhatproduce.com/images/002/image-5083-68-j.webp)
Az Alkalmazásról
Ez az IOT rendszer egy otthoni szórakoztató és biztonsági rendszer.
-
Biztonság
- Koppintson az RFID kártya elemre, és a bemenet a Firebase -be kerül mentésre.
- Ha jogosult, nyugodtan beléphet, és a kép elkészül, és feltöltődik az S3 -ra
- Ha nem jogosult, akkor megjelenik a védelmi rész, és az LCD -képernyőn megjelenik a felhatalmazás.
-
Védelem
- Nyomja meg a gombot a műszerfalon.
- A lézeres tornyok véletlenszerű sorozatban és sebességgel támadnak.
-
Szórakozás
- Ha mozgást észlel, a játék elindul.
- Miután a felhasználó játszik a játékkal, a pontszám a Firebase -be kerül mentésre.
- Az LDR értékeket leveszi és megjeleníti a műszerfalon.
Ez az alkalmazás az IBM Node-Red webszerveren keresztül vezérelhető és megtekinthető. Az AWS és az IBM Cloud Services szolgáltatásait használjuk, és a Firebase adatbázisát használtuk.
A leírt lépések összefoglalása
- Hardverkövetelmények
- Biztonság - RFID bemenetet és képfelismerő szoftvert használó biztonsági rendszer létrehozása
- Védelem - Hogyan készítsünk lézertornyot
- Szórakozás - Simon -mondja játék létrehozása
- IOT App Watson az IBM Bluemix rendszeren - Hogyan lehet az összes rendszert egyetlen műszerfalba integrálni
Lépjen tovább, és nyissa meg a pdf fájlt, hogy részletesebb magyarázatot kapjon a projekt létrehozásáról.
1. lépés: Hardverkövetelmények
Erre lesz szüksége
-
Biztonság
- 1 Málna Pi
- 1 LCD
- 1 RFID olvasó
- 1 PiCam
- 2 RFID kártya/gomb
- X Női -> Férfi áthidaló kábelek
-
Védelem
- 1 Málna Pi
- 2 10 ㏀ ellenállás (gombokhoz)
- 2 Micro Servo
- 1 650 nm -es lézer adó modul
- 2 Nyomógomb
- 1 Hangjelző
- 3 kis gumiszalag/kábelköteg (rögzítéshez)
- X Női -> Férfi áthidaló kábelek
- X Rendszeres ugrókábelek
- 1 tranzisztor
- 1 kondenzátor
-
Szórakozások
- 1 Málna Pi
- 3 1 ㏀ Ellenállás (LED -ekhez)
- 1 10㏀ ellenállás (LDR esetén)
- 3 LED (különböző színek)
- 3 gomb
- 1 LDR
- 1 LCD
- 1 Pir mozgásérzékelő
- X Női -> Férfi áthidaló kábelek
- X Rendszeres ugrókábelek
2. lépés: Biztonság
![Biztonság Biztonság](https://i.howwhatproduce.com/images/002/image-5083-69-j.webp)
![Biztonság Biztonság](https://i.howwhatproduce.com/images/002/image-5083-70-j.webp)
![Biztonság Biztonság](https://i.howwhatproduce.com/images/002/image-5083-71-j.webp)
A biztonsági rendszer hardverének létrehozása
Csatlakoztassa az áramköröket a fritázási diagram szerint
A biztonsági rendszer szoftverének létrehozása
- Az AWS beállítása egy dolog létrehozásával
- Telepítse az AWS Python Library programot
- Telepítse az LCD könyvtárat
- Telepítse az RFID könyvtárat
- A Firebase beállítása
- Az S3 Storage beállítása
- Telepítse a Boto -t a Raspberry Pi -re
- Telepítse az AWS ClI -t a Raspberry Pi -re
- Hozzon létre AWS hitelesítő adatokat
- Az AWS konfigurálása
- A security.py feltöltése az RPi -be
- Töltse fel a imagerecognition.py fájlt az RPi -be
A security.py egy olyan kód, amely beolvassa az RFID bemeneteket, és érzékeli, hogy a felhasználó betolakodó -e vagy sem. Ha a felhasználó felismerhető, akkor egy kép készül és feltöltésre kerül az s3 -ra. A kód az aws MQTT -ben is közzéteszi a témát
3. lépés: Védelem
![Védelem Védelem](https://i.howwhatproduce.com/images/002/image-5083-72-j.webp)
![Védelem Védelem](https://i.howwhatproduce.com/images/002/image-5083-73-j.webp)
![Védelem Védelem](https://i.howwhatproduce.com/images/002/image-5083-74-j.webp)
Lézertorony létrehozása Hardver
- A lézertornyot 2 szervó és 1 lézermodul használatával hozzuk létre
- Csatlakoztassa az áramköröket a fritázási diagramon látható módon
A lézertorony szoftver létrehozása
Az alábbi kód segítségével a lézertorony véletlenszerű irányokban, véletlenszerű kitörésekben és sebességgel lő
laserturret.py
gpiozero import LED -től, zümmögő, gomb, szervoimport idő a jel importálásától szünet importálás véletlenszerű
#led = LED (12)
#pir = MotionSensor (19, sample_rate = 5, queue_len = 1) buzzer_pin = Zümmögő (17) attack = Button (5, pull_up = False) #reset = Button (6, pull_up = False) servo1 = Servo (18) servo2 = Szervó (24)
def ledON ():
led.on () print ("LED világít") def ledOFF (): led.off () print ("LED ki van kapcsolva")
def fire ():
print ("forró fegyverek") buzzer_pin.on () time.sleep (0.1) buzzer_pin.off ()
def laserturret ():
timeBetweenBurrst = random.uniform (0,2, 1) timeBetweenShots = random.uniform (0,05, 0,2) servo1start = random.randrange (-1, 1) servo1end = random.randrange (-1, 1) servo2start = random.randrange (-1, 1) servo2end = random.randrange (-1, 1) numShots = random.randrange (5, 20) servo1change = (servo1end - servo1start)/numShots servo2change = (servo2end - servo2start)/numShots servo1.value = servo1start servo2.value = servo2kezdési idő.alvás (0,1) lövés = 0 részlet = [timeBetweenBurrst, timeBetweenShots, servo1.value, servo2.value, numShots] print (részlet), miközben lövés <numshots: shot+= "1" servo1.value = "servo1start" servo2.value = "servo2start" servo1start = "servo1change" servo2start = "servo2change" fire () = "" time.sleep (timebetweenshots) = "" time.sleep (timebetweenburst)
jegyzetek = {
„B0”: 31, „C1”: 33, „CS1”: 35, „D1”: 37, „DS1”: 39, „EB1”: 39, „E1”: 41, „F1”: 44, „FS1” ": 46," G1 ": 49," GS1 ": 52," A1 ": 55," AS1 ": 58," BB1 ": 58," B1 ": 62," C2 ": 65," CS2 ": 69, „D2”: 73, „DS2”: 78, „EB2”: 78, „E2”: 82, „F2”: 87, „FS2”: 93, „G2”: 98, „GS2”: 104, „A2”: 110, „AS2”: 117, „BB2”: 123, „B2”: 123, „C3”: 131, „CS3”: 139, „D3”: 147, „DS3”: 156, „EB3” ": 156," E3 ": 165," F3 ": 175," FS3 ": 185," G3 ": 196," GS3 ": 208," A3 ": 220," AS3 ": 233," BB3 ": 233, „B3”: 247, „C4”: 262, „CS4”: 277, „D4”: 294, „DS4”: 311, „EB4”: 311, „E4”: 330, „F4”: 349, „FS4”: 370, „G4”: 392, „GS4”: 415, „A4”: 440, „AS4”: 466, „BB4”: 466, „B4”: 494, „C5”: 523, „CS5” ": 554," D5 ": 587," DS5 ": 622," EB5 ": 622," E5 ": 659," F5 ": 698," FS5 ": 740," G5 ": 784," GS5 ": 831, „A5”: 880, „AS5”: 932, „BB5”: 932, „B5”: 988, „C6”: 1047, „CS6”: 1109, „D6”: 1175, „DS6”: 1245, „EB6”: 1245, „E6”: 1319, „F6”: 1397, „FS6”: 1480, „G6”: 1568, „GS6”: 1661, „A” 6 ': 1760,' AS6 ': 1865,' BB6 ': 1865,' B6 ': 1976,' C7 ': 2093,' CS7 ': 2217,' D7 ': 2349,' DS7 ': 2489,' EB7 ': 2489, „E7”: 2637, „F7”: 2794, „FS7”: 2960, „G7”: 3136, „GS7”: 3322, „A7”: 3520, „AS7”: 3729, „BB7”: 3729, „B7”: 3951, „C8”: 4186, „CS8”: 4435, „D8”: 4699, „DS8”: 4978}
def buzz (gyakoriság, hossz): #hozza létre a "buzz" funkciót, és adja meg a hangmagasságot és az időtartamot)
ha (gyakoriság == 0):
time.sleep (length) return period = 1.0 / frequency #frequency delayValue = period / 2 #számítsa ki az időt a hullám felére): #indítson ciklust 0 -tól a "ciklusok" változóig, amelyet a buzzer_pin.on () időn keresztül alszik (delayValue) buzzer_pin.off () time.sleep (delayValue)
def play (dallam, tempó, szünet, tempó = 0,800):
i tartományban (0, len (dallam)): # Dal lejátszása noteDuration = ütem/tempó zümmögés (dallam , noteDuration) # A frekvencia módosítása a dal mentén pauseBetweenNotes = noteDuration * pause time.sleep (pauseBetweenNotes)
míg igaz:
laserturret () szünet;
4. lépés: Szórakozás
![Szórakozás Szórakozás](https://i.howwhatproduce.com/images/002/image-5083-75-j.webp)
![Szórakozás Szórakozás](https://i.howwhatproduce.com/images/002/image-5083-76-j.webp)
![Szórakozás Szórakozás](https://i.howwhatproduce.com/images/002/image-5083-77-j.webp)
A szórakoztató hardver létrehozása
Létrehozzuk a Simon-mondja gombjátékot, amelynek követnie kell a felgyulladó LED-ek mintáját, és meg kell nyomnia a megfelelő gombokat. Feltölti a pontszámokat és az időbélyeget a Firebase NoSQL adatbázisába, hogy további módon használhassa az irányítópultokat.
Csatlakoztassa az áramköröket a Fritzing diagram szerint.
Szórakoztató szoftver létrehozása
szórakozás.py
import RPi. GPIO mint GPIOimport threading import ideje import random import os import tweepy származó rpi_lcd import LCD származó alprocessz import hívás ideje import alvás datetime import datetime származó firebase import firebase CONSUMER_KEY = 'h5Sis7TXdoUVncrpjSzGAvhBH' CONSUMER_SECRET = 'ZfDVxc4aTd9doGmBQO3HiSKKzxSTKT4C3g0B3AGx8eETCJm2rY' ACCESS_KEY = „988333099669901312- YDLEQN1weW2n1JP4lxJcFPppCsbvzQh 'ACCESS_SECRET = 'K2IlUPur6jx7DO5S0HhhZW29H5AQFOvkMMevSsk9ZzwLk' auth = tweepy. OAuthHandler (CONSUMER_KEY, CONSUMER_SECRET) auth.secure = True auth.set_access_token (ACCESS_KEY, ACCESS_SECRET) api = tweepy. API (auth) firebase = firebase. FirebaseApplication (' https:// iotca2 -12f48.firebaseio.com ', Nincs = [40, 38, 36] GOMBOK = [37, 33, 35] MEGJEGYZÉSEK = ["E3", "A4", "E4"] # módosítható érték, amelyek befolyásolják a játék sebességét = 0,5 # zászló a játék jelzésére állapot is_displaying_pattern = Hamis is_won_curr ent_level = Hamis is_game_over = Hamis # játékállapot aktuális_szint = 1 aktuális_lépés_szintű = 0 minta = def initialize_gpio (): GPIO.setmode (GPIO. BOARD) GPIO.setup (LIGHTS, GPIO. OUT, initial = GPIO. LOW) GPIO. beállítás (BUTTONS, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) az (i) tartományban (3): GPIO.add_event_detect (GOMBOK , GPIO. FALLING, ellenőrző_játékos_választás) is_game_over ha nem is_displaying_pattern és nem is_won_current_level és not is_game_over: flash_led_for_button (channel) if channel == BUTTONS [pattern [current_step_of_level]: current_step_of_level += 1 if current_step_of_le_wel_le = flash_led_for_button (button_channel): led = LIGHTS [BUTTONS.index (button_channel)] GPIO.output (led, GPIO. HIGH) time.sleep (0.4) GPIO.output (led, GPIO. LOW) def add_new_color_to_pattern (): global is_wonvel_current korcs rent_step_of_level is_won_current_level = Hamis current_step_of_level = 0 next_color = random.randint (0, 2) pattern.append (next_color) def display_pattern_to_player (): globális is_displaying_pattern is_displaying_pattern = globális is_displaying_pattern is_displaying_pattern = valódi GPIO.teljesítmény (GPIO): GPIO.output (LIGHTS [minta , GPIO. HIGH) time.sleep (sebesség) GPIO.output (LIGHTS [minta , GPIO. LOW) time.sleep (sebesség) is_displaying_pattern = False def wait_for_player_to_repeat_pattern (): bár nem is_won_current_level és nem is_game_over: time.sleep (0.1) def reset_board_for_new_game (): globális is_displaying_pattern, is_won_current_level, is_game_ver_vel_verf = aktuális GPIO.output (LIGHTS, GPIO. LOW) def send_data (score): lcd.text ('A játék vége', 1) lcd.text ('Találkozunk hamarosan!', 2) datestr = str (datetime. most ()), míg True: print (datestr) print (score) data = {'Date': datestr, 'Score': score} result = firebase.post ('/score/', data) print (result) if score> 2: status = 'Valaki gólt szerzett' +(str (score))+'on'+datestr+'!' api.update_status (állapot = állapot) break def start_game (): míg True: add_new_color_to_pattern () display_pattern_to_player () wait_for_player_to_repeat_pattern () if is_game_over: send_data (current_level - 1) print ("Game Over! n score").format (current_level - 1)) sleep (2) print ("Köszönjük, hogy játszott! / n") lcd.text ('', 1) lcd.text ('', 2) break time.sleep (2) def start_game_monitor (): t = menet. Thread (target = start_game) t.daemon = True t.start () t.join () def main (): try: os.system ('cls' if os.name == 'nt 'else' clear ') print ("Kezdje az új kört! / n") initialize_gpio () start_game_monitor () végül: GPIO.cleanup () if _name_ ==' _main_ ': main ()
5. lépés: IOT App Watson az IBM Bluemix rendszeren [első rész]
Állítsa be a Blumix IoT szolgáltatást
- Állítson be átjáróeszköz -típust
- Eszköz beállítása
Végezze el az 1. és 2. lépést háromszor. Egy RPi egy szakaszra vonatkozik (Biztonság/Védelem/Szórakozás)
Állítsa be a piros csomópontot
Fuss csomópont-piros
csomópont-vörös indítás
- Menjen a paletta kezeléséhez a hamburger menüben (jobb felső sarokban)
-
Töltse le a következő palettákat
- csomópont-piros-műszerfal
- node-red-contrib-firebase
- node-red-contrib-ibm-watson-iot
6. lépés: Csomópont piros
![Node Red Flows Node Red Flows](https://i.howwhatproduce.com/images/002/image-5083-78-j.webp)
![Node Red Flows Node Red Flows](https://i.howwhatproduce.com/images/002/image-5083-79-j.webp)
![Node Red Flows Node Red Flows](https://i.howwhatproduce.com/images/002/image-5083-80-j.webp)
![Node Red Flows Node Red Flows](https://i.howwhatproduce.com/images/002/image-5083-81-j.webp)
Töltse le a fájlokat, és exportálja a csomópont-vörösbe.
Biztonsági csomópont-piros
egyik sem
Védelmi Rpi Node-Red
laserturret.txt
Szórakozás Rpi Node-Red
- szórakoztató rpi flow.txt
- ldr rpi flow.txt
IBM Bluemix Node-Red
Ajánlott:
IOT otthoni biztonsági rendszer: 3 lépés
![IOT otthoni biztonsági rendszer: 3 lépés IOT otthoni biztonsági rendszer: 3 lépés](https://i.howwhatproduce.com/images/006/image-16445-j.webp)
IOT otthoni biztonsági rendszer: Az egyik leghasznosabb IoT -alkalmazás az otthoni biztonság. Képzelje el, hogy egy tolvaj elvágja a biztonsági kamera vezetékét, miközben megpróbál betörni a házába, ez nem történik meg, ha a biztonsági rendszere vezeték nélküli és okos lesz
Otthoni biztonsági rendszer: 5 lépés
![Otthoni biztonsági rendszer: 5 lépés Otthoni biztonsági rendszer: 5 lépés](https://i.howwhatproduce.com/images/010/image-27484-j.webp)
Otthoni biztonsági rendszer: Készítse el saját otthoni biztonsági rendszerét a Raspberry pi használatával
Egygombos női biztonsági biztonsági rendszer: 3 lépés
![Egygombos női biztonsági biztonsági rendszer: 3 lépés Egygombos női biztonsági biztonsági rendszer: 3 lépés](https://i.howwhatproduce.com/images/003/image-7133-2-j.webp)
Egygombos női biztonsági biztonsági rendszer: Egyérintéses riasztó Női biztonsági rendszer 8051 mikrovezérlővelA mai világban a nők biztonsága a legfontosabb kérdés az országban. Ma a nőket zaklatják és zavarják, és néha, amikor sürgős segítségre van szükség. Nincs kötelező helymeghatározás
Arduino otthoni biztonsági rendszer: 7 lépés (képekkel)
![Arduino otthoni biztonsági rendszer: 7 lépés (képekkel) Arduino otthoni biztonsági rendszer: 7 lépés (képekkel)](https://i.howwhatproduce.com/images/005/image-13196-14-j.webp)
Arduino otthoni biztonsági rendszer: Ez az Arduino Mega 2560 -at használó otthonbiztonsági rendszer, amely riasztást vált ki, amikor ajtót kinyitják, vagy mozgást észlel a szobában, amikor a rendszert aktiválják. Ez egy szép projekt bárkinek az utolsó évben az egyetemen. frissítheted
Internet engedélyezett DSC otthoni biztonsági rendszer: 22 lépés
![Internet engedélyezett DSC otthoni biztonsági rendszer: 22 lépés Internet engedélyezett DSC otthoni biztonsági rendszer: 22 lépés](https://i.howwhatproduce.com/images/001/image-2411-t.webp)
Internet engedélyezett DSC Home Security System: Módosítsa a meglévő DSC Home Security rendszert, hogy engedélyezze az internetet és önellenőrzést végezzen. Ez az útmutató azt feltételezi, hogy működik a Raspberry Pi. Felhívjuk figyelmét, hogy ennek a megvalósításnak a következő hiányosságai vannak: Ha egy tolvaj elvágja a bejövő DSL-kábelt