Სარჩევი:
- ნაბიჯი 1: აპარატურის მიერთება Pi- სთან
- ნაბიჯი 2: ძირითადი პროგრამების კოდირება
- ნაბიჯი 3: მონაცემთა ბაზის შექმნა
- ნაბიჯი 4: აპარატურის კოდირება
ვიდეო: ბერგარდიანი: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ბიჭებო სკოლისთვის მჭირდებოდა იდეა პროექტისთვის. მე ვფიქრობდი, რომ ეს უნდა იყოს პროექტი ჟოლოს პი და ეს ადგილობრივია. მოულოდნელად მე მქონდა დიდი იდეა და არ მკითხოთ როგორ მივიღო ეს იდეა, მაგრამ ვიფიქრე ბავშვის მონიტორის განახლებაზე. ერთი წამით დაფიქრდით ამ იდეაზე, ყველაზე მეტად ბავშვის მონიტორებს აქვთ ბავშვის ოთახის მოსმენის ფუნქცია.
თვისებები
- პატარა სინათლის ჩვენება რეგულირებადი ფერებით
- კამერა, რომელიც გაჩვენებთ ცოცხალ სურათებს
- სპიკერი მუსიკის დასაკრავად
- სენსორები ბავშვის მოძრაობის დასაფიქსირებლად
- ეს ყველაფერი ნაჩვენებია ვებგვერდზე
მოკლე ინფორმაცია
მოდით განვმარტოთ ეს მოკლე ვერსიით. ჩვენ გვჭირდება ვებგვერდი და ამ პროექტისთვის მე ვიყენებ Flask- ს, ჩვენ ასევე გვჭირდება მონაცემთა ბაზა და მე ვიყენებ mysql- ს, ასევე სკრიპტს, რომელიც აწარმოებს აპარატურას და ეს არის პითონთან (3) და ბოლოს ჩვენ გვჭირდება სერვერის დაყენება ეს იქნება nginx PI– ზე.
რა გვჭირდება
- ჟოლო პი 3
- დედინაცვალი 28BYJ
- სტეპმოტორული მძღოლის ჩიპი ULN2003 სტეპერიანი მოდული
- Rgb 3 რეზისტორებით 330 Ohm
- Pi NoIR კამერა V2
- ულტრაბგერითი სენსორი HC-SR04
- მიკრო მოდული არდიუნოდან
- MAX98357A
- სპიკერი 8 Ohm
- და არ დაგავიწყდეთ დათვის ყიდვა
ჟოლოს პი დაყენება -------------------------------------------------- ------------------------------------------------------ ------------------------------
თავდაპირველად ჩვენ გვჭირდება Pi- ს დაყენება. დაიწყეთ უკვე შესვლა putty– ს საშუალებით, თუ არ გაქვთ putty გირჩევთ გადმოწეროთ ეს, უბრალოდ ჩაწერეთ Pi– ს სტატიკური ip ssh– ით და მიდიხართ მასთან ერთად. თუ თქვენ უნდა დააინსტალიროთ თქვენი Raspberry Pi მაშინ მე მივიღე ცუდი ამბავი, მე ამას არ ავხსნი ამ პროექტში.
დააინსტალირეთ პაკეტები
sudo apt განახლება
sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
ვირტუალური გარემო
python3 -m pip დააინსტალირეთ -განაახლეთ pip setuptools საჭე virtualenv
mkdir {თქვენი პროექტის საქაღალდის სახელი} && cd {თქვენი პროექტის საქაღალდე} python3 -m venv --system-site-packages env source env/bin/activing python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask- MySQL mysql-connector-python passlib
ახლა თქვენ უნდა მოახდინოთ git საცავის კლონირება თქვენი პროექტის საქაღალდეში
github.com/NMCT-S2-Project-I/Project-I.git
თუ გადახედავთ თქვენი პროექტის საქაღალდეს, თქვენ უნდა ნახოთ 5 საქაღალდე
- კონფიგურაცია
- შური
- სენსორი
- კვ
- ვებ
Მონაცემთა ბაზა
sudo systemctl სტატუსი mysql
ss -lt | grep mysql sudo mysql
შექმენით მომხმარებელი მონაცემთა ბაზაში ყველა პრივილეგიით და შექმენით თქვენი მონაცემთა ბაზა
შექმნა მომხმარებლის 'user'@'localhost' განსაზღვრული 'პაროლით';
შექმენით მონაცემთა ბაზა თქვენი მონაცემთა ბაზის სახელი; მიანიჭეთ ყველა პრივილეგია თქვენს მონაცემთა ბაზის სახელზე.* 'user'@'localhost' - ს გრანტის ვარიანტით;
კონფიგურაციის ფაილები სერვერისთვის
Uwsgi-flask.ini– ში თქვენ შეცვლით 'module =…'-ს 'module = web: app' და თქვენს ვირტუალენვისკენ მიმავალ გზას, რომელიც თქვენ შექმენით. სხვა ფაილებში თქვენ უნდა შეცვალოთ ბილიკები თქვენი დირექტორია.
მას შემდეგ რაც გაარკვიეთ, შეგიძლიათ ფაილების დაყენება საჭირო ადგილას.
sudo cp conf/project1-*. service/etc/systemd/system/
sudo systemctl daemon-reload sudo systemctl პროექტის დაწყება 1-* sudo systemctl სტატუსის პროექტი 1-*
ახლა ჩვენ უნდა დავაყენოთ ეს ხელმისაწვდომი
sudo cp conf/nginx/etc/nginx/sites-available/project1
sudo rm/etc/nginx/sites-enabled/default sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 sudo systemctl გადატვირთვა nginx.service sudo nginx -t
თუ ყველაფერი კარგად წარიმართა, უნდა გქონდეს გამარჯობა, ამ ბრძანებით
wget -qO - localhost
Შესრულებულია ! ეს ის ნაწილია, რომლის საშუალებითაც შესაძლებელია თქვენი სისტემის გაშვება …
ნაბიჯი 1: აპარატურის მიერთება Pi- სთან
BCM- ის გამოყენებით
აუდიო MAX98357A
- BCK GPIO 18 -მდე
- მონაცემები GPIO 21 -მდე
- LRCK GPIO 19 -მდე
მსუბუქი
- წითელი GPIO 17 -მდე
- მწვანე GPIO 27 -მდე
- ლურჯი GPIO 22 -მდე
ძრავის მოდული ULN2003
- მიამაგრეთ 1 GPIO 5 -ზე
- pin 2 GPIO 6 -ზე
- პინი 3 GPIO 13 -ზე
- პინი 4 GPIO 26 -მდე
მიკრო
D0 GPIO 21 -მდე
ულტრაბგერითი სენსორი
- გამოიწვია GPIO 16
- ექო GPIO 20 -ზე
ნაბიჯი 2: ძირითადი პროგრამების კოდირება
მე აქ დეტალებს არ ვიღებ, მაგრამ თქვენ შეგიძლიათ შეამოწმოთ ჩემი კოდი github– ში.
დასაწყისისთვის გავაკეთე ჩემი html და css, ინდექსი, შესვლა, რეგისტრაცია, საწყისი ეკრანი, მუსიკა, დამატმუსიკა, addbear, შუქი, კამერა, კამერის პარამეტრები, სენსორი, დაფის გვერდი. Html ფაილები უნდა იყოს შაბლონებში და css ფაილები სტატიკურ/css საქაღალდეში. თქვენ შეგიძლიათ სრულად მოაწყოთ css, როგორც გსურთ.
თუ ეს ნაწილი გააკეთეთ, თქვენ უნდა დააინსტალიროთ თქვენი კოლბა. Flask არის მარტივი მხოლოდ მაგალითი hello მსოფლიოში
# იმპორტის კოლბა თავიდან
კოლბის იმპორტიდან * @app.route ('/') def index (): render_template დაბრუნება ('index.html')
ახლა ჩემს კოდში ეს უკვე შევსებულია, ერთადერთი რაც თქვენ უნდა გააკეთოთ არის მონაცემთა ბაზის მომხმარებლის და პაროლის შეცვლა თქვენგან და რა თქმა უნდა შექმენით იგივე მონაცემთა ბაზა, რომელიც ასევე შეგიძლიათ ნახოთ github– ში.
ნაბიჯი 3: მონაცემთა ბაზის შექმნა
ნამდვილი გულშემატკივრებისთვის მე გეტყვით, თუ როგორ უნდა შექმნათ იგივე მონაცემთა ბაზა.
ასე რომ, პირველ რიგში ჩვენ უნდა შევქმნათ მონაცემთა ბაზა, თუ თქვენ არ გადადგამთ პირველ ნაბიჯს.
მონაცემთა ბაზის შექმნა beargardian;
ამის გაკეთების შემდეგ თქვენ შექმნით ცხრილებს mysql workbench ან phpadmin
მომხმარებლის ცხრილი აქვს
- მომხმარებლის იდენტიფიკაცია
- სახელი
- გვარი
- ელფოსტა
- ბავშვის სახელი
- პაროლი sha1– ით
- მომხმარებლის საქაღალდე
- პლემუსიკა (int)
- ნათურა (int)
- სათამაშო ჩაწერა (int)
მუსიკალური მაგიდა აქვს
- musicID
- სიმღერა
- გზა
- მომხმარებლის საქაღალდე
- სტატუსი
- მოცულობა
აქვს ჩაწერის მაგიდა
- ჩაწერის ID
- გზა
- მომხმარებლის საქაღალდე
- დრო
- დღის
ფერადი მაგიდა აქვს
- ფერი ID
- წითელი
- მწვანე
- ლურჯი
- სიკაშკაშე
- მომხმარებლის იდენტიფიკაცია
დათვის მაგიდა აქვს
- bearID (ათობითი (8))
- userID ნაგულისხმევი null
- მარკის სახელი
სენსორული მაგიდა აქვს
- სენსორის ID
- მანძილი
- მიკრო
- bearID
- დრო
- დღის
- ძილის დრო
ახლა თქვენ წარმატებით შექმენით მონაცემთა ბაზა, მოდით გადავიდეთ აპარატურაზე.
ნაბიჯი 4: აპარატურის კოდირება
მე ვაჩვენებ ოდნავ კოდს და გეტყვით, რატომ გავაკეთე ასე.
დასაწყისისთვის მე გამოვიყენე თემა, რა არის აბსოლუტური აუცილებლობა ამ პროექტში. რა თემაა, ჰმ, კარგი კითხვაა! პითონში საფრთხის შემცველია ერთდროულად მრავალი პროგრამის გაშვება. ასე რომ, თუ თქვენ მაგალითად შეცვლით ფერს, ასევე შეგიძლიათ ჩაწეროთ. მისი გამოყენება მარტივია, არ ინერვიულოთ.
იმპორტი _threaddef ფუნქციის_სახელი (რაღაც, რაღაც_ სხვა): კოდი გასაშვებად
_thread.start_new_thread (ფუნქციის_სახელი, tuple_whith_functions_variables)
თუ გადახედე ჩემს პროგრამას დაინახე logger.info ('…'). ეს არის ბეჭდვის ფუნქცია, მაგრამ ბევრად უკეთესი, რადგან Pi– ზე თქვენ არ შეგიძლიათ დაბეჭდოთ პერსონალი, ამიტომ მე ვაკეთებ ფაილს და ვბეჭდავ იქ. ამ კოდს შეუძლია დააყენოს ჟურნალი.
logger = logging.getLogger (_ სახელი _) logger.setLevel (logging. INFO) # შექმენით ფაილის დამმუშავებელი = logging. FileHandler ('logger.log') handler.setLevel (loging. INFO)
# შექმენით ჟურნალის ფორმატი
formatter = logging. Formatter (' %(asctime) s - %(name) s - %(message) s') handler.setFormatter (formatter)
# დაამატეთ დამმუშავებლებს ჟურნალში
logger.addHandler (დამმუშავებელი)
logger.info ('აპარატურის დაწყება / n ---------------------------------------')
შემდგომ კოდში მე ავხსნი ყველაფერს.
გირჩევთ:
ნახევარი ნაბიჯი: 5 ნაბიჯი (სურათებით)
სემინარი: IntroduçãoNeste projeto, você construirá um an sistema de semáforos: არსებობს 3 LED ნათურები სხვადასხვა ბირთვით (verde, amarelo e vermelho) para imitar os semáforos dos carros; არსებობს 2 LED ნათურები სხვადასხვა ბირთვით (verde და vermelho) იმისთვის, რომ გააკეთოთ
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი!: 6 ნაბიჯი
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი! შინაური ცხოველების მქონე ადამიანებს, ალბათ, იგივე პრობლემა ჰქონდათ, როგორც მე: შვებულება და დავიწყება. მე მუდმივად მავიწყდებოდა ჩემი თევზის გამოკვება და ყოველთვის ვცდილობდი ასე გამეკეთებინა სანამ ის წავიდოდა
აკუსტიკური ლევიტაცია Arduino Uno– ით ეტაპობრივად (8 ნაბიჯი): 8 ნაბიჯი
აკუსტიკური ლევიტაცია Arduino Uno– სთან ერთად ეტაპობრივად (8 საფეხური): ულტრაბგერითი ხმის გადამცემები L298N Dc მდედრობითი ადაპტერი დენის წყაროს მამაკაცის dc pin Arduino UNOBreadboard და ანალოგური პორტები კოდის გადასაყვანად (C ++)
ნაბიჯი: 4 ნაბიჯი
聲納: 改作: https: //aboutsciences.com/blog/arduino-radar-using … 我 在 原本 聲納 的 ar ar ar ar ar: arduino uno, 感測器, 馬達, 喇叭: 掃描 到 物品 加速 並 傳 述 cm cm cm cm cm cm cm 10 სმ 時 喇叭 會
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: 3 ნაბიჯი
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: შემდეგი სახელმძღვანელო დაგეხმარებათ მიიღოთ პირდაპირი HD ხარისხის ვიდეო ნაკადები თითქმის ნებისმიერი DJI თვითმფრინავისგან. FlytOS მობილური აპლიკაციისა და FlytNow ვებ აპლიკაციის დახმარებით თქვენ შეგიძლიათ დაიწყოთ ვიდეოს სტრიმინგი დრონიდან