Orodha ya maudhui:
- Hatua ya 1: Mahitaji ya vifaa
- Hatua ya 2: Usalama
- Hatua ya 3: Ulinzi
- Hatua ya 4: Burudani
- Hatua ya 5: IOT App Watson kwenye IBM Bluemix [Sehemu ya Kwanza]
- Hatua ya 6: Node Red Flows
Video: Muhtasari: Burudani ya Nyumbani na Mfumo wa Usalama: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Kuhusu Maombi
Mfumo huu wa IOT ni Burudani ya Nyumbani na Mfumo wa Usalama.
- Usalama
- Gonga Kadi ya RFID na pembejeo zinahifadhiwa kwenye Firebase.
- Ikiwa umeidhinishwa, unaweza kuingia kwa amani na picha imechukuliwa na kupakiwa kwenye S3
- Ikiwa ruhusa, sehemu ya ulinzi inakuja na Skrini ya LCD itasema haujaruhusiwa.
-
Ulinzi
- Bonyeza kitufe kwenye dashibodi.
- Laser Turrets itashambulia kwa kupasuka kwa kasi na kasi.
-
Burudani
- Ikiwa mwendo umegunduliwa, mchezo utaanza.
- Baada ya mtumiaji kucheza mchezo, alama huhifadhiwa kwenye Firebase.
- Thamani za LDR zitachukuliwa na kutolewa kwenye dashibodi.
Maombi haya yanadhibitiwa na yanaonekana kupitia seva ya wavuti ya IBM Node-Red. Tunatumia AWS na IBM Cloud Services na tulitumia Firebase kama hifadhidata yetu.
Muhtasari wa hatua ambazo zitaelezewa
- Mahitaji ya vifaa
- Usalama - Jinsi ya kuunda mfumo wa usalama ambao hutumia uingizaji wa RFID na programu ya utambuzi wa picha
- Ulinzi - Jinsi ya kuunda turret laser
- Burudani - Jinsi ya kuunda mchezo wa Simon-anasema
- IOT App Watson kwenye IBM Bluemix - Jinsi ya kuunganisha mifumo yote kwenye dashibodi moja
Endelea na fikia faili ya pdf kwa ufafanuzi wa kina juu ya jinsi ya kuunda mradi huu.
Hatua ya 1: Mahitaji ya vifaa
Hii ndio utahitaji
- Usalama
- 1 Raspberry Pi
- 1 LCD
- Msomaji 1 wa RFID
- 1 PiCam
- Kadi / Vifungo 2 vya RFID
- X Kike -> Kamba za kuruka za kiume
-
Ulinzi
- 1 Raspberry Pi
- 2 10 ist Resistor (kwa Vifungo)
- 2 Servo ndogo
- Moduli ya Kusambaza Laser 1 650nm
- 2 Kitufe cha Bonyeza
- 1 Buzzer
- 3 Bendi ndogo za Mpira / Vifungo vya Cable (kwa kurekebisha)
- X Kike -> Kamba za kuruka za kiume
- X nyaya za Kuruka Mara kwa Mara
- 1 Transistor
- 1 Mtunzaji
-
Burudani
- 1 Raspberry Pi
- 3 1, Resistor (kwa LED)
- 1 10㏀ Resistor (kwa LDR)
- LED 3 (Rangi tofauti)
- Vifungo 3
- 1 LDR
- 1 LCD
- 1 Sensor ya Mwendo wa Pir
- X Kike -> Kamba za kuruka za kiume
- X nyaya za Kuruka Mara kwa Mara
Hatua ya 2: Usalama
Kuunda vifaa vya mfumo wa usalama
Unganisha mizunguko kama inavyoonyeshwa kwenye mchoro wa fritzing
Kuunda programu ya mfumo wa usalama
- Sanidi AWS kwa kuunda kitu
- Sakinisha Maktaba ya chatu ya AWS
- Sakinisha Maktaba ya LCD
- Sakinisha Maktaba ya RFID
- Sanidi Firebase
- Sanidi Hifadhi ya S3
- Sakinisha Boto kwenye Raspberry Pi
- Sakinisha AWS ClI kwenye Raspberry Pi
- Unda Kitambulisho cha AWS
- Sanidi AWS
- Pakia usalama.py kwa RPi
- Pakia picharecognition.py kwa RPi
usalama.py ni nambari ambayo itasoma pembejeo za rfid na kugundua ikiwa mtumiaji ni mvamizi au la. Ikiwa mtumiaji anatambuliwa, picha itachukuliwa na kupakiwa kwenye s3. Nambari pia inachapisha kwa mada katika aws MQTT
Hatua ya 3: Ulinzi
Kuunda vifaa vya laser turret
- Tunaunda turret ya laser kwa kutumia servos 2 na Moduli 1 ya Laser
- Unganisha mizunguko kama inavyoonyeshwa kwenye mchoro wa fritzing
Kuunda Programu ya laser turret
Nambari iliyo hapo chini itafanya laser turret ipiga risasi kwa njia zisizo za kawaida, kwa kupasuka kwa kasi na kasi
laserturret.py
kutoka kwa gpiozero kuagiza LED, Buzzer, Button, Servoimport wakati kutoka kwa ishara kuingiza pause kuagiza random
#led = LED (12)
#pir = MotionSensor (19, sample_rate = 5, foleni_len = 1) buzzer_pin = Buzzer (17) shambulio = Kifungo (5, pull_up = False) #reset = Button (6, pull_up = False) servo1 = Servo (18) servo2 = Servo (24)
def ledON ():
led.on () chapa ("LED imewashwa") def ledOFF (): led.off () chapa ("LED imezimwa")
def fire ():
chapisha ("silaha moto") buzzer_pin.on () muda.lala (0.1) buzzer_pin.off ()
def laserturret ():
timeBetweenBurst = random.uniform (0.2, 1) wakatiBearShots = 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. = saa ya kuanza kwa saa. kulala (0.1) risasi = 0 undani = [timeBearBurst, timeBetweenShots, servo1.value, servo2.value, numShots] chapa (undani) wakati unapigwa risasi <numshots: shot + = "1" servo1.value = "servo1start" servo2. Thamani = "servo2start" servo1start = "servo1change" servo2start = "servo2change" moto () = "" time.sleep (timebetweenshots) = "" time. kulala (timebetweenburst)
maelezo = {
'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 (masafa, urefu): #unda kazi "buzz" na uilishe lami na muda)
ikiwa (masafa == 0):
muda wa kulala (urefu) kipindi cha kurudi = 1.0 / masafa # kuchelewesha mara kwa mara Thamani = kipindi / 2 #chukua muda wa nusu ya mawimbi numCycles = int (urefu * frequency) # idadi ya mawimbi = duratime x freq kwa i katika anuwai (numCycles # anza kitanzi kutoka 0 hadi "mizunguko" inayobadilishwa hapo juu buzzer_pin.on () time.sleep (delayValue) buzzer_pin.off () time.sleep (delayValue)
cheza kucheza (melody, tempo, pause, pace = 0.800):
kwa i katika anuwai (0, len (melody)): # Cheza dokezo la wimboDuration = kasi / tempo buzz (melody , noteDuration) # Badilisha mzunguko kwenye kichefuchefu cha wimbo pauseBetweenNotes)
wakati Kweli:
kuvunja laserturret ();
Hatua ya 4: Burudani
Kuunda vifaa vya burudani
Tunaunda mchezo wa kifungo cha Simon-anasema, ambayo lazima ufuate muundo wa taa za taa zinawaka na bonyeza vifungo vinavyolingana. Inapakia alama na muhuri wa muda kwenye hifadhidata ya NoSQL ya firebase kwa matumizi zaidi kwenye dashibodi.
Unganisha mizunguko kama inavyoonyeshwa kwenye mchoro wa Fritzing.
Kuunda Programu ya Burudani
burudani.py
kuagiza RPi. GPIO kama GPIOimport threading kuagiza wakati kuagiza random kuagiza os kuagiza tweepy kutoka rpi_lcd kuagiza LCD kutoka subprocess kuagiza simu kutoka wakati kuagiza usingizi kutoka DATETIME kuagiza DATETIME kutoka Firebase kuagiza Firebase CONSUMER_KEY = 'h5Sis7TXdoUVncrpjSzGAvhBH' CONSUMER_SECRET = 'ZfDVxc4aTd9doGmBQO3HiSKKzxSTKT4C3g0B3AGx8eETCJm2rY' ACCESS_KEY = '988333099669901312- YDLEQN1weW2n1JP4lxJcFPppCsbvzQh 'ACCESS_SECRET =' K2IlUPur6jx7DO5S0HhhZW29H5AQFOvkMMevSsk9ZzwLk 'Auth = tweepy. OAuthHandler (CONSUMER_KEY, CONSUMER_SECRET) auth.secure = auth.set_access_token Kweli (ACCESS_KEY, ACCESS_SECRET) api = tweepy. API (Auth) Firebase = firebase. FirebaseApplication (' https:// iotca2 -12f48.firebaseio.com ', Hamna) lcd = LCD () lcd. Maandishi (' Kuwa na furaha! ', 1) lcd. maandishi (' Bahati nzuri! ', 2) kulala (1) # Nyekundu, Njano, NURU YA TAI = [40, 38, 36] Vifungo = [37, 33, 35] MAELEZO = ["E3", "A4", "E4"] Thamani # unazoweza kubadilisha zinazoathiri kasi ya uchezaji wa mchezo = 0.5 bendera zinazotumiwa kuashiria mchezo hadhi is_displaying_pattern = Uongo ni_won_curr ent_level = Uongo ni_mchezo_over = Uongo # hali ya mchezo wa sasa_level = 1 ya sasa_ hatua_ya_level = 0 muundo = def initialize_gpio (): GPIO.setmode (GPIO. BOARD) GPIO.setup (LIGHTS, GPIO. OUT, initial = GPIO. LOW) GPIO. usanidi (BUTTONS, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) kwa i katika masafa (3): GPIO.add_event_detect (BUTTONS , GPIO. FALLING, confirm_player_selection) def confirm_player_selection (kituo): global current_step_oflevel, wave, sasa, is_game_over if not is_displaying_pattern and not is_won_current_level and is 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_le_la_la_la_la_la_la_la_la_la_la_la_la_la_za_ujuzi_wa_wa_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_la_lawakati = kweli = = sasa flash_led_for_button (button_channel): led = TAA [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_won_ cur rent_step_of_level is_won_current_level = Uongo wa sasa_tep_of_level = 0 next_color = random.randint (0, 2) mfano.: Pato la GPIO (taa [mfano] [): wakati sio_i_kwakati_kwa sasa na sio_mchezo_wakati: saa. kulala (0.1) def_board_for_new_game (): kimataifa is_displaying_pattern, is_won_current_level, is_game_over global current_level, current_step_of_level = GPIO.output (Taa, GPIO. LOW) def send_data (alama): lcd.text ('Mwisho wa mchezo,', 1) lcd.text ('Tutaonana hivi karibuni!', 2) datestr = str (datetime. now ()) wakati Kweli: chapa (datestr data ya kuchapisha (alama) = {'Tarehe': datestr, 'Alama': alama} matokeo = firebase.post ('/ alama /', data) chapisha (matokeo) ikiwa alama> 2: status = 'Mtu amepata bao' + (str (alama)) + 'on' + datestr + '!' api. format (current_level - 1)) lala (2) chapisha ("Asante kwa kucheza! / n") lcd.text ('', 1) lcd.text ('', 2) muda wa mapumziko. kulala (2) def start_game_monitor Thread (target = start_game) t.daemon = Kweli t.start () t.join () def main (): jaribu: os.system ('cls' if os.name == 'nt) 'kingine' wazi ') chapa ("Anza raundi mpya!
Hatua ya 5: IOT App Watson kwenye IBM Bluemix [Sehemu ya Kwanza]
Sanidi Huduma ya Blumix IoT
- Sanidi Aina ya Kifaa cha Lango
- Sanidi Kifaa
Fanya hatua 1 na 2 kwa mara 3. RPi moja ni ya sehemu moja (Usalama / Ulinzi / Burudani)
Sanidi Node-Nyekundu
Run node-nyekundu
node-nyekundu kuanza
- Nenda kudhibiti palette kwenye menyu ya hamburger (juu kulia)
-
Pakua palletes zifuatazo
- node-nyekundu-dashibodi
- node-nyekundu-contrib-firebase
- node-nyekundu-contrib-ibm-watson-iot
Hatua ya 6: Node Red Flows
Pakua faili na usafirishe kwenye node-nyekundu yako.
Node-Nyekundu ya Usalama
hakuna
Ulinzi Rpi Node-Nyekundu
laserturret.txt
Burudani Rpi Node-Nyekundu
- burudani rpi kati yake.txt
- ldr rpi mtiririko.txt
Nambari-Nyekundu ya IBM
Ilipendekeza:
Mfumo wa Usalama wa nyumbani Kutumia Fusion ya sensorer: Hatua 5
Mfumo wa Usalama uliotengenezwa nyumbani Kutumia Fusion ya sensa Lengo la asili lilikuwa kuunda kitu ambacho kinaweza kuniarifu wakati mtu anapanda ngazi lakini mimi pia
Mfumo mmoja wa Usalama wa Usalama wa Wanawake: Hatua 3
Mfumo mmoja wa Usalama wa Wanawake wa Kugusa: Moja ya kengele ya kugusa Mfumo wa usalama wa Wanawake ukitumia mtawala mdogo wa 8051Katika Usalama wa Wanawake Ulimwenguni Leo ni Suala Muhimu Zaidi Katika Nchi. Leo Wanawake Wanasumbuliwa Na Kusumbuka Na Wakati Mwingine Wakati Msaada Wa Haraka Unahitajika. Hakuna Lugha Inayohitajika
Jinsi ya kutengeneza Mfumo wa Usalama wa Mwendo wa Usalama wa PIR: Hatua 3
Jinsi ya kutengeneza Mfumo wa Usalama wa Mwendo wa Usalama wa PIR: Katika video hii tutafanya mfumo wa usalama ambao hugundua mwendo na unazungumza. Katika mradi huu sensorer ya PIR hugundua mwendo na moduli ya MP3 ya DFPlayer Mini hucheza sauti iliyofafanuliwa hapo awali
Mfumo mmoja wa USALAMA WA USALAMA WA kugusa One: Hatua 5
Mfumo wa USALAMA WA WANAWAKE Mguso mmoja: Katika Usalama wa Wanawake Ulimwenguni Leo ni Suala Muhimu Zaidi Katika Nchi. Leo Wanawake Wanasumbuliwa Na Kusumbuka Na Wakati Mwingine Wakati Msaada Wa Haraka Unahitajika. Hakuna Mahali Mahitajika Kama Wanawake Ili Watu waweze Kusaidia, umuhimu wake kwamba sisi
$ 10 Usalama wa Usalama wa Nyumbani wa mbali: Hatua 7
$ 10 Usalama wa Usalama wa Nyumbani wa mbali: Badilisha kamera ya wavuti isiyo na gharama kubwa kuwa mfumo wa usalama wa nyumbani uliofichwa unaoweza kutazamwa mahali popote ulimwenguni kutoka kwa simu yako ya rununu! Natumai kweli kama hii na ikiwa unataka kujisikia vizuri wa mradi unaweza kutazama video yangu