Სარჩევი:

მთავარი_X: 5 ნაბიჯი
მთავარი_X: 5 ნაბიჯი

ვიდეო: მთავარი_X: 5 ნაბიჯი

ვიდეო: მთავარი_X: 5 ნაბიჯი
ვიდეო: Setting up a 3d Printer with MKS sGen L v1.0 Part 3 2024, ივლისი
Anonim
მთავარი_X
მთავარი_X

მე ვარ Howest Kortrijk– ის სტუდენტი, რომელიც სწავლობს ახალ მედიასა და საკომუნიკაციო ტექნოლოგიებს (NMCT).

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

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

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

ნაბიჯი 1: მასალები: რა გჭირდებათ

  • ჟოლო პი
  • DHT22
  • გროვი - ჰაერის ხარისხის სენსორი
  • გროვი - გაზის სენსორი (MQ2)
  • პურის დაფა
  • ჟოლო Pi T Cobbler
  • მამაკაცი/ქალი მხტუნავი მავთულები
  • 5 მმ ები
  • რეზისტორები
  • ხე და იარაღები
  • სერვო მოტორი
  • GrovePi+

თქვენ შეგიძლიათ შეიძინოთ ეს ნივთები ინტერნეტით (ალი ექსპრესი, ამაზონი, კივის ელექტრონიკა …) ან თქვენს ადგილობრივ მაღაზიებში.

მაღაზიების ბმულის მქონე ნაწილების დეტალური ჩამონათვალი მოცემულია ქვემოთ BOM– ში.

ნაბიჯი 2: გაყვანილობა

გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა

მე გამოვიყენე Fritzing გაყვანილობისთვის, რათა მქონდეს კარგი მიმოხილვა, თუ როგორ უნდა გაკეთდეს ჩემი გაყვანილობა. მე თვითონ გამოვიყენე GrovePi+ ჩემი 2 სენსორისთვის. თუ აპირებთ ამის გაკეთებას GrovePi+ - ის გარეშე, მიჰყევით Fritzing სქემას. მე სენსორები არ მუშაობს თქვენთვის, სცადეთ გამოიყენოთ სხვადასხვა ქინძისთავები.

თქვენ შეგიძლიათ იპოვოთ Fritzing ფაილი ქვემოთ.

ნაბიჯი 3: მონაცემთა ბაზა MySQL გამოყენებით

მონაცემთა ბაზა MySQL გამოყენებით
მონაცემთა ბაზა MySQL გამოყენებით

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

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

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

ქვემოთ შეგიძლიათ ნახოთ ჩემი.xml ფაილი, სადაც თქვენ გაქვთ მიმოხილვა, თუ როგორ მუშაობს მონაცემთა ბაზა, მაგრამ ჯერ თქვენ უნდა დააინსტალიროთ MySQL და კოლბა Raspberry Pi– ზე.

სენსორების კოდირება მოხდა pycharm– ის საშუალებით, ასე რომ დარწმუნდით, რომ ის ასევე დაინსტალირებულია (თქვენს კომპიუტერზე).

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

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

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

ახლა ჩვენ ვიყენებთ ვირტუალურ გარემოს:

me@my-rpi: ~ $ python3 -m pip install-upgrade pip setuptools wheel virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi:/project1 $ python3 -m venv --system- site-packages env me@my-rpi: ~/project1 $ source env/bin/activ (env) me@my-rpi:/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

უნდა გითხრათ, რომ mariadb.service აქტიურია.

ახლა, pycharm– ში გადადით VCS> იმპორტი ვერსიის კონტროლიდან> GitHub en clone

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

ამის დასრულების შემდეგ გადადით თარჯიმნის პარამეტრებზე და დააკონფიგურირეთ ვირტუალური გარემო, რომელიც თქვენ შექმენით, მაგ. /home/me/project/env/bin/python. ასევე საჭიროა გზების რუქების შევსება.

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

sudo systemctl სტატუსი mysql

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

სუდო მარიადბ

შექმენით მომხმარებელი 'project-admin'@'localhost' IDENTIFIED BY 'adminpassword'; შექმენით მომხმარებელი 'project-web'@'localhost' IDENTIFIED by 'webpassword'; შექმენით მომხმარებელი 'project-sensor'@'localhost' IDENTIFIED by 'sensorpassword'; შექმნა მონაცემთა ბაზის პროექტი;

მიანიჭეთ ყველა პრივატიულობას პროექტზე.* 'Project-admin'@'localhost' GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE ON the project.* TO 'project-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON Project.* TO 'project-sensor'@'localhost'; FLUSH პრივილეგიები;

ახლა რომ ნახოთ ჩვენი მონაცემთა ბაზა pycharm– ში, ჩვენ უნდა შევქმნათ კავშირი.

ჩვენ შეგვიძლია ამის გაკეთება გადადით View> Tool Windows> Database და მწვანე "პლუს" ღილაკზე დაჭერით.

მონაცემთა წყარო> MySQL და დააწკაპუნეთ (ასეთის არსებობის შემთხვევაში) გადმოწერილი დრაივერის ღილაკზე.

შემდეგ გადადით SSH/SSL და შეამოწმეთ SSH. შეავსეთ მასპინძელი/მომხმარებელი/პაროლი pi და გამოიყენეთ პორტი 22 თუ ჯერ არ არის შევსებული.

თუ გსურთ pycharm– მა დაიმახსოვროს თქვენი პაროლი, მონიშნეთ ჩამრთველი „პაროლის დამახსოვრება“.

ჩანართში "ზოგადი", შეავსეთ localhost მასპინძელში, პროექტი მონაცემთა ბაზაში და გამოიყენეთ project-admin პაროლით, რომ შეძლოთ კავშირის გამოცდა.

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

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

შემდეგი ნაბიჯი არის ამ სერვისების დაწყება თქვენს პიზე, მაგალითად:

sudo cp conf/project-*. service/etc/systemd/system/

sudo systemctl daemon-reload

sudo systemctl დაიწყოს პროექტი-*

sudo systemctl სტატუსის პროექტი-*

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

ბოლო ნაბიჯი არის nginx- ის ჩართვა.

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

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

sudo cp conf/nginx/etc/nginx/sites-available/project

sudo rm/etc/nginx/sites-enabled/default

sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project

sudo systemctl გადატვირთეთ nginx.service

sudo systemctl სტატუსი nginx.service

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

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

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

ნაბიჯი 4: კოდირება

კოდირება
კოდირება
კოდირება
კოდირება

თქვენ შეგიძლიათ ჩამოტვირთოთ კოდი Github– ის საშუალებით:

github.com/NMCT-S2-Project-I/project-i-Tib…

სენსორების კოდი შედის sensor.py ფაილში.

არ დაგავიწყდეთ შეცვალოთ ჩემი სახელი თქვენი სახელით (ან მომხმარებელი ვიდრე თქვენ იყენებთ თქვენს pi) მომსახურების ფაილებში, რათა მათ შეძლონ სწორად გაშვება და განათავსონ ჩემი კოდი უკვე არსებულ ფაილებში თქვენს Pycharm– ში.

ნაბიჯი 5: საცხოვრებელი

საცხოვრებელი
საცხოვრებელი
საცხოვრებელი
საცხოვრებელი
საცხოვრებელი
საცხოვრებელი
საცხოვრებელი
საცხოვრებელი

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

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

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

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

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

Საუკეთესო სურვილებით.

გირჩევთ: