Სარჩევი:

უფროსი რადიო - ჟოლო პი: 8 ნაბიჯი
უფროსი რადიო - ჟოლო პი: 8 ნაბიჯი

ვიდეო: უფროსი რადიო - ჟოლო პი: 8 ნაბიჯი

ვიდეო: უფროსი რადიო - ჟოლო პი: 8 ნაბიჯი
ვიდეო: ბაშვთა დაცვის დღე ბოტანიკურ ბაღში 2024, ივლისი
Anonim
უფროსი რადიო - ჟოლო პი
უფროსი რადიო - ჟოლო პი

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

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

ძირითადი ფუნქციონირება არის Github– ზე, შენახული პითონის 3.7.3 პროგრამაში სახელწოდებით seniorRadio.py. ის კითხულობს და წერს json ფაილს რადიოს მდგომარეობის შესანახად, ასე რომ როდესაც გამორთავთ ის დაიმახსოვრებს მიმდინარე აუდიო დონეს და არჩეულ სადგურს. გარდა ამისა, ის კითხულობს ონლაინ მასპინძელ json ფაილს, რომლის შეცვლაც შეგიძლიათ! ეს საშუალებას გაძლევთ განაახლოთ რადიოსადგურები დისტანციურად, თუ ამას სხვას აძლევთ.

ის ამჟამად შექმნილია bluetooth დინამიკთან დასაკავშირებლად, მაგრამ მისი მარტივად გამოყენება შესაძლებელია საბორტო დინამიკზეც.

ამ მოწყობილობის შემქმნელი სავარაუდოდ არ არის მომხმარებელი და სჭირდება მინიმუმ გამოცდილება ელექტრონიკასთან და პროგრამირების ძირითად ცოდნასთან. Linux გამოცდილება ასევე ძალიან სასარგებლოა.

მომხმარებლისთვის, ფუნქციონირება მარტივია:

ჩართვისას ის დაუკრავს ნაგულისხმევი აუდიო მოწყობილობით შერჩეულ ბოლო სადგურს. მარცხენა აკრიფეთ აკონტროლებს სადგურს, სადაც რამოდენიმე დაწკაპუნებით იცვლება ახალი URL. ის გადატრიალდება ბოლო ან პირველი შესვლის შემდეგ. მარჯვენა აკრიფეთ აკონტროლებს აუდიოს დონეს. LED მიუთითებს, რომ პროგრამა ჩართულია. და ღილაკი აჩერებს ან "გამორთავს" რადიოს. ასე რომ, ჩართვისთანავე მომხმარებელს შეუძლია უბრალოდ დააჭიროს ღილაკს პაუზის/დაკვრის, ან "გამორთვის/ჩართვის", რადიოს და ორი აკრიფვის გასაკონტროლებლად.

მარაგები

თითოეულ ნივთზე მიბმულია ის, რაც მე გამოვიყენე. ჯამში დამიჯდა დაახლოებით $ 60, უამრავი მარაგი!

ძირითადი ელექტრონული და ლინუქსის ცოდნა - შეკრებისა და გამართვისთვის

Raspberry Pi Zero W (Zero WH აქვს სათაურები წინასწარ შედუღებული და სავარაუდოდ სასარგებლო)

MicroSD ბარათი-8 GB+ და შესაძლებლობა o

MicroUSB 5V დენის ადაპტერი - ბმული ასევე შეიცავს microHDMI ადაპტერს და microUSB OTG USB USB ადაპტერს დასაყენებლად, თუ დაგჭირდებათ

Bluetooth სპიკერი

M/F და M/M ჯუმბერის კაბელები

2 მბრუნავი კოდირება - იგივე ბმული, როგორც ზემოთ

მცირე ზომის დაფა

Pushbutton

LED (სურვილისამებრ) - იყიდა LED + ღილაკი ზემოთ

ყუთი შესაფუთად

ნაბიჯი 1: დაყენება (უთავო) Raspberry Pi W

დაყენება (უთავო) Raspberry Pi W
დაყენება (უთავო) Raspberry Pi W

ჩვენ უნდა დავაყენოთ ოპერაციული სისტემა ჟოლოს პიზე, რომელიც გაუშვებს პროგრამულ უზრუნველყოფას. არცერთი არ არის უნიკალური ამ პროექტისთვის. გამართვისთვის, მე გირჩევთ მის დაყენებას, ასე რომ თქვენ ასევე შეგიძლიათ წვდომა იქონიოთ უსათაურო რეჟიმში. ეს ნიშნავს, რომ თქვენ წვდებით pi- ს თქვენი WiFi ქსელის საშუალებით GUI ან SSH ტერმინალის საშუალებით და არ გჭირდებათ კლავიატურა, მაუსი და მონიტორი, რომ გამოიყენოთ იგი ყოველ ჯერზე. ამის გაკეთება შეგიძლიათ მონიტორთან/თაგვთან/კლავიატურასთან დაკავშირების გარეშე, თუკი უფრო მეტად ტექნიკურად ხართ დაინტერესებული. რამდენიმე ინსტრუქციის მაგალითი აქ. თუმცა ის ნაკლებად სწორია წინ და ქვემოთ არის მისი შექმნის სხვა გზა.

პირველად, თქვენ დაგჭირდებათ:

  • ჟოლო Pi W
  • MicroSD to SD ბარათის ადაპტერი [ოპერაციული სისტემის SD ბარათზე დასაწერად]
  • MicroSD ბარათი (~ 8 GB+) [OS და ჩვენი პროგრამის შესანახად]
  • MicroUSB სიმძლავრე (5V)
  • MicroUSB to USB A [მაუსის/კლავიატურისთვის]
  • მინი HDMI to HDMI ადაპტერი [გამომავალი ჩვენებისათვის]
  • კლავიატურა
  • თაგვი
  • მონიტორი

პირველ რიგში, თქვენ უნდა აანთოთ ოპერაციული სისტემა rPi მიკრო SD ბარათზე.

მე გამოვიყენე raspian buster, თქვენ გადმოწერეთ ეს კომპიუტერზე SD ბარათის წაკითხვით/დამწერლობით და შემდეგ განათავსეთ raspian OS SD ბარათზე. BalenaEtcher არის მარტივი პროგრამული უზრუნველყოფა ამის გაკეთება

შემდეგ ჩადეთ SD ბარათი pi სლოტში, შეაერთეთ მონიტორი, კლავიატურა და დენი. გააგრძელეთ ის ნაბიჯები, რასაც რასპიანი მოგთხოვთ, მათ შორის, თქვენს WiFi ქსელთან დაკავშირებასა და bluetooth დინამიკის დაწყვილებას GUI– ს საშუალებით. კარგი პრაქტიკა იქნება მისი განახლება შემდეგი ბრძანებების გამოყენებით

sudo apt-get განახლება

sudo apt-get განახლება

თუ გსურთ შეიყვანოთ მარკირება თქვენი პი უსათაუროდ, ჩვენ ჯერ უნდა მივიღოთ პი -ს IP მისამართი. ტერმინალის საშუალებით შეგიძლიათ იპოვოთ ის მეშვეობით

ifconfig

ბრძანება. შემდეგ თქვენ უნდა ჩართოთ SSH და VNC ინტერფეისის პარამეტრებში

sudo raspi-config

გადატვირთვის შემდეგ, ახლა შეგიძლიათ შეამოწმოთ წვდომა pi– ზე SSH– ზე ან VNC– ზე. SSH არის მხოლოდ ტერმინალური ინტერფეისი და შეიძლება გაგიადვილდეთ GUI- ის გამოყენება bluetooth სპიკერის დასაწყვილებლად. თქვენ შეგიძლიათ გამოიყენოთ პროგრამა, როგორიცაა VNC connect, რათა მარტივად შეხვიდეთ თქვენს პიზე ცალკეულ კომპიუტერზე თქვენს ქსელში. თქვენ შეგიძლიათ გამოიყენოთ ისეთი პროგრამა, როგორიცაა ბოთლი SSH– ში.

გარდა ამისა, თქვენ შეგიძლიათ დააყენოთ VNC ღრუბლოვანი ანგარიში, რათა საჭიროების შემთხვევაში შეძლოთ მოწყობილობაზე წვდომა ქსელიდან

ნაბიჯი 2: დააინსტალირეთ უფროსი რადიო პროგრამული უზრუნველყოფა

დააინსტალირეთ უფროსი რადიო პროგრამული უზრუნველყოფა
დააინსტალირეთ უფროსი რადიო პროგრამული უზრუნველყოფა

ეს შეიძლება გაკეთდეს ჟოლოს პი ტერმინალის ფანჯრიდან. ჯერ დარწმუნდით, რომ თქვენ გაქვთ git დაინსტალირებული

sudo apt-get დააინსტალირეთ git

იმისდა მიხედვით, თუ რომელი ოპერაციული სისტემა დააინსტალირეთ, ეს ნაბიჯები შეიძლება განსხვავებული იყოს, რადგან შეიძლება დაგჭირდეთ დამატებითი პაკეტების დაყენება, სისტემა გეტყვით თუ არა. ჯერ ჩვენ გვჭირდება ჩამოტვირთოთ უფროსი რადიო კოდი github– დან. https://github.com/Bunborn/seniorRadio იდეალურ შემთხვევაში, თქვენ აკეთებთ ჩვენს რეპოს, ასე რომ თქვენ შეგიძლიათ შეცვალოთ ცვლილებები და ადვილად შეცვალოთ რადიოსადგურები ისევე, როგორც მე. გათიშეთ რეპო თუ ასეა

ამასთან, თქვენ შეგიძლიათ გამოიყენოთ იგივე, რაც ჩემია, პრობლემა არ არის, თუ გსურთ თქვენი რადიო json ფაილის სხვა ადგილზე განთავსება

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

ისევ ტერმინალის ფანჯარაში, git კლონი

თქვენ ახლა უნდა ნახოთ დამატებითი დირექტორია სახელწოდებით seniorRadio, როდესაც ls– ს ეძებთ. Ფანტასტიკური!

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

ნაბიჯი 3: დააინსტალირეთ დამატებითი პროგრამული უზრუნველყოფა

დააინსტალირეთ დამატებითი პროგრამული უზრუნველყოფა
დააინსტალირეთ დამატებითი პროგრამული უზრუნველყოფა

სანამ წრეზე გადავიდეთ და გამოვცადოთ, ჩვენ ასევე უნდა გადმოვწეროთ VLC და პითონის api ამისთვის. თქვენ უკვე გაქვთ დაინსტალირებული VLC. პირველი ორი ბრძანება განაახლებს pi, ხოლო ბოლო ორი ბრძანება ქვემოთ დააინსტალირებს VLC და შემდეგ პითონის api

sudo apt-get განახლება

sudo apt-get განახლება

sudo ვადამდელი ინსტალაცია VLC

sudo apt-get დააინსტალირეთ vlc-python

გარდა ამისა, ასევე დააინსტალირეთ gpiozero, რომელსაც ჩვენ გამოვიყენებთ pi– ს GPIO ქინძისთავებთან დასაკავშირებლად. თქვენ უკვე გაქვთ ის დაინსტალირებული თქვენი ოპერაციული სისტემის მიხედვით.

sudo apt-get დააინსტალირეთ gpiozero

ნაბიჯი 4: მოძებნეთ რადიოსადგურების ნაკადები

იპოვეთ რადიოსადგურების ნაკადები
იპოვეთ რადიოსადგურების ნაკადები

შემდეგი, ერთ -ერთი ყველაზე სახალისო ნაწილი! დროა აირჩიოთ თქვენთვის სასურველი ნაკადები.

ჩემს internetStations.json ფაილში შეგიძლიათ ნახოთ ჩემი ნაკადის ბმულები, ძირითადად ახალი ამბებისა და მუსიკისთვის. მაგრამ არსებობს უამრავი მასპინძელი შინაარსი. აქ მთავარია პირდაპირი ნაკადის URL მისამართის პოვნა. მაგალითად, BBC– ის საინფორმაციო და მუსიკალური სადგურები შეგიძლიათ იხილოთ აქ ამ ბლოგზე. ამ პირდაპირ ნაკადებს არ ექნებათ გრაფიკული ინტერფეისი და ავტომატურად გაუშვებენ ნაკადს თქვენი ბრაუზერის მედია პლეერის საშუალებით. ეს არის ის URL, რაც ჩვენ გვჭირდება, რათა VLC- მ შეძლოს მათი წაკითხვა! თქვენ შეგიძლიათ სწრაფად შეამოწმოთ ნებისმიერი ბმული თქვენს ვებ ბრაუზერში, ან VLC საშუალებით თქვენს ჩვეულებრივ კომპიუტერზე, რათა დარწმუნდეთ, რომ ის pi- ზე იმუშავებს.

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

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

პითონის პროგრამის დასაწყისში არის ცვლადი სახელწოდებით url, უბრალოდ შეცვალეთ ეს თქვენი json ფაილის URL, სადგურის URL ბმულებით

თქვენ შეგიძლიათ დაიცვას იგივე ფორმატი, როგორც ჩემი internetStation.json ფაილი. თუ გინდოდათ github– ის გამოყენება, შეგიძლიათ უბრალოდ გამოაყოლოთ ჩემი უფროსი რადიო საცავი და შეცვალოთ თქვენი საკუთარი internetStation.json ფაილი და მიუთითოთ ის იმ „ნედლეულ“URL– ზე. ამის ნახვა შეგიძლიათ ქვემოთ Github GUI ფაილზე დაწკაპუნების შემდეგ.

ნაბიჯი 5: შექმენით სქემები

შექმენით სქემები
შექმენით სქემები

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

pinout.xyz/ ცნობისთვის რომელი ქინძისთავებია რომელი. ვინაიდან ჩვენ ვიყენებთ gpiozero ბიბლიოთეკას, ჩვენ შეშფოთებული ვართ მხოლოდ BCM პინების ნუმერაციით. გაითვალისწინეთ, რომ მე შევიძინე რამდენიმე დამატებითი KY040 მბრუნავი კოდირება - ციფერბლატი - მათი შესამოწმებლად, რადგან ყველას არ აქვს ერთი და იგივე სიზუსტე. თითოეულ მათგანს ექნება რაღაც "გადახტომა", ან უბრალოდ არასწორი გამოშვება, ამიტომ მე ავირჩიე ორიდან საუკეთესო. კოდში თქვენ შეამჩნევთ, რომ არის გარკვეული ნაბიჯები, რომ შეზღუდავს ეს გადახრაც.

მე დავაკავშირე ჩემი ღილაკი BCM პინ 17 -ს და მიწას

ჩემი LED 1k ohm resistor შემდეგ BCM pin 27 და ადგილზე

ჩემს KY040 მბრუნავ დამშიფრებელს ჰქონდა + ძაბვა 5V- მდე, GND მიწასთან და SW გათიშული. ისინი დაკავშირებულია მინი პურის დაფაზე

სადგურის მბრუნავი კოდირება dt pin დაკავშირებული BCM პინ 21 -თან

სადგურის მბრუნავი კოდირების clk pin დაკავშირებული BCM pin 20 -თან

აუდიო დონის მბრუნავი კოდირება dt pin დაკავშირებული BCM pin 19 -თან

აუდიო დონის მბრუნავი კოდირება clk pin დაკავშირებულია BCM პინ 16 -თან

თუ თქვენ შეცვლით ამ ქინძისთავებს, უბრალოდ განაახლეთ ნომერი პითონის პროგრამაში ასევე იქ, სადაც ის ადგენს დამმუშავებლებს

მე გამოვიყენე მინი breadboard ამის გასაადვილებლად. მე გამოვიყენე M/M და M/F jumper მავთულები ასევე ინტერფეისის გასაადვილებლად. მე შევაგუზე რამოდენიმე მხტუნავ მავთულს, რომელიც ადრე შევიძინე ღილაკზე/შუქდიოდზე. იმისათვის, რომ არ შედუღდეს, შეგიძლიათ მიიღოთ ღილაკები და LED- ები, რომლებსაც უკვე აქვთ მავთულის საყრდენი ან ადვილად დაუკავშირდებიან ერთს.

ნაბიჯი 6: გამოსცადეთ

ახლა თქვენ უნდა გქონდეთ მოქმედი სისტემა! მოდი გამოვცადოთ. გადადით საქაღალდეში პითონის პროგრამით, სავარაუდოდ:

cd უფროსი რადიო

python3eniorRadio.py

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

sudo apt-get დააინსტალირეთ python3.7

ზოგიერთი შესაძლო პრობლემა მაშინაც კი, თუ პროგრამა მუშაობს:

ხმა არ მესმის

დარწმუნდით, რომ სპიკერი ჩართულია და შერჩეულია თქვენს ჟოლოს პიში. GUI– ს საშუალებით თქვენ უნდა შეგეძლოთ მისი დაწყვილება და შემდეგ შეარჩიოთ ის როგორც აუდიო გამომავალი მოწყობილობა. გარდა ამისა, შეამოწმეთ თქვენი აუდიო დრაივერები. საერთო პრობლემა ის არის, რომ თქვენ შეიძლება დაგჭირდეთ pulseaudio პაკეტის ხელახალი ინსტალაცია

აუდიო ჩამხშობი ან გაჭრა შიგნით და გარეთ

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

ნაბიჯი 7: ჩადეთ მუდმივი დანართი

მოათავსეთ მუდმივი დანართი
მოათავსეთ მუდმივი დანართი

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

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

მე ვცადე მთა და დავრწმუნდი, რომ ის მუშაობს, და voilà!

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

ნაბიჯი 8: პროგრამის დაყენება გაშვებისას

დაბოლოს, თქვენ ალბათ გინდათ რომ ეს პითონის პროგრამა გაშვებული იყოს ჟოლოს პი, ასე რომ თქვენ არ გჭირდებათ ამის გაკეთება ხელით. ამის გაკეთების მრავალი გზა არსებობს, რასაც ინტერნეტში ნახავთ.

პირადად მე დავაყენე მეორე გზა SparkFun– ის გაკვეთილზე:

აქ ის ელოდება სისტემის შეყვანას გრაფიკულ სამუშაო მაგიდაზე პროგრამის გაშვებამდე. შემდეგ ის პითონის პროგრამით გადაიდო 45 წამი, რათა სისტემამ მისცეს დრო Bluetooth– ის დინამიკთან ხელახლა დაკავშირების მიზნით. თუ თქვენ იყენებთ ინტეგრირებულ სპიკერს, შეგიძლიათ წაშალოთ ეს შეფერხება. გაითვალისწინეთ, რომ bluetooth სპიკერი ჯერ ჩართული უნდა იყოს! (bluetooth გადაწყვეტისთვის)

ახლა თქვენ შეგიძლიათ სცადოთ თქვენი pi- ს გამორთვა და ხელახლა ჩართვა! დაახლოებით 90 წამის შემდეგ თქვენმა პი -მ კიდევ ერთხელ უნდა დაიწყოს რადიო ნაკადების დაკვრა. ღილაკზე დაჭერისას ის შეჩერდება/ითამაშებს. შენიშვნა ამ გადატვირთვისას ის ხელახლა კითხულობს internetStations json ფაილს, ასე რომ, თუ თქვენ შეცვლით თქვენს სადგურებს, თქვენ უნდა გადატვირთოთ მოწყობილობა მათ მუშაობისთვის. გილოცავთ!

თუ თქვენ გააკეთეთ ეს, ან შეიტანეთ ცვლილებები პროექტში, გთხოვთ შემატყობინოთ!

Github გვერდი:

გირჩევთ: