جدول المحتويات:
- الخطوة 1: المستلزمات
- الخطوة 2: التخطيطي والأسلاك
- الخطوة 3: تصميم قاعدة البيانات
- الخطوة 4: إعداد Raspberry Pi
- Step 5: Setting Up the Database to the RPi
- الخطوة 6: تكوين Bluetooth على RPi الخاص بنا
- الخطوة 7: كتابة الخلفية الكاملة
- الخطوة 8: كتابة الواجهة الأمامية (HTML و CSS و JavaScript)
- الخطوة 9: بناء حالتي ووضعها معًا
فيديو: مكبر صوت مزاج - مكبر صوت قوي لتشغيل الموسيقى المزاجية بناءً على درجة الحرارة المحيطة: 9 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-02-02 14:32
مرحبا يا من هناك!
بالنسبة لمشروع مدرستي في MCT Howest Kortrijk ، قمت بصنع مكبر صوت مزاج ، وهو عبارة عن جهاز مكبر صوت بلوتوث ذكي مزود بأجهزة استشعار مختلفة ، وشاشة LCD وشريط إضاءة WS2812b. مكبر الصوت. كل شيء يعمل على Raspberry Pi (قاعدة بيانات ، خادم ويب ، Backend).
إذن هذه التعليمات هي عملية خطوة بخطوة لكيفية إدراكي لهذا المشروع في 3 أسابيع. لذلك إذا كنتم تريدون إعادة إنشاء مشروعي ، يمكنك اتباع الدليل
هذه التعليمات هي أول ما كتبته ، لذا إذا كان هناك أي تساؤلات ، فسأحاول الإجابة عليها بأسرع ما يمكن!
جيثب الخاص بي:
الخطوة 1: المستلزمات
بطاقة Raspberry Pi 3B & 16GB SD
يعمل مشروعي بالكامل على Raspberry Pi 3B الخاص بي مع صورة تم تكوينها ، والتي سأشرحها في خطوة لاحقة (الخطوة 4: إعداد Raspberry Pi)
شاشة عرض ال سي دي 16x2
لقد استخدمت شاشة LCD أساسية لطباعة درجة الحرارة والسطوع وعنوان IP.
ورقة البيانات:
DS18B20 مستشعر درجة الحرارة
DS18B20 عبارة عن مستشعر أحادي السلك يقيس درجة الحرارة ، تم تصنيعه بواسطة Maxim Integrated. هناك نوعان من أجهزة الاستشعار DS18B20 ، المكون فقط (الذي استخدمته) والإصدار المقاوم للماء ، وهو أكبر بكثير ، لكن هذا ليس ما أحتاجه لمشروعي ، لذلك استخدمت المكون فقط. يمكن لجهاز الاستشعار قياس درجة الحرارة في نطاق من -55 درجة مئوية إلى + 125 درجة مئوية (-67 درجة فهرنهايت إلى + 257 درجة فهرنهايت) ودقته تبلغ 0.5 درجة مئوية من -10 درجة مئوية إلى + 85 درجة مئوية. كما أن لديها دقة قابلة للبرمجة من 9 بت إلى 12 بت.
ورقة البيانات:
MCP3008
لقراءة البيانات من مستشعر LDR و PIR ، استخدمت MCP3008 ، وهو محول تناظري 8 قنوات 10 بت إلى محول رقمي بواجهة SPI وهو سهل البرمجة جدًا.
ورقة البيانات:
مستشعر الحركة PIR
لاكتشاف ما إذا كان هناك شخص يدخل غرفتي ويغادرها ، استخدمت مستشعر الأشعة تحت الحمراء السلبية لأنه سهل الاستخدام وصغير الحجم.
ورقة البيانات:
LDR
لقد استخدمت المقاوم الضوئي أو LDR (مقاومة تناقص الضوء ، أو المقاوم المعتمد على الضوء) لاكتشاف مستوى سطوع الغرفة داخلها. ولتشغيل Ledstrip أيضًا عندما يحل الظلام.
مكبر صوت - قطر 3 بوصة - 4 أوم 3 وات
هذا هو مخروط السماعة الذي اخترته بعد حساب الفولتية والأمبير التي ستحتاجها وكان هذا مناسبًا تمامًا لمشروع Raspberry Pi ، الذي صنعته Adafruit.
نظرة عامة:
مكبر أحادي MAX98357 I2S Class-D
هذا هو مكبر الصوت الذي يأتي مع السماعة ، ليس فقط هو مكبر للصوت ، بل هو أيضًا محول I2S الرقمي إلى التناظري ، لذلك فهو أيضًا مناسب تمامًا لمكبر الصوت ونظام الصوت الخاص بي.
نظرة عامة:
ورقة البيانات:
اردوينو اونو
Arduino Uno عبارة عن لوحة متحكم مفتوحة المصدر تعتمد على متحكم Microchip ATmega328P ، تم تصنيعه بواسطة Arduino.cc. تحتوي لوحة Uno على 14 دبوسًا رقميًا و 6 دبابيس تمثيلية وهي قابلة للبرمجة بالكامل باستخدام برنامج Arduino IDE
نظرة عامة:
ليفيل شيفتر
هذه لوحة صغيرة تهتم بالاتصال بين Arduino Uno و Raspberry Pi والفولتية المختلفة ، Arduino: 5V & Raspberry Pi: 3.3V. هذا ضروري لأن شريط LED متصل بـ Arduino ويعمل هناك ، بينما تعمل جميع الأشياء الأخرى على Raspberry Pi.
WS2812B - ليدستريب
هذا شريط ليد مع 60 مصباح RGB (يمكنك شراء شرائط أطول بمزيد من مصابيح RGB ، إذا كنت ترغب في ذلك). وهو في حالتي متصل بـ Arduino Uno ، ولكن يمكن أيضًا توصيله بالعديد من الأجهزة الأخرى وهو حقًا سهل الاستخدام.
ورقة البيانات:
GPIO T-Part ، 1 لوح توصيل والكثير من أسلاك العبور
لتوصيل كل ما أحتاجه من ألواح التجارب وأسلاك العبور ، لم أستخدم جزء GPIO T ولكن يمكنك استخدامه لتعرف بوضوح أي الحاوية تذهب إلى أين.
الخطوة 2: التخطيطي والأسلاك
لصنع التخطيطي الخاص بي ، استخدمت Fritzing ، إنه برنامج يمكنك تثبيته يسمح لك بإنشاء تخطيطي سهل حقًا في أنواع مختلفة من العروض.
تنزيل Fritzing:
تأكد من توصيل كل شيء بشكل صحيح. لقد استخدمت الألوان لجعل الأمر أكثر وضوحًا لمعرفة مكان توصيل الأسلاك. في حالتي ، استخدمت ألوانًا مختلفة للأسلاك
الخطوة 3: تصميم قاعدة البيانات
نقوم بجمع الكثير من البيانات من 3 مستشعرات (درجة الحرارة من DS18B20 والسطوع من LDR والحالة من مستشعر PIR). لذلك من الأفضل الاحتفاظ بكل هذه البيانات في قاعدة بيانات. سأشرح في خطوة لاحقة كيفية تكوين قاعدة البيانات (الخطوة 5: إعادة توجيه هندسة قاعدة البيانات الخاصة بنا إلى RPi!) ولكن أولاً يجب إجراء التصميم أو ERD (مخطط علاقة الكيان). تم تطبيع المنجم باستخدام 3NF ولهذا قمنا بتقسيم المكونات وتاريخ المكونات إلى جدول آخر. نستخدم قاعدة بيانات الموسيقى لتتبع الأغاني التي تم الاستماع إليها.
بشكل عام ، يعد هذا تصميم قاعدة بيانات أساسيًا وسهلاً حقًا لمزيد من العمل معه.
الخطوة 4: إعداد Raspberry Pi
والآن بعد أن تم الانتهاء من بعض أساسيات المشروع. لنبدأ في إعداد Raspberry Pi!
الجزء 1: تكوين بطاقة SD
1) قم بتنزيل البرامج والملفات المطلوبة
تحتاج إلى تنزيل برنامجين ونظام تشغيل واحد ، مثل Raspbian لهذه العملية الكاملة. البرنامج الأول: البرنامج الأول هو Win32 Disk Imager.
sourceforge.net/projects/win32diskimager/
البرنامج الثاني: البرنامج الثاني هو SD Card Formatter.
www.sdcard.org/downloads/formatter_4/
نظام التشغيل Raspbian: هذا هو نظام التشغيل الرئيسي لـ Pi.
www.raspberrypi.org/downloads/raspberry-pi-os/
استخراج جميع الملفات إلى سطح المكتب.
2) احصل على بطاقة SD وقارئ البطاقة
احصل على بطاقة SD 8 جيجا كحد أدنى من الفئة 10 مع قارئ بطاقة. أدخل تلك البطاقة في قارئ البطاقات وقم بتوصيله بمنفذ USB.
3) قم بتهيئة بطاقة SD
افتح SD Card Formatter وحدد محرك الأقراص.
انقر فوق التنسيق ولا تغير أي خيارات أخرى.
عند اكتمال التهيئة ، انقر فوق "موافق".
4) اكتب نظام التشغيل على بطاقة SD
افتح win32diskimager.
تصفح ملف.img لنظام Raspbian OS الذي تم استخراجه من الملف الذي تم تنزيله.
انقر فوق فتح ثم انقر فوق "كتابة".
إذا انبثق أي تحذير ، فتجاهل ذلك بالنقر فوق "موافق". انتظر حتى تكتمل الكتابة وقد يستغرق الأمر بضع دقائق. حتى يكون المريض.
ن
5) بمجرد الانتهاء من ذلك ، نكون مستعدين لإجراء بعض التعديلات النهائية قبل وضع الصورة في RPi الخاص بنا.
انتقل إلى دليل بطاقة SD الخاصة بك ، وابحث عن الملف المسمى cmdline.txt وافتحه.
أضف الآن "ip = 169.254.10.1" على نفس السطر الواحد.
حفظ الملف.
قم بإنشاء ملف باسم 'ssh' بدون امتداد أو محتوى. (أسهل طريقة هي إنشاء ملف txt وإزالة.txt بعد ذلك)
الآن بعد أن تم تثبيت كل شيء على بطاقة SD ، يمكنك إخراجها بأمان من جهاز الكمبيوتر الخاص بك ووضعها في Raspberry Pi دون توصيل الطاقة. بمجرد أن تدخل بطاقة SD في RPI ، قم بتوصيل كبل LAN من جهاز الكمبيوتر الخاص بك بمنفذ RPi LAN ، وبمجرد توصيله يمكنك توصيل الطاقة بـ RPi.
الجزء 2: تكوين RPi
المعجون
الآن نريد تكوين Raspberry Pi الخاص بنا ، يتم ذلك من خلال المعجون.
برنامج المعجون:
بمجرد التنزيل ، افتح Putty وأدخل IP '169.254.10.1' والمنفذ '22' ونوع الاتصال: SSH.
الآن يمكننا أخيرًا فتح واجهة سطر الأوامر وتسجيل الدخول باستخدام معلومات تسجيل الدخول للمبتدئين -> المستخدم: pi وكلمة المرور: raspberry. (يوصى بتغييره في أسرع وقت ممكن. إليك دليل كيف: https://www.raspberrypi.org/documentation/linux/u …)
Raspi-config
سيتعين علينا تمكين واجهات مختلفة وللقيام بذلك ، يتعين علينا أولاً كتابة الكود التالي:
sudo raspi-config
الأشياء التي نحتاج إلى تمكينها موجودة في قسم التواصل. نحتاج إلى تمكين الواجهات التالية:
- سلك واحد
- مسلسل
- I2C
- SPI
كان هذا كل ما نحتاج إلى القيام به مع raspi-config
إضافة WIFI الخاص بك
أولاً ، يجب أن تكون جذرًا حتى يصبح الأمر التالي جذرًا
sudo -i
بمجرد أن تصبح الجذر ، استخدم الأمر التالي: (استبدل SSID باسم الشبكة وكلمة المرور بكلمة مرور الشبكة)
wpa_passphrase "ssid" "كلمة المرور" >> /etc/wpa_supplicant/wpa_supplicant.conf
في حالة قيامك بخطأ ما ، يمكنك التحقق من هذه الشبكة أو تحديثها أو حذفها بمجرد إدخال الأمر التالي:
nano /etc/wpa_supplicant/wpa_supplicant.conf
لذلك بعد أن دخلنا شبكتنا ، دعنا ندخل إلى واجهة عميل WPA
wpa_cli
حدد واجهتك
واجهة wlan0
أعد تحميل الملف
إعادة التشكيل
وأخيرًا يمكنك معرفة ما إذا كنت متصلاً جيدًا أم لا:
الملكية الفكرية أ
الجزء 3: تحديث برنامج تثبيت RPi +
الآن بعد أن أصبحنا متصلين بالإنترنت ، سيكون تحديث الحزم المثبتة بالفعل خطوة ذكية ، لذلك دعونا نفعل ذلك أولاً قبل تثبيت الحزم الأخرى.
sudo apt-get update
sudo apt-get ترقية
بعد تحديث RPi ، سيتعين علينا تثبيت البرنامج التالي:
قاعدة بيانات MariaDB
sudo apt-get install mariadb-server
خادم الويب Apache2
sudo apt تثبيت apache2
بايثون
بدائل التحديث - install / usr / bin / python python /usr/bin/python3.7 1 بدائل التحديث - install / usr / bin / python python / usr / bin / python3 2
حزمة بايثون
سيتعين عليك تثبيت كل هذه الحزم لجعل الواجهة الخلفية تعمل بشكل مثالي:
- قارورة
- قارورة كورس
- قارورة- MySQL
- قارورة-مقبس
- طلبات PyMySQL
- Python-socketio
- RPi. GPIO
- جيفينت
- Gevent-websocket
مكتبة مكبرات الصوت
لاستخدام مكبر الصوت مع مكبر الصوت ، سيتعين علينا تثبيت مكتبة له
حليقة- sS > | bash
Step 4: Reboot
After everything has been installed we will have to reboot the pi to make sure everything works correctly
sudo reboot
Step 5: Setting Up the Database to the RPi
الآن بعد أن قمنا بتثبيت كل ما نحتاجه ، دعنا نضع قاعدة البيانات الخاصة بنا التي صممناها على Raspberry Pi الخاص بنا!
لإعداد قاعدة البيانات ، سيتعين علينا ربط MySql و RPi. لذلك سنفتح MySQLWorkbench ونجري اتصالًا جديدًا. عند النظر إلى الصورة ، سيتعين عليك التغيير لتغيير المعلومات إلى صورتك.
إذا لم تقم بتغيير أي شيء حتى الآن ، يمكنك استخدام SSH pi و raspberry و MySQL mysql و mysql.
عندما يكون هناك شيء غير واضح ، يمكنك أيضًا اتباع هذا البرنامج التعليمي:
لتصدير قاعدة البيانات الخاصة بك ، يجب أن يكون استخدام PHPmyAdmin أسهل لأنه يمكنك الحصول على الكثير من الأخطاء أثناء القيام بذلك باستخدام MySql
الخطوة 6: تكوين Bluetooth على RPi الخاص بنا
نحن نقوم بإنشاء مكبر صوت مزاج ، يمكننا أيضًا استخدامه مع موسيقانا الخاصة ، لذلك يكون هذا أسهل عندما يكون RPi
متصل بالبلوتوث لقد اتبعت برنامجًا تعليميًا يمكنك العثور عليه هنا:
scribles.net/streaming-bluetooth-audio-fr…
لقد كتبت كل شيء هنا أيضًا لكل من يريد إعادة إنشائه
إزالة الأزرق قيد التشغيل بالفعل
sudo rm / var / run / bluealsa / *
إضافة دور بالوعة ملف تعريف A2DP
sudo bluealsa -p a2dp-sink &
افتح واجهة البلوتوث وقم بتشغيل البلوتوث
bluetoothctl السلطة على
قم بإعداد عامل الاقتران
الوكيل على الوكيل الافتراضي
اجعل RPi الخاص بك قابلاً للاكتشاف
قابل للاكتشاف في
- الآن من جهاز البلوتوث الخاص بك ، ابحث عن RPi وتواصل معه.
- قم بتأكيد الاقتران على كلا الجهازين ، واكتب "نعم" في المعجون الخاص بك.
- تخويل خدمة A2DP ، اكتب "نعم" مرة أخرى.
- بمجرد الانتهاء من ذلك ، يمكننا الوثوق بجهازنا ، لذلك لا يتعين علينا المرور بكل هذا في كل مرة نريد الاتصال
ثق في XX: XX: XX: XX: XX: XX (عنوان mac bluetooth الخاص بك من جهاز المصدر الخاص بنا)
إذا كنت تريد أن يظل RPi الخاص بك قابلاً للاكتشاف ، فهذا هو اختيارك الخاص ، لكنني أفضل إيقاف تشغيله مرة أخرى ، حتى لا يتمكن الأشخاص من محاولة الاتصال بصندوقك
قابل للاكتشاف قبالة
ثم يمكننا الخروج من واجهة البلوتوث الخاصة بنا
خروج
وأخيرًا توجيه الصوت لدينا: يقوم جهاز المصدر الخاص بنا بإعادة التوجيه إلى RPi الخاص بنا
bluealsa-aplay 00: 00: 00: 00: 00: 00
جهازنا متصل الآن بـ Raspberry الخاص بنا باستخدام البلوتوث ويجب أن تكون قادرًا على اختباره عن طريق تشغيل أي وسائط على سبيل المثال Spotify ، إلخ.
الخطوة 7: كتابة الخلفية الكاملة
الآن تم الإعداد ، يمكننا أخيرًا البدء في كتابة برنامج الواجهة الخلفية!
لقد استخدمت Visual Studio Code للواجهة الخلفية بالكامل ، فأنت تحتاج فقط إلى التأكد من أن مشروع Visual Studio الخاص بك متصل بـ Raspberry Pi ، وهذا يعني أنه يجب توصيل كبل LAN الخاص بك بـ RPi الخاص بك وإجراء اتصال SSH. (يمكن العثور على معلومات حول كيفية إنشاء اتصال عن بعد هنا:
لقد استخدمت الفصول الدراسية الخاصة بي وجميعها مدرجة أيضًا في GitHub الخاص بي.
في ملف الواجهة الخلفية الخاص بي ، استخدمت فئات مختلفة ، لذلك يمكن استخدام كل شيء بشكل منفصل وحتى لا يكون الكود الرئيسي الخاص بي في حالة من الفوضى مع جميع الخيوط المختلفة. لقد استخدمت الترابط لتشغيل جميع الفئات المختلفة مرة واحدة. وفي الجزء السفلي ، حصلت على جميع المسارات حتى نتمكن من الحصول بسهولة على البيانات في واجهتنا الأمامية.
الخطوة 8: كتابة الواجهة الأمامية (HTML و CSS و JavaScript)
الآن بعد أن تم الانتهاء من الواجهة الخلفية ، يمكننا البدء في كتابة الواجهة الأمامية الكاملة.
كان HTML و CSS صعبًا جدًا بالنسبة لي ، لقد بذلت قصارى جهدي لجعله محمولًا أولاً لأنه يمكنني الاتصال به باستخدام البلوتوث لتغيير الأغاني باستخدام Spotify. لذلك سيكون من الأسهل التحكم في لوحة القيادة المتنقلة
يمكنك تصميم لوحة القيادة الخاصة بك بأي طريقة تريدها ، وسأترك الكود والتصميم الخاص بي هنا ، ويمكنك فعل ما تريد!
ولم تكن Javascript أسهل بالنسبة لي ، فقد عملت مع عدد قليل من أدوات GET من مسارات الواجهة الخلفية ، وأطنان من مستمعي الأحداث وبعض هياكل التوصيل للحصول على البيانات من أجهزة الاستشعار الخاصة بي.
الخطوة 9: بناء حالتي ووضعها معًا
بدأت أولاً برسم كيف أردت أن تبدو العلبة ، وكان الشيء المهم هو أنها يجب أن تكون كبيرة بما يكفي لتناسب كل شيء ، نظرًا لأننا حصلنا على دائرة كبيرة لوضعها في العلبة ولكن كان علينا أن نبقى مضغوطة بحيث لا تكون كذلك. ر تأخذ الكثير من الفضاء
لقد صنعت الحالة من الخشب ، وأعتقد أنه من الأسهل التعامل معها عندما لا يكون لديك الكثير من الخبرة في بناء الحالات ولديك أيضًا الكثير من الأشياء التي يمكنك القيام بها بها.
لقد بدأت من لوح خشبي قديم كنت أضعه حوله وبدأت للتو في نشر الخشب. بمجرد أن أحصل على حالتي الأساسية ، كان عليّ فقط حفر ثقوب فيها (كثيرًا في مقدمة العلبة ، كما ترون في الصور ووضع بعض المسامير فيها ، إنها حالة أساسية حقًا ، لكنها تبدو رائعة جدًا وتناسبها تمامًا. قررت أيضًا أن أرسمها باللون الأبيض لجعلها تبدو جيدة.
وبمجرد الانتهاء من القضية ، حان الوقت لتجميعها معًا ، كما ترون في الصورة الأخيرة! إنها فوضى نوعًا ما داخل الصندوق ، لكن كل شيء يعمل ولم يكن لدي مساحة أكبر بكثير ، لذلك أنصحك ربما بإنشاء حالة أكبر إذا كنت تعيد إنشاء مشروعي.
موصى به:
شريط تحكم بلوتوث RGB LED V3 + مزامنة الموسيقى + التحكم في الإضاءة المحيطة: 6 خطوات (مع صور)
RGB Led Strip Bluetooth Controller V3 + Music Sync + Ambient Light Control: يستخدم هذا المشروع اردوينو للتحكم في شريط RGB led بهاتفك عبر البلوتوث. يمكنك تغيير اللون أو جعل الأضواء متزامنة مع الموسيقى أو ضبطها تلقائيًا للإضاءة المحيطة
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي - احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: 6 خطوات
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي | احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: مرحبًا يا شباب اليوم سنصنع الرطوبة & amp؛ نظام مراقبة درجة الحرارة باستخدام ESP 8266 NODEMCU & amp؛ جهاز استشعار درجة الحرارة DHT11. سيتم الحصول على درجة الحرارة والرطوبة من مستشعر DHT11 & amp؛ يمكن رؤيته على متصفح أي صفحة ويب ستتم إدارتها
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: 4 خطوات
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: مرحبًا يا رفاق في هذه التعليمات ، سوف نتعلم كيفية استخدام LM35 مع Arduino. Lm35 هو مستشعر لدرجة الحرارة يمكنه قراءة قيم درجة الحرارة من -55 درجة مئوية إلى 150 درجة مئوية. إنه جهاز ثلاثي الأطراف يوفر جهدًا تناظريًا يتناسب مع درجة الحرارة. عالية
جهاز مراقبة الطقس ESP32 Based M5Stack M5stick C مع DHT11 - مراقبة درجة الحرارة والرطوبة ومؤشر الحرارة على M5stick-C مع DHT11: 6 خطوات
جهاز مراقبة الطقس ESP32 Based M5Stack M5stick C مع DHT11 | مراقبة درجة الحرارة والرطوبة ومؤشر الحرارة على M5stick-C مع DHT11: مرحبًا يا رفاق ، في هذه التعليمات سوف نتعلم كيفية واجهة مستشعر درجة حرارة DHT11 مع m5stick-C (لوحة تطوير بواسطة m5stack) وعرضها على شاشة m5stick-C. لذلك في هذا البرنامج التعليمي سوف نقرأ درجة الحرارة والرطوبة وأمبير. الحرارة أنا
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: 7 خطوات (بالصور)
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: لا يزال في رحلة لإكمال & quot؛ المشروع القادم & quot ؛، & quot؛ ESP32 NTP ميزان حرارة للطهي بمسبار درجة الحرارة مع تصحيح Steinhart-Hart وإنذار درجة الحرارة & quot؛ هو Instructable يوضح كيف يمكنني إضافة مسبار درجة حرارة NTP ، بيزو ب