جدول المحتويات:
- الخطوة 1: توصيل الأجهزة بـ Pi
- الخطوة الثانية: برمجة البرامج الرئيسية
- الخطوة 3: إنشاء قاعدة البيانات
- الخطوة 4: ترميز الأجهزة
فيديو: بيرغارديان: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
مرحبًا يا شباب للمدرسة ، كنت بحاجة إلى فكرة لمشروع. لذلك كنت أفكر ، يجب أن يكون مشروعًا مع raspberry pi وهو محلي. وفجأة خطرت لي فكرة رائعة ولم تسألني كيف أحصل على هذه الفكرة ولكني فكرت في ترقية جهاز مراقبة الأطفال. فقط فكر ثانية في هذه الفكرة ، معظم أجهزة مراقبة الأطفال لها وظيفة الاستماع إلى غرفة الطفل.
المميزات
- عرض خفيف مع ألوان قابلة للتعديل
- كاميرا تعرض لك صورًا حية
- مكبر صوت لتشغيل الموسيقى
- مستشعرات لالتقاط حركة الطفل
- كل ما يظهر على موقع على شبكة الإنترنت
معلومات قصيرة
اسمحوا لي أن أشرح هذا في نسخة قصيرة. لذلك نحن بحاجة إلى موقع ويب وهذا المشروع الذي أستخدمه Flask ، نحتاج أيضًا إلى قاعدة بيانات وأنا أستخدم mysql ، وهو أيضًا برنامج نصي يقوم بتشغيل الأجهزة وهذا مع python (3) وأخيرًا نحتاج إلى إعداد خادم سيكون ذلك nginx على PI.
ماذا نحتاج
- توت العليق باي 3
- 28BYJ متدرج
- وحدة السائر ULN2003 ذات المحرك المتدرج
- RGB ليد مع 3 مقاومات 330 أوم
- كاميرا Pi NoIR V2.0
- جهاز استشعار الموجات فوق الصوتية HC-SR04
- الوحدة الصغيرة من ardiuno
- MAX98357A
- مكبر صوت 8 أوم
- ولا تنس شراء دب
إعداد raspberry pi ----------------------------------------------- -------------------------------------------------- --------------------------
في البداية نحتاج إلى إعداد Pi. ابدأ بالفعل في تسجيل الدخول عبر المعجون ، إذا لم يكن لديك معجون أوصيك بتنزيل هذا ، فما عليك سوى كتابة عنوان IP الثابت الخاص بـ Pi مع 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 wheel virtualenv
mkdir {your project foldername} && cd {your project foldername} python3 -m venv --system-site -pack env source env / bin / activ 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 مجلدات
- أسيوط
- الحسد
- المستشعر
- sql
- الويب
قاعدة البيانات
sudo systemctl حالة mysql
ss -lt | grep mysql sudo mysql
إنشاء مستخدم في قاعدة البيانات مع جميع الامتيازات وجعل قاعدة البيانات الخاصة بك
إنشاء مستخدم "مستخدم" @ "مضيف محلي" معرف بواسطة "كلمة مرور" ؛
إنشاء قاعدة بيانات 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 project1- *
الآن علينا تعيين هذا متاحًا
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 reset nginx.service sudo nginx -t
إذا سارت الأمور على ما يرام ، يجب أن يكون لديك عالم مرحبًا بهذا الأمر
wget -qO - المضيف المحلي
منتهي ! حسنًا ، هذا هو الجزء الذي يسمح بتشغيل نظامك …
الخطوة 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
أجهزة الاستشعار بالموجات فوق الصوتية
- حساب المثلثات إلى GPIO 16
- صدى لـ GPIO 20
الخطوة الثانية: برمجة البرامج الرئيسية
أنا لا أدخل في التفاصيل هنا ولكن يمكنك التحقق من الكود الخاص بي في جيثب.
لتبدأ ، قمت بإنشاء html و css ، فهرس ، تسجيل دخول ، تسجيل ، شاشة رئيسية ، موسيقى ، addmusic ، addbear ، light ، camera ، cameraettings ، sensor ، dashboard page. يجب أن تكون ملفات html في القوالب وملفات css في مجلد static / css. يمكنك تخصيص ملف css تمامًا كما يحلو لك.
إذا قمت بهذا الجزء ، فأنت بحاجة إلى إعداد القارورة الخاصة بك. Flask سهل الاستخدام مجرد مثال على عالم hello
# استيراد القارورة في البداية
من flask import * @ app.route ('/') def index (): return render_template ('index.html')
الآن في الكود الخاص بي تم ملء هذا بالفعل ، الشيء الوحيد الذي عليك القيام به هو تغيير مستخدم قاعدة البيانات وكلمة المرور إلى ذلك منك ، وبالطبع إنشاء نفس قاعدة البيانات التي يمكنك العثور عليها أيضًا في github.
الخطوة 3: إنشاء قاعدة البيانات
بالنسبة للمعجبين الحقيقيين ، سأخبركم بكيفية إنشاء نفس قاعدة البيانات.
لذلك نحتاج أولاً إلى إنشاء قاعدة البيانات إذا لم تفعل ذلك في الخطوة الأولى.
إنشاء قاعدة بيانات Beargardian ؛
بمجرد القيام بذلك ، تقوم بإنشاء الجداول في mysql workbench أو phpadmin
يحتوي جدول المستخدم
- معرف المستخدم
- الاسم الأول
- الكنية
- البريد الإلكتروني
- بابينام
- كلمة المرور مع sha1
- مجلد المستخدم
- playmusic (int)
- playlight (int)
- playrecording (int)
طاولة الموسيقى لها
- musicID
- أغنية
- طريق
- مجلد المستخدم
- الحالة
- الصوت
يحتوي جدول التسجيل
- معرف التسجيل
- طريق
- مجلد المستخدم
- زمن
- يوم
يحتوي جدول الألوان
- معرف
- أحمر
- لون أخضر
- أزرق
- سطوع
- معرف المستخدم
طاولة الدب لها
- معرف الدب (عشري (8))
- معرف المستخدم الافتراضي فارغ
- بيرنام
يحتوي جدول الاستشعار
- مستشعر
- مسافه: بعد
- مجهري
- معرف الدب
- زمن
- يوم
- وقت النوم
والآن بعد أن أنشأت قاعدة البيانات بنجاح ، دعنا ننتقل إلى الأجهزة.
الخطوة 4: ترميز الأجهزة
سأعرض القليل من الشفرة وأخبرك لماذا فعلت ذلك بهذه الطريقة.
بادئ ذي بدء ، استخدمت الخيوط ، ما يجب أن يكون مطلقًا في هذا المشروع. ما هو الخيوط ، هممم سؤال جيد! التهديد الجيد في Python هو تشغيل برامج متعددة في وقت واحد. لذلك إذا قمت بتغيير اللون على سبيل المثال ، يمكنك أيضًا تسجيله. إنه سهل الاستخدام ولا تقلق.
import _threaddef function_name (something، something_else): كود للتشغيل
_thread.start_new_thread (function_name، tuple_with_the_functions_variables)
إذا نظرت إلى برنامجي رأيت logger.info ("…"). هذه هي وظيفة الطباعة ولكنها أفضل بكثير ، لأنه على Pi لا يمكنك طباعة الأشياء لذلك أقوم بإنشاء ملف وطباعته هناك. يمكنك تعيين ملف السجل مع هذا الرمز.
logger = logging.getLogger (_ name _) logger.setLevel (logging. INFO) # إنشاء معالج معالج ملف = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)
# إنشاء تنسيق التسجيل
المنسق = التسجيل. المنسق ('٪ (asctime) s -٪ (name) s -٪ (message) s') handler.setFormatter (المنسق)
# إضافة المعالجات إلى المسجل
logger.addHandler (معالج)
logger.info ('بدء تشغيل الأجهزة / n ---------------------------------------')
كذلك في الكود نفسه أشرح كل شيء.
موصى به:
تصميم اللعبة في فليك في 5 خطوات: 5 خطوات
تصميم اللعبة في Flick in 5 Steps: Flick هي طريقة بسيطة حقًا لصنع لعبة ، لا سيما شيء مثل الألغاز أو الرواية المرئية أو لعبة المغامرة
نظام اردوينو لتنبيه وقوف السيارة عند الرجوع للخلف - خطوات خطوة: 4 خطوات
نظام اردوينو لتنبيه وقوف السيارة عند الرجوع للخلف | خطوات بخطوة: في هذا المشروع ، سأصمم دائرة مستشعر لعكس مواقف السيارات من Arduino باستخدام مستشعر الموجات فوق الصوتية Arduino UNO و HC-SR04. يمكن استخدام نظام التنبيه العكسي للسيارة المستند إلى Arduino للتنقل الذاتي ومجموعة الروبوتات وغيرها من النطاقات
اكتشاف الوجه على Raspberry Pi 4B في 3 خطوات: 3 خطوات
اكتشاف الوجه على Raspberry Pi 4B في 3 خطوات: في هذا Instructable سنقوم باكتشاف الوجه على Raspberry Pi 4 باستخدام Shunya O / S باستخدام مكتبة Shunyaface. Shunyaface هي مكتبة للتعرف على الوجوه / الكشف عنها. يهدف المشروع إلى تحقيق أسرع سرعة في الكشف والتعرف مع
كيف تصنع عداد خطوات؟: 3 خطوات (بالصور)
How to Make Step Counter؟: اعتدت أن أؤدي أداءً جيدًا في العديد من الرياضات: المشي والجري وركوب الدراجة ولعب كرة الريشة وما إلى ذلك ، أحب ركوب الخيل للسفر في وقت قريب. حسنًا ، انظر إلى بطني المنتفخ … حسنًا ، على أي حال ، قررت إعادة التمرين. ما هي المعدات التي يجب أن أحضرها؟
Arduino Halloween Edition - شاشة زومبي المنبثقة (خطوات بالصور): 6 خطوات
Arduino Halloween Edition - شاشة زومبي المنبثقة (خطوات بالصور): هل تريد تخويف أصدقائك وإحداث بعض ضوضاء الصراخ في عيد الهالوين؟ أو تريد فقط عمل مزحة جيدة؟ يمكن لشاشة الزومبي المنبثقة القيام بذلك! في هذا Instructable ، سوف أعلمك كيفية جعل زومبي القفز للخارج بسهولة باستخدام Arduino. HC-SR0