সুচিপত্র:

ওভারভিউ: হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম: Ste টি ধাপ
ওভারভিউ: হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম: Ste টি ধাপ

ভিডিও: ওভারভিউ: হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম: Ste টি ধাপ

ভিডিও: ওভারভিউ: হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম: Ste টি ধাপ
ভিডিও: Class-02(Batch-17) Understanding Meta (Facebook) Business Manager - Add User to manage Assets 2024, জুন
Anonim
ওভারভিউ: হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম
ওভারভিউ: হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম
ওভারভিউ: হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম
ওভারভিউ: হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম
ওভারভিউ: হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম
ওভারভিউ: হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম

আবেদন সম্পর্কে

এই আইওটি সিস্টেম একটি হোম এন্টারটেইনমেন্ট এবং সিকিউরিটি সিস্টেম।

  1. নিরাপত্তা

    1. RFID কার্ডে ট্যাপ করুন এবং ইনপুট ফায়ারবেসে সংরক্ষিত হয়।
    2. যদি অনুমোদিত হয়, আপনি শান্তিপূর্ণভাবে প্রবেশ করতে পারেন এবং ছবিটি S3 তে তোলা এবং আপলোড করা হয়
    3. যদি অননুমোদিত হয়, প্রতিরক্ষা বিভাগ আসে এবং একটি LCD স্ক্রিন বলবে আপনি অনুমোদিত নন।
  2. প্রতিরক্ষা

    1. ড্যাশবোর্ডে বোতাম টিপুন।
    2. লেজার টুরেটস এলোমেলো বিস্ফোরণ এবং গতিতে আক্রমণ করবে।
  3. বিনোদন

    1. যদি গতি সনাক্ত করা হয়, খেলা শুরু হবে।
    2. ব্যবহারকারী গেমটি খেলার পরে, স্কোরটি ফায়ারবেসে সংরক্ষিত হয়।
    3. এলডিআর মান নেওয়া হবে এবং ড্যাশবোর্ডে আউটপুট হবে।

এই অ্যাপ্লিকেশনটি নিয়ন্ত্রণযোগ্য এবং IBM নোড-রেড ওয়েব সার্ভারের মাধ্যমে দেখা যায়। আমরা AWS এবং IBM ক্লাউড পরিষেবা ব্যবহার করি এবং আমরা আমাদের ডাটাবেস হিসাবে ফায়ারবেস ব্যবহার করি।

যে ধাপগুলো বর্ণনা করা হবে তার সারাংশ

  • হার্ডওয়্যারের প্রয়োজনীয়তা
  • নিরাপত্তা - কিভাবে একটি RFID ইনপুট এবং একটি ছবি স্বীকৃতি সফ্টওয়্যার ব্যবহার করে একটি নিরাপত্তা ব্যবস্থা তৈরি করতে হয়
  • প্রতিরক্ষা - কিভাবে লেজার বুর্জ তৈরি করা যায়
  • বিনোদন - কিভাবে একটি সাইমন -বল খেলা তৈরি করতে
  • IBM Bluemix- এ IOT অ্যাপ ওয়াটসন - কিভাবে একটি ড্যাশবোর্ডে সমস্ত সিস্টেমকে সংহত করা যায়

এই প্রকল্পটি কীভাবে তৈরি করবেন সে সম্পর্কে আরও বিশদ বিবরণের জন্য এগিয়ে যান এবং পিডিএফ ফাইলটি অ্যাক্সেস করুন।

ধাপ 1: হার্ডওয়্যারের প্রয়োজনীয়তা

এই আপনি কি প্রয়োজন হবে

  1. নিরাপত্তা

    • 1 রাস্পবেরি পাই
    • 1 এলসিডি
    • 1 আরএফআইডি রিডার
    • 1 পিক্যাম
    • 2 RFID কার্ড/বোতাম
    • X মহিলা -> পুরুষ জাম্পার তারগুলি
  2. প্রতিরক্ষা

    • 1 রাস্পবেরি পাই
    • 2 10 ㏀ প্রতিরোধক (বোতামের জন্য)
    • 2 মাইক্রো সার্ভো
    • 1 650nm লেজার ট্রান্সমিটার মডিউল
    • 2 পুশ বোতাম
    • 1 বুজার
    • 3 ছোট রাবার ব্যান্ড/কেবল টাই (ফিক্সিংয়ের জন্য)
    • X মহিলা -> পুরুষ জাম্পার তারগুলি
    • এক্স রেগুলার জাম্প ক্যাবলস
    • 1 ট্রানজিস্টর
    • 1 ক্যাপাসিটর
  3. বিনোদন

    • 1 রাস্পবেরি পাই
    • 3 1 ㏀ প্রতিরোধক (LEDs জন্য)
    • 1 10㏀ প্রতিরোধক (এলডিআর এর জন্য)
    • 3 LEDs (বিভিন্ন রং)
    • 3 বোতাম
    • 1 এলডিআর
    • 1 এলসিডি
    • 1 পীর মোশন সেন্সর
    • X মহিলা -> পুরুষ জাম্পার তারগুলি
    • এক্স রেগুলার জাম্প ক্যাবল

পদক্ষেপ 2: নিরাপত্তা

নিরাপত্তা
নিরাপত্তা
নিরাপত্তা
নিরাপত্তা
নিরাপত্তা
নিরাপত্তা

সিকিউরিটি সিস্টেম হার্ডওয়্যার তৈরি করা

ফ্রিজিং ডায়াগ্রামে দেখানো সার্কিটগুলিকে সংযুক্ত করুন

সিকিউরিটি সিস্টেম সফটওয়্যার তৈরি করা

  1. একটি জিনিস তৈরি করে AWS কনফিগার করুন
  2. AWS পাইথন লাইব্রেরি ইনস্টল করুন
  3. এলসিডি লাইব্রেরি ইনস্টল করুন
  4. RFID লাইব্রেরি ইনস্টল করুন
  5. ফায়ারবেস সেটআপ করুন
  6. S3 স্টোরেজ সেটআপ করুন
  7. রাস্পবেরি পাইতে বোটো ইনস্টল করুন
  8. রাস্পবেরি পাইতে AWS ClI ইনস্টল করুন
  9. AWS শংসাপত্র তৈরি করুন
  10. AWS কনফিগার করুন
  11. RPi এ security.py আপলোড করুন
  12. RPi এ imagerecognition.py আপলোড করুন

security.py একটি কোড যা rfid ইনপুট পড়বে এবং ব্যবহারকারী অনুপ্রবেশকারী কিনা তা সনাক্ত করবে। যদি ব্যবহারকারী স্বীকৃত হয়, একটি ছবি নেওয়া হবে এবং s3 তে আপলোড করা হবে। কোডটি AWS MQTT- এ একটি বিষয় প্রকাশ করে

ধাপ 3: প্রতিরক্ষা

প্রতিরক্ষা
প্রতিরক্ষা
প্রতিরক্ষা
প্রতিরক্ষা
প্রতিরক্ষা
প্রতিরক্ষা

লেজার বুর্জ হার্ডওয়্যার তৈরি করা

  1. আমরা 2 servos এবং 1 লেজার মডিউল ব্যবহার করে লেজার বুর্জ তৈরি করি
  2. ফ্রিজিং ডায়াগ্রামে দেখানো সার্কিটগুলিকে সংযুক্ত করুন

লেজার বুর্জ সফটওয়্যার তৈরি করা

নীচের কোডটি লেজার বুর্জকে এলোমেলো দিক থেকে, এলোমেলো বিস্ফোরণ এবং গতিতে অঙ্কুর করবে।

laserturret.py

gpiozero আমদানি থেকে LED, Buzzer, Button, Servoimport সময় থেকে সিগন্যাল আমদানি বিরতি আমদানি বিরতি

#led = LED (12)

#pir = MotionSensor (19, sample_rate = 5, queue_len = 1) buzzer_pin = Buzzer (17) Attack = Button (5, pull_up = False) #reset = Button (6, pull_up = False) servo1 = Servo (18) servo2 = Servo (24)

def ledON ():

led.on () মুদ্রণ ("LED চালু আছে") def ledOFF (): led.off () print ("LED is off")

ডিফ ফায়ার ():

মুদ্রণ ("অস্ত্র গরম") buzzer_pin.on () time.sleep (0.1) buzzer_pin.off ()

def laserturret ():

timeBetweenBurst = 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। = servo2start time.sleep (0.1) shot = 0 details = [timeBetweenBurst, timeBetweenShots, servo1.value, servo2.value, numShots] প্রিন্ট (বিস্তারিত) যখন শট <numshots: shot+= "1" servo1.value = "servo1start" servo2.value = "servo2start" servo1start = "servo1change" servo2start = "servo2change" fire () = "" time.sleep (timebetweenshots) = "" time.sleep (timebetweenburst)

নোট = {

'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}

ডিফ বাজ (ফ্রিকোয়েন্সি, দৈর্ঘ্য): #ফাংশন "বাজ" তৈরি করুন এবং এটি পিচ এবং সময়কাল খাওয়ান)

যদি (ফ্রিকোয়েন্সি == 0):

সময় ঘুম (দৈর্ঘ্য) ফেরার সময়কাল = 1.0 / ফ্রিকোয়েন্সি): #buzzer_pin.on () time.sleep (delayValue) buzzer_pin.off () time.sleep (delayValue) এর উপরে গণনা করা ভেরিয়েবল "চক্র" থেকে 0 শুরু করুন।

ডিফ প্লে (মেলোডি, টেম্পো, পজ, পেস = 0.800):

আমি রেঞ্জে (0, লেন (মেলোডি)): # গান গানের নোটডিউরেশন = গতি/টেম্পো [আমি] বাজ (সুর [আমি], নোটডুরেশন) # গানের নোট বিরতির সাথে ফ্রিকোয়েন্সি পরিবর্তন করুন বিরতি বিরাম

যখন সত্য:

laserturret () বিরতি;

ধাপ 4: বিনোদন

বিনোদন
বিনোদন
বিনোদন
বিনোদন
বিনোদন
বিনোদন

বিনোদন হার্ডওয়্যার তৈরি করা

আমরা সাইমন-বল বোতাম গেমটি তৈরি করি, যা আপনাকে LEDs আলোর প্যাটার্ন অনুসরণ করতে হবে এবং সংশ্লিষ্ট বোতামগুলি টিপতে হবে। এটি ড্যাশবোর্ডে আরও ব্যবহারের জন্য ফায়ারবেস NoSQL ডাটাবেসে স্কোর এবং টাইমস্ট্যাম্প আপলোড করে।

ফ্রিজিং ডায়াগ্রামে দেখানো সার্কিটগুলিকে সংযুক্ত করুন।

বিনোদন সফটওয়্যার তৈরি করা

বিনোদন

আমদানি RPi. GPIO GPIOimport থ্রেডিং আমদানি সময় আমদানি র্যান্ডম আমদানি OS আমদানি firebase আমদানি firebase CONSUMER_KEY থেকে = 'h5Sis7TXdoUVncrpjSzGAvhBH' CONSUMER_SECRET = 'ZfDVxc4aTd9doGmBQO3HiSKKzxSTKT4C3g0B3AGx8eETCJm2rY' ACCESS_KEY = 'DATETIME আমদানি DATETIME সময়ে আমদানি ঘুম থেকে subprocess আমদানি কল থেকে rpi_lcd আমদানি, LCD থেকে tweepy যেমন 988333099669901312- YDLEQN1weW2n1JP4lxJcFPppCsbvzQh 'ACCESS_SECRET =' K2IlUPur6jx7DO5S0HhhZW29H5AQFOvkMMevSsk9ZzwLk 'প্রমাণীকরণ = tweepy. OAuthHandler (CONSUMER_KEY, CONSUMER_SECRET) auth.secure = true auth.set_access_token (ACCESS_KEY, ACCESS_SECRET) API = tweepy. API (প্রমাণীকরণ) firebase = firebase. FirebaseApplication (' HTTPS: // iotca2 -12f48.firebaseio.com ', কিছুই নয় lcd = LCD () lcd.text (' মজা কর! ', 1) lcd.text (' গুড লাক! ', 2) ঘুম (1) # লাল, হলুদ, সবুজ আলো = [40, 38, 36] বাটন = [37, 33, 35] নোট = ["E3", "A4", "E4"] # মান আপনি পরিবর্তন করতে পারেন যা গেম খেলার গতিকে প্রভাবিত করে = 0.5 # পতাকা গেম সংকেত দিতে ব্যবহৃত অবস্থা is_displaying_pattern = মিথ্যা is_won_curr ent_level = false is_game_over = false # game state current_level = 1 current_step_of_level = 0 pattern = def initialize_gpio (): GPIO.setmode (GPIO. BOARD) GPIO.setup (LIGHTS, GPIO. OUT, প্রাথমিক = GPIO. LOW) সেটআপ (BUTTONS, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) i in range (3): GPIO.add_event_detect (BUTTONS , GPIO. FALLING, verify_player_selection) def verify_player_selection_nevel_neveleve_neveleve_neveleve_neveleve_neveleve_neveleve_neveleve_nevel_nevel_nevel_nevel_nevel_nevel_nevel_nevel_nevel_nevel_nevel_nevel_nevel_nevel_nevel_nevel, is_game_over is_displaying_pattern না হলে is_won_current_level নয় এবং is_game_over: flash_led_for_button (চ্যানেল) যদি চ্যানেল == BUTTONS [প্যাটার্ন [current_step_of_level]: current_step_of_level += 1 if current_step_le_tove_le_tve_leve 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_paturn () cur rent_step_of_level is_won_current_level = মিথ্যা current_step_of_level = 0 next_color = random.randint (0, 2) pattern.append (next_color) def display_pattern_to_player (): global is_displaying_pattern is_displaying_ToIn loutO. ItO.in. O. T. O. I. O. I. T.: GPIO.output (LIGHTS [pattern , GPIO. HIGH) time.sleep (speed) GPIO.output (LIGHTS [pattern , GPIO. LOW) time.sleep (speed) is_displaying_pattern = false def wait_for_player_to_repeat_pattern (): যখন is_won_current_level এবং is_game_over না: time.sleep (0.1) Def reset_board_for_new_game (): বিশ্বব্যাপী is_displaying_pattern, is_won_current_level, is_game_over বিশ্বব্যাপী current_level, current_step_of_level, প্যাটার্ন is_displaying_pattern = মিথ্যা is_won_current_level = মিথ্যা is_game_over = মিথ্যা current_level = 1 current_step_of_level = 0 প্যাটার্ন = GPIO.output (LIGHTS, GPIO. LOW) def send_data (স্কোর): lcd.text ('খেলা শেষ,', 1) lcd.text ('শীঘ্রই দেখা হবে!', 2) datestr = str (datetime এখন ()) যখন True: print (datestr) print (score) data = {'Date': datestr, 'Score': score} result = firebase.post ('/scores/', data) print (result) if score> 2: status = 'কেউ স্কোর করেছে' +(str (score))+'on'+datestr+'!' api.update_status (status = status) break start_game (): while True: add_new_color_to_pattern () display_pattern_to_player () wait_for_player_to_repeat_pattern () যদি is_game_over: send_data (current_level - 1) প্রিন্ট হয়.format (current_level - 1)) ঘুম (2) মুদ্রণ ("খেলার জন্য ধন্যবাদ! / n") lcd.text ('', 1) lcd.text ('', 2) বিরতির সময়। ঘুম (2) def start_game_monitor (): t = থ্রেডিং। 'else' clear ') print ("নতুন রাউন্ড শুরু করুন! / n") initialize_gpio () start_game_monitor () পরিশেষে: GPIO.cleanup () যদি _name_ ==' _main_ ': main ()

ধাপ 5: IBM ব্লুমিক্সে IOT অ্যাপ ওয়াটসন [প্রথম পর্ব]

ব্লুমিক্স আইওটি পরিষেবা সেট আপ করুন

  1. একটি গেটওয়ে ডিভাইসের ধরন সেট করুন
  2. একটি ডিভাইস সেট আপ করুন

ধাপ 1 এবং 2 3 বার করুন। একটি RPi একটি বিভাগের জন্য (নিরাপত্তা/প্রতিরক্ষা/বিনোদন)

নোড-রেড সেট আপ করুন

নোড-রেড চালান

নোড-লাল শুরু

  1. হ্যামবার্গার মেনুতে প্যালেট পরিচালনা করতে যান (উপরের ডানদিকে)
  2. নিম্নলিখিত palletes ডাউনলোড করুন

    1. নোড-লাল-ড্যাশবোর্ড
    2. নোড-লাল-অবদান-ফায়ারবেস
    3. নোড-লাল-অবদান-আইবিএম-ওয়াটসন-আইওটি

ধাপ 6: নোড লাল প্রবাহ

নোড লাল প্রবাহ
নোড লাল প্রবাহ
নোড লাল প্রবাহ
নোড লাল প্রবাহ
নোড লাল প্রবাহ
নোড লাল প্রবাহ
নোড লাল প্রবাহ
নোড লাল প্রবাহ

ফাইলগুলি ডাউনলোড করুন এবং আপনার নোড-রেডে রপ্তানি করুন।

নিরাপত্তা নোড-লাল

কোন

প্রতিরক্ষা Rpi নোড-লাল

laserturret.txt

বিনোদন Rpi নোড-লাল

  • বিনোদন rpi flow.txt
  • ldr rpi flow.txt

আইবিএম ব্লুমিক্স নোড-রেড

প্রস্তাবিত: