Mục lục:
- Bước 1: Kết nối phần cứng với Pi
- Bước 2: Mã hóa các chương trình chính
- Bước 3: Tạo cơ sở dữ liệu
- Bước 4: Mã hóa phần cứng
- Bước 5: Công việc tuyệt vời
Video: Beargardian: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Này các bạn cho trường học, tôi cần một ý tưởng cho một dự án. Vì vậy, tôi đã nghĩ, đó phải là một dự án với raspberry pi và nó là địa phương. Đột nhiên tôi có một ý tưởng tuyệt vời và đừng hỏi tôi làm thế nào tôi có được ý tưởng đó nhưng tôi đã nghĩ đến việc nâng cấp cho một màn hình trẻ em. Chỉ cần suy nghĩ một giây về ý tưởng đó, hầu hết các màn hình trẻ em chỉ có chức năng để nghe phòng của bé.
Các tính năng
- Một chút ánh sáng với màu sắc có thể điều chỉnh
- Máy ảnh hiển thị cho bạn hình ảnh trực tiếp
- Loa để phát nhạc
- Cảm biến để nắm bắt chuyển động của em bé
- Tất cả những gì hiển thị trên một trang web
Thông tin ngắn
Letme giải thích điều này trong một phiên bản ngắn. Vì vậy, chúng tôi cần một trang web và đối với dự án này, tôi đang sử dụng Flask, chúng tôi cũng cần một cơ sở dữ liệu và tôi đang sử dụng mysql, cũng là một tập lệnh chạy phần cứng và đây là với python (3) và cuối cùng chúng tôi cần thiết lập máy chủ đó sẽ là nginx trên PI.
Chúng ta cần gì
- Raspberry Pi 3
- The stepmotor 28BYJ
- Mô-đun bước trình điều khiển stepmotor ULN2003
- Một led rgb với 3 điện trở 330Ohm
- Máy ảnh Pi NoIR V2
- Cảm biến siêu âm HC-SR04
- Mô-đun vi mô từ ardiuno
- MAX98357A
- Một loa 8Ohm
- Và đừng quên mua một chú gấu
Thiết lập raspberry pi ----------------------------------------------- -------------------------------------------------- --------------------------
Đầu tiên, chúng ta cần thiết lập Pi. Bắt đầu đăng nhập qua putty, nếu bạn chưa có putty, tôi khuyên bạn nên tải xuống cái này, chỉ cần nhập ip tĩnh của bạn của Pi bằng ssh và bạn sử dụng nó. Nếu bạn phải cài đặt Raspberry Pi thì tôi có tin xấu, tôi không giải thích điều này trong dự án này.
Cài đặt các gói
cập nhật apt sudo
sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
Môi trường ảo
python3 -m pip cài đặt - nâng cấp pip setuptools wheel virtualenv
mkdir {your project foldername} && cd {your project foldername} python3 -m venv --system-site-pack env source env / bin / active python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask- MySQL mysql-connector-python passlib
Bây giờ bạn phải sao chép kho lưu trữ git trong thư mục dự án của mình
github.com/NMCT-S2-Project-I/Project-I.git
Nếu bạn nhìn vào thư mục dự án của mình, bạn phải thấy 5 thư mục
- tâm sự
- env
- cảm biến
- sql
- web
Cơ sở dữ liệu
sudo systemctl trạng thái mysql
ss -lt | grep mysql sudo mysql
tạo một người dùng trong cơ sở dữ liệu với tất cả các đặc quyền và tạo cơ sở dữ liệu của bạn
tạo người dùng 'user' @ 'localhost' được xác định bằng 'mật khẩu';
tạo cơ sở dữ liệu yourdatabasename; cấp tất cả các đặc quyền trên yourdatabasename. * cho 'user' @ 'localhost' với tùy chọn cấp;
Tệp tin cấu hình cho máy chủ
Trong uwsgi-flask.ini, bạn thay đổi 'module =…' thành 'module = web: app' và đường dẫn đến virtualenv mà bạn đã tạo. Trong các tệp khác, bạn cần thay đổi đường dẫn thành đường dẫn tuyệt đối thực tế trong thư mục của bạn.
Khi bạn đã tìm ra, bạn có thể đặt các tệp ở đúng vị trí.
sudo cp conf / project1 - *. service / etc / systemd / system /
sudo systemctl daemon-tải lại sudo systemctl start project1- * sudo systemctl status project1- *
bây giờ chúng ta phải thiết lập cái này có sẵn
sudo cp conf / nginx / etc / nginx / sites-available / project1
sudo rm / etc / nginx / sites-enable / default sudo ln -s / etc / nginx / sites-available / project1 / etc / nginx / sites-enable / project1 sudo systemctl restart nginx.service sudo nginx -t
Nếu mọi thứ suôn sẻ, bạn nên chào thế giới với lệnh này
wget -qO - localhost
Xong ! Đó là phần để cho phép hệ thống của bạn chạy trên…
Bước 1: Kết nối phần cứng với Pi
sử dụng BCM
âm thanh MAX98357A
- BCK đến GPIO 18
- Dữ liệu tới GPIO 21
- LRCK đến GPIO 19
soi rọi
- màu đỏ đến GPIO 17
- màu xanh lá cây đến GPIO 27
- xanh lam đến GPIO 22
mô-đun động cơ ULN2003
- chân 1 đến GPIO 5
- chân 2 đến GPIO 6
- chân 3 đến GPIO 13
- chân 4 đến GPIO 26
vi mô
D0 đến GPIO 21
thiết bị cảm biến sóng siêu âm
- trig thành GPIO 16
- echo tới GPIO 20
Bước 2: Mã hóa các chương trình chính
Tôi không đi vào chi tiết ngay tại đây nhưng bạn có thể kiểm tra mã của tôi trong github.
Để bắt đầu, tôi đã tạo html và css của mình, chỉ mục, đăng nhập, đăng ký, màn hình chính, âm nhạc, addmusic, addbear, light, camera, cameraettings, sensor, dashboard page. Các tệp html phải nằm trong các mẫu và các tệp css trong thư mục static / css. Bạn hoàn toàn có thể tùy chỉnh css theo ý muốn.
Nếu bạn hoàn thành phần này, bạn cần thiết lập bình của mình. Flask rất dễ sử dụng chỉ là một ví dụ của hello world
# nhập bình lúc đầu
from flask import * @ app.route ('/') def index (): return render_template ('index.html')
Bây giờ trong mã của tôi, điều này đã được điền vào, điều duy nhất bạn cần làm là thay đổi người dùng và mật khẩu cơ sở dữ liệu từ bạn và tất nhiên tạo cùng một cơ sở dữ liệu mà bạn cũng có thể tìm thấy trong github.
Bước 3: Tạo cơ sở dữ liệu
Đối với những người hâm mộ thực sự, tôi sẽ cho bạn biết cách tạo cùng một cơ sở dữ liệu.
Vì vậy, trước tiên chúng ta cần tạo cơ sở dữ liệu nếu bạn chưa làm ở bước một.
tạo cơ sở dữ liệu beargardian;
Khi bạn đã làm điều này, bạn tạo các bảng trong bàn làm việc mysql hoặc phpadmin
bảng người dùng có
- tên người dùng
- tên đầu tiên
- họ
- tên em bé
- mật khẩu với sha1
- thư mục người dùng
- playmusic (int)
- playlight (int)
- playrecording (int)
bàn nhạc có
- musicID
- bài hát
- con đường
- thư mục người dùng
- trạng thái
- âm lượng
bảng ghi âm có
- ghi âm
- con đường
- thư mục người dùng
- thời gian
- ngày
bảng màu có
- colorID
- màu đỏ
- màu xanh lá
- màu xanh dương
- độ sáng
- tên người dùng
bàn gấu có
- bearID (số thập phân (8))
- userID mặc định null
- tên gấu
bảng cảm biến có
- sensorID
- khoảng cách
- vi mô
- bearID
- thời gian
- ngày
- giờ ngủ
Vì vậy, bây giờ bạn đã tạo cơ sở dữ liệu thành công, hãy chuyển sang phần cứng.
Bước 4: Mã hóa phần cứng
Tôi sẽ hiển thị một chút mã và cho bạn biết tại sao tôi lại làm theo cách đó.
Để bắt đầu, tôi đã sử dụng phân luồng, điều tuyệt đối phải có trong dự án này. Threading là gì, hmmm câu hỏi hay! Điều tốt nhất trong python là chạy nhiều chương trình cùng một lúc. Vì vậy, nếu bạn thay đổi màu sắc chẳng hạn, bạn cũng có thể ghi lại. Thật dễ dàng để sử dụng đừng lo lắng.
import _threaddef function_name (something, something_else): mã để chạy
_thread.start_new_thread (function_name, tuple_with_the_functions_variables)
Nếu bạn xem chương trình của tôi, bạn sẽ thấy logger.info ('…'). Đây là chức năng in nhưng tốt hơn nhiều, vì trên Pi bạn không thể in nội dung ra nên tôi tạo một tệp và in nó vào đó. Yoe có thể đặt tệp nhật ký bằng mã này.
logger = logging.getLogger (_ name _) logger.setLevel (logging. INFO) # tạo trình xử lý tệp trình xử lý = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)
# tạo định dạng ghi nhật ký
formatter = logging. Formatter ('% (asctime) s -% (name) s -% (message) s') handler.setFormatter (định dạng)
# thêm trình xử lý vào trình ghi nhật ký
logger.addHandler (trình xử lý)
logger.info ('khởi động phần cứng / n ---------------------------------------')
hơn nữa trong mã chính nó, tôi giải thích mọi thứ.
Đề xuất:
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: 6 bước
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: Trong phần Hướng dẫn nhanh này, chúng tôi sẽ tạo một bộ điều khiển động cơ bước đơn giản bằng cách sử dụng động cơ bước. Dự án này không yêu cầu mạch phức tạp hoặc vi điều khiển. Vì vậy, không cần thêm ado, chúng ta hãy bắt đầu
Động cơ bước được điều khiển Động cơ bước không có vi điều khiển (V2): 9 bước (có hình ảnh)
Động cơ bước được điều khiển bằng động cơ bước Không cần vi điều khiển (V2): Trong một trong những Hướng dẫn trước đây của tôi, tôi đã chỉ cho bạn cách điều khiển động cơ bước bằng cách sử dụng động cơ bước mà không cần vi điều khiển. Đó là một dự án nhanh chóng và thú vị nhưng nó đi kèm với hai vấn đề sẽ được giải quyết trong Có thể hướng dẫn này. Vì vậy, hóm hỉnh
Đầu máy mô hình điều khiển động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Đầu máy mô hình điều khiển động cơ bước | Động cơ bước làm bộ mã hóa quay: Trong một trong những phần Hướng dẫn trước, chúng ta đã học cách sử dụng động cơ bước làm bộ mã hóa quay. Trong dự án này, bây giờ chúng ta sẽ sử dụng bộ mã hóa quay động cơ bước đó để điều khiển đầu máy mô hình bằng vi điều khiển Arduino. Vì vậy, không có fu
Âm thanh bay bổng với Arduino Uno Từng bước (8 bước): 8 bước
Acoustic Levitation With Arduino Uno Step-by-by-by (8 bước): bộ chuyển đổi âm thanh siêu âm L298N Dc cấp nguồn cho bộ chuyển đổi âm thanh nữ với chân cắm một chiều nam Arduino UNOBreadboard Cách hoạt động: Đầu tiên, bạn tải mã lên Arduino Uno (nó là một vi điều khiển được trang bị kỹ thuật số và các cổng tương tự để chuyển đổi mã (C ++)
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy