Სარჩევი:

სმარტ მაღვიძარა: 13 ნაბიჯი
სმარტ მაღვიძარა: 13 ნაბიჯი

ვიდეო: სმარტ მაღვიძარა: 13 ნაბიჯი

ვიდეო: სმარტ მაღვიძარა: 13 ნაბიჯი
ვიდეო: ბიუჯეტური სმარტ საათი 8 Note Pro ტელეფონზე დარეკვის და ზარის მიღების ფუნქციით 2024, ივლისი
Anonim
სმარტ მაღვიძარა
სმარტ მაღვიძარა

გამარჯობა, მე მქვია ალექსანდრა კრისტიანსი და ვსწავლობ მედიასა და საკომუნიკაციო ტექნოლოგიებს Howest– ში, ბელგიის კორტიიკში.

როგორც სკოლის დავალება, ჩვენ გვჭირდებოდა IoT მოწყობილობის გაკეთება. ჩვენ წავახალისეთ, რომ შეგვექმნა ისეთი რამ, რაც შეცვლიდა ჩვენს ან ჩვენთვის ნაცნობი ადამიანების ცხოვრებაში. საკმაოდ გამიჭირდა პროექტის პოვნა და როდესაც ვცდილობდი ვეძებო შესაფერისი პროექტი, ხშირად ვფიქრობდი: "მე ძალიან დავიღალე ამისთვის". ასე რომ, საბოლოოდ მივხვდი, რომ ეს შეიძლება იყოს ჩემი პროექტი: გავაკეთებდი ჭკვიან მაღვიძარას, რომელიც დილით ადგომაში მეხმარებოდა და საღამოს დროულად დასაძინებლად. ვინაიდან ამ დავალების მოთხოვნები გვკარნახობდა, რომ ჩვენ უნდა გამოვიყენოთ Raspberry Pi ყველაფრის გასაშვებად, მე გადავწყვიტე ჩემს მოწყობილობას დავარქვა "Sleepi", როგორც სათამაშო სიტყვა.

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

ნაბიჯი 1: ნაბიჯი 1: კომპონენტების შეგროვება

ნაბიჯი 1: კომპონენტების შეგროვება
ნაბიჯი 1: კომპონენტების შეგროვება
ნაბიჯი 1: კომპონენტების შეგროვება
ნაბიჯი 1: კომპონენტების შეგროვება
ნაბიჯი 1: კომპონენტების შეგროვება
ნაბიჯი 1: კომპონენტების შეგროვება

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

- 1 x ჟოლო Pi 3 მოდელი B

- 1 x (ცარიელი) microSD ბარათი და ადაპტერი (მე მაქვს 16 GB ბარათი, მაგრამ 8 GB საკმარისია)

- 1 x 5V კვების ბლოკი Raspberry Pi- სთვის

- 1 x Ethernet კაბელი

- 2 x 9V ბატარეა

- 2 x 9V ბატარეის კლიპები

- 1 x GPIO 40 პინიანი გაფართოების დაფა და ცისარტყელას კაბელი

- 2 x BB830 Solderless Plug-in Breadbord

- 1 x Arduino Uno

- 1 x 0.56 დიუმიანი 4*7 სეგმენტის ჩვენება

- 1x DS18B20 ტემპერატურის სენსორი

- 1 x TSL2561 სიკაშკაშის სენსორი

- 1 x 1602A LCD ეკრანი

- 1 x დონის გადამყვანი

- 1 x SN74HC595N ცვლის რეგისტრი

- 1 x Rotary Encoder

- 1 x პოტენომეტრი

- 1 x სიმძლავრის RGB LED

- 1 x სპიკერი

- 4 x 337B ტრანზისტორი

- 1 x დიოდი

- 1 x ღილაკი

- 3 x xl4005 31 LED დრაივერი

- 7 x რეზისტორები (2 x 10k Ohm, 4 x 1k Ohm, 1 x 470 Ohm)

- სხვადასხვა ჯუმბერის მავთულის კაბელები (კაცი მამრობითი და მამრობითი მდედრობითი)

სურვილისამებრ:

- 1 x მულტიპლექს ხის პანელი (მე გამოვიყენე ერთი შემდეგი გაზომვებით, რომელიც საკმარისზე მეტი იყო: 860 მმ x 860 მმ x 5 მმ)

- ხის დამუშავების სხვადასხვა ინსტრუმენტი

- აკრილის საღებავი თქვენთვის სასურველ ფერში

ნაბიჯი 2: ნაბიჯი 2: სქემა

ნაბიჯი 2: სქემა
ნაბიჯი 2: სქემა

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

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

ზოგიერთი ელემენტი უნდა იყოს დაკავშირებული გარკვეულ ქინძისთავებთან. დარწმუნდით, რომ სიკაშკაშის სენსორი დაკავშირებულია GPIO 23 (SDA) და GPIO 24 (SCL) შესაბამისად. მე ავხსნი, რატომ არის ეს მნიშვნელოვანი მე –5 ნაბიჯში.

ნაბიჯი 3: ნაბიჯი 3: ჟოლოს დაყენება

ახლა დროა შევქმნათ ჩვენი Pi:

1. ჩადეთ თქვენი microSD ბარათი ადაპტერში და შეაერთეთ იგი თქვენს კომპიუტერში.

თუ თქვენი microSD ბარათი არ არის ცარიელი, მაშინ ჯერ დააფორმირეთ იგი სასურველი მეთოდის საშუალებით.

2. დააინსტალირეთ Raspbian OS პროგრამული უზრუნველყოფა Raspberry pi ვებგვერდიდან.

ჩამოტვირთეთ ZIP ფაილი და ამოიღეთ იგი სასურველ ადგილას.

3. ჩამოტვირთეთ Win32 დისკის მენეჯერი.

დააწკაპუნეთ საქაღალდის ხატზე სურათის შესარჩევად აირჩიეთ თქვენი microSD "მოწყობილობაზე" დააწკაპუნეთ "ჩაწერაზე"

როდესაც სურათი იწერება თქვენს MicroSD ბარათზე, შეგიძლიათ გახსნათ იგი Windows Explorer– ში.

გახსენით ფაილი "cmdline.txt" ფაილის ბოლოს დაამატეთ ტექსტის შემდეგი ხაზი: ip = 169.254.10.1 დარწმუნდით, რომ ყველაფერი ერთსა და იმავე ხაზზეა. შეინახეთ ფაილი.

ახლა ამოიღეთ MicroSD ბარათი თქვენი კომპიუტერიდან. დარწმუნდით, რომ თქვენი Pi ძალა გამორთულია და ჩადეთ ბარათი თქვენს Raspberry Pi- ში.

შეაერთეთ Ethernet კაბელი თქვენს Pi და თქვენს კომპიუტერს.

გამოიყენეთ სიმძლავრე თქვენს Pi- ზე 5, 2V დენის ადაპტერით.

ნაბიჯი 4: ნაბიჯი 4: ჟოლოს Pi- ს დაკავშირება

ნაბიჯი 4: ჟოლოს პიის დაკავშირება
ნაბიჯი 4: ჟოლოს პიის დაკავშირება

Დაკავშირება

Pi ჩვენი კომპიუტერით, ჩვენ გამოვიყენებთ Putty- ს.

1. დააინსტალირეთ Putty და გახსენით იგი.

2. შეავსეთ IP მისამართი და პორტი, როგორც ნაჩვენებია სურათზე და დააწკაპუნეთ ‘გახსნა’.

3. შედით შემდეგი ნაგულისხმევებით:

ა მომხმარებლის სახელი: pi

ბ პაროლი: ჟოლო

4. WiFi– ის დასაყენებლად:

ა სუდო ნანო/და სხვა/wpa_supllicant/wpa_supllicant.conf

ბ ფაილის ბოლოში დაამატეთ ეს ხაზები:

მე. ქსელი = {

ii ssid =”შეავსეთ თქვენი უკაბელო ქსელის სახელი”

iii psk =”შეავსეთ თქვენი უკაბელო ქსელის პაროლი”

iv }

გ დახურეთ ფაილი და შეინახეთ

5. შეიყვანეთ შემდეგი ბრძანება თქვენი Pi- ს IP მისამართის გასარკვევად: ifconfig wlan0

6. ახლა თქვენ შეგიძლიათ გამოიყენოთ ეს IP მისამართი Putty– ში უკაბელო კავშირის დასამყარებლად (იხ. ზემოთ).

ნაბიჯი 5: ნაბიჯი 5: შეცვალეთ პარამეტრები Raspi-config– ით

ახლა ჩვენ უნდა დავრწმუნდეთ, რომ Pi- ს შეუძლია დაუკავშირდეს ჩვენს ყველა კომპონენტს.

ჩვენ შევცვლით ზოგიერთ პარამეტრს raspi-config– ში

გახსენით raspi-config ბრძანებით:

sudo raspi-config

2. აირჩიეთ 4 ლოკალიზაციის ვარიანტი.

3. აირჩიეთ I2 დროის სარტყლის შეცვლა.

4. შეცვალეთ დროის ზონა თქვენს ადგილობრივ დროის ზონაში და დაასრულეთ, რათა დაუბრუნდეთ raspi-config.

5. აირჩიეთ 5 ინტერფეისის პარამეტრები.

6. აირჩიეთ P5 I2C.

7. ჩართეთ I2C კომუნიკაცია.

8. აირჩიეთ 5 ინტერფეისის პარამეტრები

9. აირჩიეთ P6 სერიული

10. გამორთეთ შესვლის გარსი.

11. სერიული კომუნიკაციის ჩართვა

ნაბიჯი 6: ნაბიჯი 6: შეცვალეთ პარამეტრები /boot/config.txt

ახლა ჩვენ უნდა შევცვალოთ ზოგიერთი რამ ფაილში /boot/config.txt

1. შედით ფაილზე:

sudo nano /boot/config.txt

2. ბოლოში თქვენ უნდა ნახოთ:

enable_uart = 1

ეს იმიტომ ხდება, რომ ჩვენ ადრე გავააქტიურეთ სერიული პორტი.

3. დაამატეთ შემდეგი ორი სტრიქონი:

dtoverlay = pi3-miniuart-bt

dtoverlay = i2c-gpio, ავტობუსი = 3

Raspberry Pi 3– ს აქვს 2 სერიული პორტი: აპარატურის სერიული პორტი და პროგრამული სერიული პორტი. პირველი ბრძანებით ჩვენ პროგრამული უზრუნველყოფის სერიულ პორტს ვანიჭებთ Bluetooth ფუნქციას და ვანიჭებთ აპარატურის სერიულ პორტს Rx და Tx ქინძისთავებს, რომლებსაც გამოვიყენებთ Arduino– სთან კომუნიკაციისთვის.

მეორე ხაზი ააქტიურებს პროგრამული უზრუნველყოფის I²C ავტობუსს Pi- ზე. ეს იმიტომ ხდება, რომ ტექნიკის I²C ავტობუსი ხანდახან უშვებს შეცდომებს, როდესაც ამ I²C ავტობუსთან დაკავშირებული სენსორი იყენებს საათის დაჭიმვას. პროგრამული უზრუნველყოფის I²C ავტობუსი ავტომატურად აქტიური იქნება GPIO 23 (SDA) და GPIO 4 (SCL), რის გამოც ასე მნიშვნელოვანი იყო სიკაშკაშის სენსორის სწორად დაკავშირება, რომელიც იყენებს I²C მონაცემების გასაგზავნად.

ნაბიჯი 7: ნაბიჯი 7: დაამატეთ მომხმარებელი მარჯვენა ჯგუფებს

ბოლოს დაამატეთ მომხმარებელი ზოგიერთ ჯგუფს:

1. შეამოწმეთ რომელ ჯგუფებს მიეკუთვნება თქვენი ამჟამინდელი მომხმარებელი:

აჯგუფებს თქვენს_სახელს

2. იმისათვის, რომ ყველა ფუნქცია იმუშაოს, მომხმარებელი უნდა მიეკუთვნებოდეს შემდეგ ჯგუფებს:

adm dialout sudo input netdev gpio i2c spi ·

საჭიროების შემთხვევაში, დაამატეთ მომხმარებელი შესაბამის ჯგუფებს:

sudo adduser your_username ჯგუფის სახელი

ნაბიჯი 8: ნაბიჯი 8: მონაცემთა ბაზა

ნაბიჯი 8: მონაცემთა ბაზა
ნაბიჯი 8: მონაცემთა ბაზა
ნაბიჯი 8: მონაცემთა ბაზა
ნაბიჯი 8: მონაცემთა ბაზა
ნაბიჯი 8: მონაცემთა ბაზა
ნაბიჯი 8: მონაცემთა ბაზა

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

Raspberry Pi- ს მონაცემთა ბაზის დასამატებლად შეასრულეთ შემდეგი ნაბიჯები:

1. დაამყარეთ კავშირი Putty– ს საშუალებით

2. განაახლეთ MySQL

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

sudo apt-get დააინსტალირეთ mysql-server-დააფიქსირეთ დაკარგული -y

sudo გადატვირთვა

3. დაიცავით MariaDB

sudo mysql_secore_installation

4. შედით MariaDB– ში

sudo mysql -u ფესვი

5. მონაცემთა ბაზას ამჟამად არ ჰყავს მომხმარებელი. ჩვენ ვიყენებთ ამ კოდს მომხმარებლის შესაქმნელად, თქვენ უბრალოდ უნდა შეავსოთ მომხმარებელი და პაროლი:

მიანიჭეთ ყველა პრივილეგიას *. * ‘შეავსეთ_შენი_შენი_სახელი’@’%’ - მდე

იდენტიფიცირებული შეავსეთ_შენი_შენი_სიტყვით 'გრანტის არჩევით;

FLUSH PRIVILEGES; გასვლა;

6. ჩამოტვირთეთ მონაცემთა ბაზა Github– დან.

7. დააინსტალირეთ სამუშაო მაგიდა.

8. შექმენით კავშირი სამუშაო მაგიდაზე თქვენს პითან და შეასრულეთ ფაილი.

ნაბიჯი 9: ნაბიჯი 9: პითონის კოდი

1. ჩამოტვირთეთ და შეინახეთ პითონფილები Github– დან.

2. ჩამოტვირთეთ და გახსენით Pycharm.

3. გააკეთეთ თარჯიმანი და დანერგვის კონფიგურაცია, რომელიც შეეფერება თქვენს Raspberry Pi- ს.

4. შეცვალეთ ფაილი mainCode1.py Pycharm– ში და შეცვალეთ pinnumbers და მონაცემთა ბაზების პარამეტრები თქვენს პირად პარამეტრებზე წინა ნაბიჯებიდან.

ნაბიჯი 10: ნაბიჯი 10: პითონის კოდის ავტომატური გაშვება

ნაბიჯი 10: ავტომატურად გაუშვით პითონის კოდი
ნაბიჯი 10: ავტომატურად გაუშვით პითონის კოდი

1. დაამყარეთ Putty კავშირი თქვენს პითან.

2. გახსენით ფაილი /etc/rc.local:

sudo nano /etc/rc.local

3. გასვლამდე დაამატეთ შემდეგი ხაზები:

ძილი 60

python3 /path_from_root_to_your_pythonfile/name_of_your_pythonfile.py

ნაბიჯი 11: ნაბიჯი 11: Arduino კოდი

1. ჩამოტვირთეთ და შეინახეთ.ino ფაილი Github– დან.

2. შეაერთეთ თქვენი Arduino ლეპტოპთან USB- ის საშუალებით.

3. გათიშეთ Rx და Tx კაბელები, რომლებიც აკავშირებს Arduino– ს Raspberry Pi– თან.

4. გახსენით ფაილი და ატვირთეთ Arduino– ში.

5. გათიშეთ Arduino თქვენი ლეპტოპიდან და სწორად შეაერთეთ Rx და Tx კაბელები.

6. მიეცით ძალა არდუინოს. 4*7 სეგმენტის ჩვენება უნდა აჩვენოს 12:34

ნაბიჯი 12: ნაბიჯი 12: ვებ სერვერი

ნაბიჯი 12: ვებ სერვერი
ნაბიჯი 12: ვებ სერვერი

1. დააინსტალირეთ apache:

sudo apt დააინსტალირეთ apache2 -y

2. გახდი/var/www/html დირექტორიის მფლობელი:

sudo chown pi/var/www/html

3. გადადით დირექტორიაში:

cd/var/www/html

4. შეამოწმეთ ხართ თუ არა მფლობელი root– ის ნაცვლად:

ლ -ალ

5. ჩამოტვირთეთ და გახსენით Filezilla

6. დაამყარეთ კავშირი თქვენს პითან, როგორც ეს ნაჩვენებია სურათზე. (ან გამოიყენეთ 169.254.10.1 და Ethernet კაბელი ან დაუკავშირდით wi-fi საშუალებით)

ა გადადით დირექტორია/var/www/html

ბ წაშალეთ ნაგულისხმევი index.html გვერდი

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

ნაბიჯი 13: ნაბიჯი 13: გარე მშენებლობა

ნაბიჯი 13: გარედან მშენებლობა
ნაბიჯი 13: გარედან მშენებლობა
ნაბიჯი 13: გარედან მშენებლობა
ნაბიჯი 13: გარედან მშენებლობა
ნაბიჯი 13: გარედან მშენებლობა
ნაბიჯი 13: გარედან მშენებლობა

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

1. მულტიპლექს პანელზე დახაზეთ შემდეგი ფორმები:

მხარეები: 2 x კვადრატი (180 მმ x 180 მმ)

ზედა და ქვედა: 2 x ოთხკუთხედი (180 მმ x 300 მმ)

წინა და უკანა: 2 x ოთხკუთხედი (170 მმ x 300 მმ)

2. დაინახე და ქვიშა თითოეული ფორმის კვადრატი და ოთხკუთხედი

3. მიიღეთ სათადარიგო ხე და გააკეთეთ პატარა ფიცრები 20 მმ სიმაღლისა და 20 მმ სიგანის.

4. დააფინეთ პატარა ფიცრები მულტიპლექსის შიგნიდან (ქვედა, წინა და უკანა), როგორც ჩანს ფოტოებში.

5. გადაწყვიტეთ სად გსურთ გააკეთოთ შესაბამისი ხვრელები LCD ეკრანისთვის, 4*7 სეგმენტის ჩვენებისთვის, დინამიკისთვის, სინათლის სენსორისთვის, RGB LED– სთვის, მბრუნავი კოდირებისთვის და ღილაკისთვის.

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

7. ამოჭერით საჭირო ნაჭრები.

8. მიამაგრეთ რამოდენიმე გარსი ყუთის გარედან, დააკავშირეთ ზედა და უკანა მხარე.

9. მიამაგრეთ მაგნიტი წინა მხარეს და პატარა ლითონის ფირფიტა ზედა მხარეს.

10. ხრახნიანი ან წებოვანი ყველაფერი იქ, სადაც გსურთ.

11. შეიკრიბეთ ყუთი ყველა გარედან ერთმანეთთან ერთად (გარდა ზემოდან).

შეგიძლიათ გამოტოვოთ 3 და 4 თუ იყენებთ უფრო მცირე ზომის ხრახნებს (მე ვიყენებ 12 მმ ხრახნებს). მცირე ზომის ხრახნების გამოყენება ოდნავ ამცირებს ყუთის სტაბილურობას.

გირჩევთ: