جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
آخر مرة استخدمت فيها ESP32 لإنشاء محطة بث للطقس يمكنها بث الطقس الحالي. إذا كنت مهتمًا ، يمكنك التحقق من التعليمات السابقة. الآن أريد عمل نسخة مطورة ، سأقوم بتعيين مدينة للتحقق من الطقس في هذه المدينة. لا يقتصر الأمر على تشغيل الطقس في مدينة واحدة ، بل يقوم أيضًا بالاستعلام عن الطقس في مدن أخرى وبثه وفقًا لأوامر بلدي.
اللوازم
المعدات:
- Raspberry Pi 3B + (مع بطاقة SD)
- قبعة التفاعل الصوتي
- وحدة استشعار الحركة PIR
- كابل Micro USB
- خط دوبونت
الخطوة 1: كيف نفعل
- نخطط لتنفيذ هذه الوظائف مع Raspberry Pi. لكن Raspberry Pi لا يحتوي على ميكروفون لاستقبال الصوت ، ولا يوجد جهاز لتشغيل الصوت إذا لم يتم توصيل مكبر الصوت. لقد صنعنا لوحة توسعة لـ Raspberry Pi مع إدخال اثنين من الميكروفونات وإخراج مكبر الصوت ، بحيث يكون Raspberry يمكن لـ Pi إدراك وظيفة إدخال الصوت وتشغيل الصوت دون الاتصال بالسماعة.
- نحتاج إلى ثلاث واجهات برمجة تطبيقات ، وهي تحويل الكلام إلى نص والطقس وتحويل النص إلى كلام. ثم قم بتشغيل الصوت.
تحويل الكلام إلى نص:
الطقس: https://rapidapi.com/community/api/open-weather-map/endpoints تحويل النص إلى كلام:
بالإضافة إلى ذلك ، سنقوم بتوصيل مستشعر لنتعرف على أن RasPi يبدأ في العمل عندما يقترب شخص ما
الخطوة 2: الاتصال
قبعة التفاعل الصوتي عبارة عن لوحة توسعة Raspberry Pi. فقط أدخل Raspberry Pi وفقًا للمسامير. نحتاج أيضًا إلى لحام العديد من أسلاك DuPont لتوصيل المستشعرات. وصلات الدبوس كالتالي:
قبعة التفاعل الصوتي ------ PIR
5V ------ VCC GND ------ GND GPIO27 ------ OUT
الخطوة 3: قم بتثبيت برنامج تشغيل لوحة التوسيع
- نظرًا لأن لوحة التوسيع مصممة بالرجوع إلى منتج الرؤية ، يمكننا استخدام برنامج التشغيل المرئي لقيادته إلى العمل.
- أدخل الأمر التالي في نافذة Raspberry Pi Terminal لتثبيت برنامج التشغيل:
استنساخ بوابة
cd seeed-voicecard sudo./install.sh sudo reboot
يمكن أن ينتقل البرنامج التعليمي المفصل للاستخدام إلى الصفحة (https://www.makerfabs.com/wiki/index.php؟title=Voice_Interaction_Hat) لعرضه
الخطوة 4: الكود
- جيثب:
- بعد الحصول على الكود ، تحتاج إلى استبدال API KEY بآخر في asr.py و weather.py و tts.py.
r = request.post ('https://speech.googleapis.com/v1/speech:recognize؟key='+api_key، data = data، headers = headers) headers = {' x-speedapi-host ': "community-open-weather-map.p.rapidapi.com "،" x-Rapidapi-key ":" *********************************** ***** "} r = request.post ('https://texttospeech.googleapis.com/v1/text:synthesize؟key='+api_key، data = data، headers = headers)
املأ اسم المكان في weather.py وسيتم التعرف عليه من قائمة العناوين هذه. بالطبع ، يمكنك ملء أسماء المدن في جميع أنحاء البلاد وحتى العالم إذا تمكنت واجهة برمجة تطبيقات الطقس من التعرف عليها
address = ['Beijing'، 'London']
إذا كنت لا تستخدم مكبرات الصوت في لوحة التوسيع ، ولكنك تستخدم مكبرات الصوت الخاصة بك ، فأنت بحاجة إلى استبدال "hw: 0 ، 0" في الكود التالي بـ "hw: 1 ، 0" في test1.py
os.system ("aplay -Dhw: 1، 0 output1.wav")
انسخ جميع الملفات في Raspi-Voice-Interaction-Hat / weather_workSpace / إلى دليل عمل Raspberry Pi
الخطوة 5: عمل صندوق تغليف
من أجل أن تبدو أكثر جمالا ، قمنا بتعبئتها في كرتون. قص بشكل مناسب لكشف السماعة والميكروفون ، واستخدم أقلام ملونة للطلاء على الصندوق الورقي لتزيينه.
الخطوة 6: كيفية الاستخدام
استخدم كبل USB لتشغيل Raspberry Pi والتحكم في Raspberry Pi لتشغيل test1.py وتشغيل المستشعر. بعد أن يبث صوتًا ، نبدأ في الحديث عن مكان ما ثم ننتظره حتى يبث الطقس. اكتمل مساعد الطقس.