فهرست مطالب:
- مرحله 1: اتصال سخت افزار به Pi
- مرحله 2: برنامه نویسی برنامه های اصلی
- مرحله 3: ایجاد پایگاه داده
- مرحله 4: کدگذاری سخت افزار
تصویری: Beargardian: 5 Step
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
بچه ها برای مدرسه من به ایده ای برای پروژه نیاز داشتم. بنابراین من فکر می کردم ، این باید یک پروژه با تمشک pi باشد و محلی است. ناگهان من یک ایده عالی داشتم و از من نپرسید که چگونه این ایده را به دست می آورم ، اما من در مورد ارتقاء یک مانیتور کودک فکر کردم. فقط یک ثانیه به این ایده فکر کنید ، بیشتر مانیتورهای کودک فقط وظیفه گوش دادن به اتاق کودک را دارند.
ویژگی ها
- کمی نمایش روشن با رنگ های قابل تنظیم
- دوربینی که تصاویر زنده را به شما نشان می دهد
- بلندگو برای پخش موسیقی
- سنسورهایی برای ثبت حرکت نوزاد
- همه چیز نشان داده شده در یک وب سایت
اطلاعات کوتاه
اجازه دهید این را در یک نسخه کوتاه توضیح دهیم. بنابراین ما به یک وب سایت نیاز داریم و برای این پروژه من از Flask استفاده می کنم ، ما همچنین به یک پایگاه داده نیاز داریم و از mysql استفاده می کنم ، همچنین یک اسکریپت که سخت افزار را اجرا می کند و این با پایتون (3) است و در آخرین مورد ما نیاز به راه اندازی سرور داریم که در PI nginx خواهد بود.
ما به چه چیزی نیاز داریم
- رزبری پای 3
- نامادری 28BYJ
- ماژول پله ای راننده استپ موتور ULN2003
- یک rgb led با 3 مقاومت 330 اهم
- دوربین Pi NoIR V2
- سنسور اولتراسونیک HC-SR04
- ماژول میکرو از ardiuno
- MAX98357A
- بلندگوی 8 اهم
- و خرید خرس را فراموش نکنید
راه اندازی تمشک پی ----------------------------------------------- ------------------------------------------------------ ------------------------------
در ابتدا ما باید Pi را راه اندازی کنیم. برای ورود به سیستم از طریق بتونه شروع کنید ، اگر بتونه ندارید توصیه می کنم این را بارگیری کنید ، به سادگی IP ثابت خود را از Pi با ssh تایپ کنید و با آن کار کنید. اگر باید رزبری پای خود را نصب کنید ، من خبر بدی دریافت کردم ، من این را در این پروژه توضیح نمی دهم.
بسته ها را نصب کنید
به روز رسانی sudo apt
sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
محیط مجازی
python3 -m pip install -upgrade pip setuptools wheel 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 پوشه را مشاهده کنید
- conf
- حسادت
- سنسور
- sql
- وب
پایگاه داده
sudo systemctl وضعیت mysql
ss -lt | grep mysql sudo mysql
یک کاربر با همه امتیازات در پایگاه داده ایجاد کنید و پایگاه داده خود را بسازید
ایجاد user 'user'@'localhost' با 'password'؛
ایجاد پایگاه داده yourdatabasename؛ اعطای همه امتیازات بر روی yourdatabasename.* به 'user'@'localhost' با گزینه اعطا ؛
فایل های Conf برای سرور
در uwsgi-flask.ini 'module =…' را به 'module = web: app' و مسیر virtualenv خود را که ایجاد کرده اید تغییر می دهید. در سایر فایلها باید مسیرها را به مسیرهای مطلق واقعی فهرست خود تغییر دهید.
هنگامی که متوجه شدید ، می توانید فایل ها را در مکان مناسب تنظیم کنید.
sudo cp conf/project1-*. service/etc/systemd/system/
sudo systemctl daemon-reload sudo systemctl start project1-* sudo systemctl status status1-*
اکنون باید این را در دسترس قرار دهیم
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
- پین 2 به GPIO 6
- پین 3 به GPIO 13
- پین 4 به GPIO 26
کوچک
D0 تا GPIO 21
سنسور اولتراسونیک
- trigge به GPIO 16
- انعکاس به GPIO 20
مرحله 2: برنامه نویسی برنامه های اصلی
من در اینجا وارد جزئیات نمی شوم ، اما می توانید کد من را در github بررسی کنید.
برای شروع ، من html و css ، فهرست ، ورود ، ثبت نام ، صفحه اصلی ، موسیقی ، addmusic ، addbear ، نور ، دوربین ، تنظیمات دوربین ، سنسور ، صفحه داشبورد را ایجاد کردم. فایلهای html باید در قالبها و فایلهای css در پوشه static/css باشد. می توانید css را مطابق میل خود به طور کامل سفارشی کنید.
اگر این قسمت را انجام دادید باید فلاسک خود را راه اندازی کنید. استفاده از Flask آسان است فقط یک نمونه از جهان سلام
در ابتدا # فلاسک وارد کنید
از واردات فلاسک * @app.route ('/') def index (): render_template را برگردانید ('index.html')
اکنون در کد من این مورد قبلاً پر شده است ، تنها کاری که باید انجام دهید این است که کاربر و رمز عبور پایگاه داده را به شما تغییر دهید و البته همان پایگاه داده ای را که می توانید در github پیدا کنید ، ایجاد کنید.
مرحله 3: ایجاد پایگاه داده
برای طرفداران واقعی ، من به شما می گویم که چگونه پایگاه داده یکسانی ایجاد کنید.
بنابراین اگر در مرحله اول این کار را نکرده اید ، ابتدا باید پایگاه داده را ایجاد کنیم.
ایجاد پایگاه داده beargardian؛
پس از انجام این کار ، جداول را در mysql workbench یا phpadmin ایجاد کنید
جدول کاربر دارای
- شناسه کاربری
- نام کوچک
- نام خانوادگی
- پست الکترونیک
- نام نوزاد
- رمز عبور با sha1
- پوشه کاربر
- پخش موسیقی (int)
- نور بازی (int)
- ضبط بازی (int)
میز موسیقی دارد
- musicID
- ترانه
- مسیر
- پوشه کاربر
- وضعیت
- جلد
میز ضبط دارد
- ضبط ID
- مسیر
- پوشه کاربر
- زمان
- روز
جدول رنگی دارد
- colorID
- قرمز
- سبز
- آبی
- روشنایی
- شناسه کاربری
میز خرس دارد
- bearID (اعشاری (8))
- userID پیش فرض null
- نام تجاری
میز سنسور دارد
- sensorID
- فاصله
- کوچک
- bearID
- زمان
- روز
- وقت خواب
بنابراین اکنون شما پایگاه داده را با موفقیت ایجاد کرده اید ، بیایید به سخت افزار برویم.
مرحله 4: کدگذاری سخت افزار
من کمی کد نشان می دهم و به شما می گویم که چرا این کار را به این شکل انجام دادم.
برای شروع ، من از threading استفاده کردم ، آنچه باید در این پروژه مطلق باشد. موضوع چیست ، هوممم سوال خوبی است! تهدید در پایتون اجرای چندین برنامه همزمان است. بنابراین اگر شما به عنوان مثال رنگ را تغییر دهید می توانید ضبط کنید. استفاده از آن آسان است نگران نباشید.
import _threaddef function_name (چیزی ، چیزی_ دیگر): کد برای اجرا
_thread.start_new_thread (نام تابع ، چندگانه_با_متغییرهای_عملکرد)
اگر به برنامه من نگاه کردید logger.info ('…') را مشاهده کردید. این عملکرد چاپ است اما بسیار بهتر است ، زیرا در Pi نمی توانید چیزهایی را چاپ کنید بنابراین من یک فایل ایجاد می کنم و آن را در آنجا چاپ می کنم. Yoe می تواند فایل log را با این کد تنظیم کند.
logger = logging.getLogger (_ name _) logger.setLevel (logging. INFO) # ایجاد یک handler file handler = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)
# یک قالب ورود به سیستم ایجاد کنید
formatter = logging. Formatter ('٪ (asctime) s -٪ (name) s -٪ (message) s') handler.setFormatter (formatter)
# handlers را به logger اضافه کنید
logger.addHandler (handler)
logger.info ('راه اندازی سخت افزار / n ---------------------------------------')
بیشتر در خود کد همه چیز را توضیح می دهم.
توصیه شده:
WW2 History Learner: 3 Step
یادگیرنده تاریخ WW2: سلام بچه ها! بنابراین برای کلاس کامپیوتر من در سال جاری ما موظف شدیم نوعی دستگاه الکترونیکی ایجاد کنیم تا آنچه را که در کلاس آموخته ایم نشان دهیم. من یکی از افرادی هستم که تاریخ جنگ جهانی دوم را دوست دارم ، بنابراین تصمیم گرفتم دستگاهی بسازم كه به مردم كمك كند
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Java Java: 4 Step
Raspberry Pi-TMD26721 Infrared Digital Proximity Detector Java Java: TMD26721 یک آشکارساز مجاورت دیجیتالی مادون قرمز است که یک سیستم تشخیص مجاورت کامل و منطق رابط دیجیتال را در یک ماژول نصب سطح 8 پین تک فراهم می کند. تشخیص مجاورت شامل بهبود سیگنال به نویز و دقت. یک حرفه ای
آگاه باشید از ATLAS - STAR WARS - Death Star II: 7 Step (همراه با تصاویر)
از ATLAS آگاه باشید - STAR WARS - Death Star II: Build from Bandai Death Star II مدل پلاستیکی. ویژگی های اصلی عبارتند از: ستاره مرگ
تبدیل سنسور جلوه Logitech 3D Extreme Pro Hall: 9 Step
تبدیل سنسور جلوه Logitech 3D Extreme Pro Hall: کنترل سکان روی جوی استیکم در حال خاموش شدن بود. من سعی کردم گلدان ها را جدا کرده و آنها را تمیز کنم ، اما واقعاً فایده ای نداشت. بنابراین من جستجوی گلدان های جایگزین را شروع کردم و چندین وب سایت مختلف از چندین سال پیش پیدا کردم که اشاره می کردند
"High-Fivey" Cardboard Micro: bit Robot: 18 Step (همراه با تصاویر)
"High-Fivey" Cardboard Micro: bit Robot: در خانه گیر کرده اید اما هنوز به پنج نفر نیاز دارید؟ ما یک ربات کوچک دوستانه با مقوا و میکرو ساخته ایم: بیت به همراه تخته مدار Crazy Circuits و تنها چیزی که او از شما می خواهد یک پنج نفره بالا است تا عشق او را به شما زنده نگه دارد. اگر دوست دارید