Სარჩევი:

სკოლის ზარი დისტანციური სტუდენტებისთვის: 6 ნაბიჯი
სკოლის ზარი დისტანციური სტუდენტებისთვის: 6 ნაბიჯი

ვიდეო: სკოლის ზარი დისტანციური სტუდენტებისთვის: 6 ნაბიჯი

ვიდეო: სკოლის ზარი დისტანციური სტუდენტებისთვის: 6 ნაბიჯი
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ნოემბერი
Anonim
სკოლის ზარი დისტანციური სტუდენტებისთვის
სკოლის ზარი დისტანციური სტუდენტებისთვის

COVID-19 პანდემიის გამო, ბევრი საბავშვო სკოლა გადავიდა დისტანციურ მიწოდებაზე. ეს საშინაო სკოლის ზარი არის სახალისო გზა გრაფიკის შესანარჩუნებლად, რომელიც იყენებს Raspberry Pi და USB სპიკერს. ამის გაკეთება შეგიძლიათ თქვენს შვილთან ერთად და მათ შეუძლიათ ისწავლონ პროგრამირების შესახებ და შეუძლიათ "ზარის რეკვა". მე ეს ავაშენე ჩემი ქალიშვილისთვის, რომელიც მე –7 კლასში მიდის (ამჟამად დისტანციური მიწოდების გზით) და ის კარგად მუშაობს, რომ დროულად შეგვინარჩუნოს.

მარაგები

ამ პროექტისთვის დაგჭირდებათ:

  • Raspberry Pi კომპიუტერი - ის საუკეთესოდ მუშაობს თუ WiFi გაქვთ, მე გამოვიყენე RPi 3B კანო ნაკრებიდან
  • სპიკერი - მე გამოვიყენე USB სპიკერი

კოდი ადვილად გაშვებული იქნება თქვენი სტუდენტის linux კომპიუტერზე ან თუნდაც მიკროპითონზე მომუშავე მიკროკონტროლერზე, რამდენადაც მიკროკონტროლერს აქვს რაიმე მექანიზმი მიმდინარე თარიღის/დროის მისაღებად. ასევე შეიძლება გამოყენებულ იქნას ნებისმიერი გამაძლიერებელი სპიკერი, ან თუნდაც უფრო მაგარი რელე / ანალოგური ზარი.

ნაბიჯი 1: შექმენით თქვენი Raspberry Pi

შექმენით თქვენი Raspberry Pi
შექმენით თქვენი Raspberry Pi

არსებობს უამრავი რესურსი Raspberry Pi კომპიუტერის დასაყენებლად, ამიტომ მე მოგახსენებთ ერთს, რომელსაც Google აღმოაჩენს. მთავარია, რომ თქვენს კომპიუტერს აქვს საშუალება მიიღოს ზუსტი თარიღი და დრო. ყველაზე თანამედროვე WiFi- ჩართული Raspberry Pi კომპიუტერები იყენებენ NTP პროტოკოლს ინტერნეტიდან დროის დასადგენად, რაც არის ის, რაც მე მივიღე სწორი დრო. მე დავაყენე ჩემი RPi რომ იყოს "უთავო", რაც იმას ნიშნავს, რომ მას არ აქვს კლავიატურა ან მონიტორი, მაგრამ ხელმისაწვდომია უსაფრთხო გარსით (SSH) ინტერნეტით. თუ კარგად ერკვევით RPi– ში, შეგიძლიათ გააკეთოთ ეს კონფიგურაცია კლავიატურის / ვიდეოს / მაუსის გარეშე, მაგრამ უფრო ადვილია მხოლოდ pi– ს დაყენება ამ აქსესუარებით.

გაითვალისწინეთ, რომ მე არ მჭირდებოდა გრაფიკული ინტერფეისის გამოყენება, ამიტომ მე უბრალოდ გადმოვწერე "Raspberry Pi OS (32-bit) Lite", რომელიც უფრო პატარა და სწრაფია გადმოსაწერად და უფრო სწრაფად ჩატვირთვისას.

Raspberry Pi ქსელის და ინტერფეისის პარამეტრების კონფიგურაცია

$ sudo raspi-config

კონფიგურაციაში გააკეთეთ შემდეგი:

  • შეცვალეთ პაროლი - გააკეთეთ ეს ჯერ, იმედია ინტერნეტში შესვლამდე!
  • "ქსელის პარამეტრები",

    • მასპინძლის სახელის შეცვლა. გამოვიყენე მასპინძლის სახელი: "სკოლის ზარი".
    • დაუკავშირდით თქვენს უკაბელო LAN- ს (თუ ეს არ გაგიკეთებიათ დაყენებისას)
  • "ინტერფეისის პარამეტრების" განყოფილებაში ჩართეთ SSH წვდომა
  • ყოველთვის კარგია "განახლების" ვარიანტის გაშვება

მას შემდეგ რაც ამას გააკეთებთ და გადატვირთავთ, თქვენ უნდა შეგეძლოთ დაუკავშიროთ Raspberry Pi სხვა კომპიუტერს იმავე ლოკალურ ქსელში SSH კლიენტის გამოყენებით. დაუკავშირდით მას შემდეგი სერთიფიკატების გამოყენებით:

მასპინძლის სახელი: schoolbell.local

მომხმარებელი: pi პაროლი: whateveryousetitas

Linux ყუთიდან, ეს ისეთივე მარტივია, როგორც ამ ბრძანების ხაზის აკრეფა $ მოთხოვნაზე:

$ ssh [email protected]

… შეიყვანეთ პაროლი მოთხოვნისთანავე

ეს დარეგისტრირდება თქვენში და შეგიძლიათ შეამოწმოთ, რომ ჟოლოს პიზე დრო სწორია. ბრძანების ხაზში ჩაწერეთ თარიღის ბრძანება და შეამოწმეთ პასუხი:

pi@schoolbell: ~ $ თარიღი

ხუთ 3 სექტემბერი 20:44:34 AKDT 2020

იმედია ეს არის ახლანდელი დრო. თუ ეს არ არის სწორი, google- ის შესახებ Raspberry Pi- ზე NTP- ის დაყენების შესახებ.

ნაბიჯი 2: გაააქტიურეთ თქვენი ხმის სისტემა

გაააქტიურეთ თქვენი ხმის სისტემა
გაააქტიურეთ თქვენი ხმის სისტემა

ჩვენ ვაპირებთ ვითამაშოთ MP3 ფაილები ზარებისათვის, ამიტომ ჩვენ გვჭირდება პროგრამული უზრუნველყოფის ჩამოტვირთვა ამ აუდიო ფაილების დეკოდირებისთვის. მე მივიღე mpg321 პაკეტი ამ ბრძანების აკრეფით:

pi@schoolbell: su $ sudo apt-get install mpg321

მიჰყევით მოთხოვნებს ამ პროგრამული უზრუნველყოფის ინსტალაციისთვის.

მე გამოვიყენე ძველი USB სპიკერი, რომელსაც ჰქონდა უცნაური დრაივერი და არ იყო სრულად ავტომატური კონფიგურაცია, როგორც ნაგულისხმევი ხმის ბარათი, ამიტომ აღმოვაჩინე, რომ მე შემიძლია "გავტეხო" სპიკერი სამუშაოდ მისი აპარატურის მისამართის გამოყენებით. დინამიკის ჩართვის შემდეგ გამოვიყენე ბრძანება 'aplay -l' აუდიო მოწყობილობების ჩამოსათვლელად:

pi@schoolbell: ap $ aplay -l

**** PLAYBACK აპარატურის ჩამონათვალი **** ბარათი 0: ყურსასმენი [bcm2835 ყურსასმენი], მოწყობილობა 0: bcm2835 ყურსასმენი [bcm2835 ყურსასმენი] ქვეგანყოფილება: ქვემოწყობა #0: ქვესადგური #0 ქვესადგური #1: ქვემოწყობა #1 ქვემომსახურება #2: საქვეუწყებო მოწყობილობა #2 ქვესადგური #3: ქვემოწყობილობა #3 ქვესადგური #4: ქვესადგური #4 ქვემოწყობილი #5: ქვემოწყობილობა #5 ქვემოწყობილი #6: ქვემოწყობილობა #6 ქვესადგური #7: ქვესადგური #7 ბარათი 1: CODEC [USB აუდიო კოდეკი], მოწყობილობა 0: USB აუდიო [USB აუდიო] ქვე მოწყობილობები: ქვემოწყობილობა #0: ქვესადგური #0

მოწყობილობა, რომელიც მინდა, არის ქვედა, ბარათი 1, მოწყობილობა 0.

მე გამოვცადე სპიკერი "სპიკერის ტესტით", მოწყობილობის გამოყენებით "hw: 1, 0", რაც ნიშნავს ტექნიკის ბარათს 1, მოწყობილობა 0

pi@schoolbell: ~ $ speaker -test -D hw: 1, 0

ეს პროგრამა გამოსცემს ხმაურს დინამიკებიდან. ისიამოვნეთ ხმაურით და აკრიფეთ control-C როდესაც გაღიზიანდებით. თუ ხმაური არ გესმით, სცადეთ Google.

ახლა თქვენ გაქვთ ხმა!

ნაბიჯი 3: შეამოწმეთ ზარის ხმების დაკვრა და/ან შექმენით ახალი ხმები

შეამოწმეთ ზარის ხმების დაკვრა და/ან ახალი ხმები
შეამოწმეთ ზარის ხმების დაკვრა და/ან ახალი ხმები

ჩემი ზარისთვის გადმოვწერე "bing-bong" ხმა "freesound.org"-დან. მადლობა ბენბონკანს ამ ხმის ხელმისაწვდომობისთვის:

freesound.org/people/Benboncan/sounds/93646/

თქვენ შეგიძლიათ პირდაპირ დაუკრათ ხმა. მე შემიძლია პირდაპირ გადმოვწერო ამ ფაილის mp3 ვერსია ამ ბრძანების აკრეფით Raspberry Pi კომპიუტერზე (ვარაუდობენ, რომ ის WiFi- ზეა):

pi@schoolbell: ~ $ wget

შემდეგ მე შევცვალე ეს ფაილი:

pi@schoolbell: ~ $ mv 93646_634166-hq.mp3 bing-bong-chime-hq.mp3

შემდეგ შევამოწმე, რომ შემეძლო ზარის დარეკვა ამ ბრძანებით (გამომავალი ჩვენება):

pi@schoolbell: ~ $ mpg321 -a hw: 1, 0 bing-bong-chime-hq.mp3

მაღალი ხარისხის MPEG 1.0/2.0/2.5 აუდიო პლეერი ფენის 1, 2 და 3. ვერსია 0.3.2-1 (2012/03/25). ჯო დრიუს მიერ დაწერილი და საავტორო უფლებები, ახლა დაცულია ნანაკოს ქრიზოსტომოსისა და სხვების მიერ. იყენებს კოდს სხვადასხვა ადამიანებისგან. იხილეთ "README" მეტისთვის! ეს პროგრამული უზრუნველყოფა მოყვება აბსოლუტურად გარანტიას! გამოიყენეთ თქვენი საკუთარი რისკით! MPEG ნაკადის დაკვრა bing-bong-chime-hq.mp3… MPEG 1.0 ფენა III, 128 kbit/s, 44100 Hz მონო [0:02] bing-bong-chime-hq.mp3 დეკოდირება დასრულებულია.

Გილოცავ! აუდიო გაქვს.

ხმის რედაქტირების კოდის "გამბედაობის" გამოყენებით ჩემს ლეპტოპზე, მე დავყავი ფაილი "ბინგ" და "ბონგ" უფრო გასართობად. თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი mp3 ან შესაძლოა სხვა ფორმატის (მე სხვები არ გამოვცადე) ხმის ფაილები.

ნაბიჯი 4: დააინსტალირეთ კოდი და დააყენეთ თქვენი განრიგი

დააინსტალირეთ კოდი და დააყენეთ თქვენი განრიგი
დააინსტალირეთ კოდი და დააყენეთ თქვენი განრიგი

კოდი არის პითონის სკრიპტი, რომელიც იღებს მიმდინარე თარიღს/დროს და თუ თარიღი არის სამუშაო დღე და არა დღესასწაული, ის ამოწმებს შეესაბამება თუ არა დრო ზარის დროს, საჭიროების შემთხვევაში კი.

ჯერ თქვენ მიიღებთ მას მუშაობას, შემდეგ თქვენ ავტომატიზირებთ მას ყოველ წუთს.

ჩამოტვირთეთ კოდი Github– დან:

gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618

მე ამის გაკეთება ადვილია ფაილის ადგილობრივ კომპიუტერზე შენახვით, შემდეგ უსაფრთხო ასლის (scp) გამოყენებით, რომ ის Raspberry pi– ზე გადავიტანო.

თქვენს ადგილობრივ აპარატზე დააკოპირეთ კოდი თქვენი ბრაუზერიდან, შემდეგ ჩასვით ტექსტურ ფაილში და შეინახეთ ფაილის სახელი "schoolbell.py". შემდეგ გადაიტანეთ ფაილი:

ლოკალური მანქანა: ~ $ scp schoolbell.py [email protected]: ~/

თქვენ მოგეთხოვებათ პაროლი pi მომხმარებლის შესახებ schoolbell.local - შეიყვანეთ პაროლი და ფაილი უსაფრთხოდ კოპირდება. ეს ბრძანება უნდა გაუშვათ იმავე დირექტორიაში, სადაც შეინახეს პითონის სკრიპტი და დააკოპირეთ ის pi მომხმარებლის სახლის დირექტორიაში. შეგიძლიათ ssh გადადით schoolbell.local– ზე და კოდი უნდა იყოს იქ:

ადგილობრივი მანქანა: ~ $ ssh [email protected]

შემდეგ schoolbell.local, ჩამოთვალეთ ფაილები (შეგიძლიათ ნახოთ მეტი ფაილი):

pi@schoolbell: ~ $ ls

bing-bong-chime-hq.mp3 schoolbell.py

ახლა შეცვალეთ კოდი, რომ მას ჰქონდეს თქვენი ზარის გრაფიკი ისეთი რედაქტორის გამოყენებით, როგორიცაა პიკო:

pi@schoolbell: ~ $ pico schoolbell.py

კოდს აქვს სამი "ლექსიკონი", რომელიც განსაზღვრავს ზარის მელოდიას დაკვრას, ჟამს მათ დაკვრას და დასვენების დღეებს, შაბათ -კვირას ზარები ავტომატურად გამოტოვებულია.

მაგალითად, ზარის მელოდიების ლექსიკონია:

ზარის მელოდიები = {

'გაფრთხილება': 'bing-bong-chime-hq.mp3', 'start': 'bing-bong-chime-hq.mp3', 'end': 'bing-bong-chime-hq.mp3'}

ეს განსაზღვრავს სამი სახის ზარს, გამაფრთხილებელ ზარს, გაკვეთილის დაწყებას და დასასრულს. რადგან ჩვენ გვაქვს მხოლოდ ერთი ზარის ტონი, ისინი ყველა მიუთითებს ერთ ფაილზე, მაგრამ თუ თქვენ შექმნით სხვადასხვა ტონს, შეგიძლიათ შეცვალოთ ისინი. თქვენ შეგიძლიათ სხვა სახის ზარების დამატებაც კი. მე ასევე ვთამაშობდი მეტყველების სინთეზატორის გამოყენებით ზარების სათქმელად, მაგრამ ეს არ დადებითად შეაფასეს სახლში სხვებმა.

ზარების განრიგის ლექსიკონი მსგავსია, მაგრამ "გასაღები" ახლა ზარის დროა. თქვენ უნდა გამოიყენოთ ფორმატი HH: MM წამყვანი ნულებით და 24 საათიანი დრო (სამხედრო დრო).

ზარების განრიგი = {

'09: 00 ':' დაწყება ', #' ავტობუსის ზარი ემზადება '09: 28 ':' გაფრთხილება ',….. '13: 58': 'გაფრთხილება', # პერიოდისთვის 4 '14: 00 ':' დაწყება ',' 15: 00 ':' დასასრული '}

მნიშვნელობა ამ გასაღებში: მნიშვნელობის წყვილი არის ზარის ტიპის გამოსაყენებელი და უნდა ემთხვეოდეს ერთ -ერთ ზარის მელოდიას ზემოთ განსაზღვრულ.

და ბოლოს, დღესასწაულების ლექსიკონი ჩამოთვლის დღესასწაულის თარიღებს. ფორმატი YYYY-mm-dd, წამყვანი ნულებით, როგორც ნაჩვენებია.

არდადეგები = {

'2020-09-07', …. '2021-03-11', '2021-03-12' }

მას შემდეგ რაც დაასრულებთ რედაქტირებას, შეინახეთ ფაილი რედაქტორიდან გასვლით და აკრიფეთ ctrl-X თუ იყენებთ პიკოს.

გახადეთ პითონის კოდი შემსრულებელი:

pi@schoolbell: ~ $ chmod a+x schoolbell.py

ეს საშუალებას აძლევს ყველა მომხმარებელს შეასრულოს კოდი, "a" ყველასთვის, "+" დამატების ნებართვისთვის და "x" შესრულებისთვის.

ახლა შეამოწმეთ კოდი და დააკვირდით გამომავალს. გაითვალისწინეთ, რომ თქვენ შეგიძლიათ გაუშვათ ფაილი ფაილის სახელის აკრეფით, მაგრამ უნდა მიუთითოთ, რომ ის არის მიმდინარე დირექტორიაში, ფაილის სახელამდე "./" აკრეფით:

pi@schoolbell: ~ $./schoolbell.py

ეს არის სკოლა, შემოწმების დრო 21:35

კოდი გეტყვით, არის თუ არა ეს შვებულება (მაგალითად, არ არის შვებულება ან შაბათ -კვირა) და ხედავს შეესაბამება თუ არა დრო ზარის დროს. ამ შემთხვევაში, ეს არ იყო ზარის დრო, ასე რომ, ის მხოლოდ სუფთა სახით გავიდა. თუკი ეს ზარის დრო იქნებოდა, ის დარეკავდა.

იმის შესამოწმებლად, რომ თქვენს კოდს შეუძლია ზარების დაკვრა, გამოიყენეთ ფაილის ბრძანების ხაზის ვარიანტი. ჩვენ გამოვიყენებთ ჩვენს bing-bong ფაილს:

pi@schoolbell: ~/schoolbell $./schoolbell.py bing-bong-chime-hq.mp3

ეს არის სწავლის დღე, შემოწმების დრო 21:38 მაღალი ხარისხის MPEG 1.0/2.0/2.5 აუდიო პლეერი ფენის 1, 2 და 3. ვერსიისთვის 0.3.2-1 (2012/03/25). ჯო დრიუს მიერ დაწერილი და საავტორო უფლებები, ახლა დაცულია ნანაკოს ქრიზოსტომოსისა და სხვების მიერ. … მეტი გამომუშავება ….

ზარი უნდა გესმოდა.

ახლა შეამოწმეთ კოდი დროის არგუმენტად გამოყენებით. დაიმახსოვრე დრო შეიყვანე წამყვან ნულებთან ერთად. მაგალითად, ჩემი "სკოლის ავტობუსის" ზარის შესამოწმებლად დილის 9 საათზე, ვწერ:

pi@schoolbell: ~ $./schoolbell.py 09:00

ამან უნდა გამოიწვიოს თქვენი ზარის რეკვა! თქვენ ასევე შეგიძლიათ შეამოწმოთ, რომ ის არ რეკავს ზარის დროს.

ნაბიჯი 5: ავტომატიზირება გაშვებული Crond

ავტომატიზირება გაშვებული Crond
ავტომატიზირება გაშვებული Crond

Cron 'daemon' არის გრაფიკი, რომელიც ასრულებს განმეორებით ამოცანებს linux სისტემაზე. ის ამოწმებს, შეესაბამება თუ არა თარიღი/დრო cron ცხრილში მოცემულ ნიმუშს (crontab) და შემდეგ გაუშვებს კოდს, თუ ასეა. თქვენ შეგიძლიათ შეცვალოთ იგი "crontab -e" ბრძანების გამოყენებით:

pi@schoolbell: ~ $ crontab -e

ეს გახსნის ფაილის რედაქტორს და ამ ფაილის ბოლოში თქვენ დაამატებთ შემდეგ სტრიქონს:

* * * * * python3 /home/pi/schoolbell.py

ეს ბრძანება ეუბნება cron- ს გაუშვას python3 თქვენი სკრიპტის შესრულება ჩვეულებრივ სახლის დირექტორიაში (/home/pi). ხუთი *ამბობს, რომ ეს უნდა გადიოდეს ყოველ წუთს (პირველი *), ყოველ საათს (მომდევნო *…), ყოველ დღე თვის, ყოველთვიურად და ყოველ დღე კვირაში.

ახლა, ყოველ წუთს გადის schoolbell.py სკრიპტი. უმეტეს წუთებში კოდი გააქტიურდება და აღმოაჩენს, რომ ის უბრალოდ უნდა დატოვოს ჩიმის გარეშე, მაგრამ თუ აღმოჩნდა, რომ ზარის დრო მოხვდა, ის დაირეკება.

გაითვალისწინეთ, რომ რადგან cron მუშაობს მხოლოდ ყოველ წუთს, თქვენ არ შეგიძლიათ ზარები გახადოთ უფრო მარცვლოვანი ვიდრე წუთი. მე ვფიქრობ, რომ თეორიულად შესაძლებელია, რომ თუ თქვენი სისტემა დაიშლება, cron შეიძლება არ გაუშვას რამდენიმე წამის შემდეგ, რაც ზარს დააგვიანებს. თუ როგორღაც კრონი არ გაუშვებდა მთელ წუთს, ზარი გამოტოვებული იქნებოდა.

რჩევა: გახანგრძლივებული არდადეგებისთვის (მაგალითად, ზაფხული), შეგიძლიათ დაამატოთ ჰეშტაგი (#) ამ ხაზის პირველ სიმბოლოს, რომელიც მას კომენტარად აქცევს და ამით იგნორირებას უკეთებს მის გაშვებას. როდესაც სკოლა დაუბრუნდება, უბრალოდ ამოიღეთ # და ის კვლავ დაიწყებს მუშაობას.

ნაბიჯი 6: შეცვალეთ და ისიამოვნეთ

ახლა, თქვენ უნდა გქონდეთ სამუშაო სახლის სასკოლო ზარის სისტემა და თქვენი მოსწავლე არასოდეს უნდა დააგვიანოს გაკვეთილზე.

თქვენ შეგიძლიათ დააკონფიგურიროთ ეს პროექტი ზარის ტონების შეცვლით.

  • თქვენ შეძლებთ ბიგ ბენის დარეკვას, მეოთხედიანი ზარი და საათების ზარი.
  • თქვენ შეგიძლიათ აიღოთ თქვენი საყვარელი რეპერის თავისუფალი სტილი.
  • თქვენ შეგიძლიათ გააკეთოთ ქვეცნობიერი შეტყობინებები სწავლაზე ფოკუსირებისთვის.

იყავით დაცული COVID– ის ამ დროს.

გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება

მეორე ადგილი "შეხება არ შეუძლია" საოჯახო კონკურსში

გირჩევთ: