
ملحن غني على الويب لإنشاء لغة نقل نص نغمة حلقة (RTTTL).
تم بناء هذه الأداة في الأصل باستخدام الفانيليا HTML و CSS & JS من أجل البساطة ، ولكن في النهاية تفوقت على الأساسيات وتطلب إطار عمل على شبكة الإنترنت لتبسيط التطوير وامتثال أفضل للمعايير الحديثة. تم تصميم التطبيق باستخدام إطار الويب الجديد مع DENO لعملية الخلفية والبناء. تستخدم الواجهة الأمامية أيضًا إطار عمل واجهة المستخدم Tableer و BS5 و JQuery للتفاعل.

ملحوظة
للحصول على وصف أكثر تفصيلاً على RTTTL وتاريخ الخلفية ، والمواصفات ، وكيف يعمل ، تحقق من ما هو RTTTL؟
تم تطوير RTTTL (يشار إليها سابقًا باسم Nokring) في الأصل في عام 1996 من قبل Nokia لاستخدامها في هواتفهم المحمولة عندما كانت القوة المهيمنة في سوق الهواتف المحمولة والطريقة الأكثر شيوعًا في التأليف ، ومشاركة نغمات الرنين كانت من خلال الرسائل النصية. كان هذا التنسيق بسيطًا وسهل الفهم مما جعل تبنيه يتمتع بشعبية كبيرة على الرغم من أنه تم استبداله بسرعة بتنسيقات أكثر حداثة مثل نغمات MIDI و MP3 التي توفر المزيد من الميزات وجودة صوت أفضل.
لا يزال نموذج RTTTL يستخدم اليوم في بعض التطبيقات والأجهزة مثل مشاريع الهواة Arduino وأجهزة إنترنت الأشياء والهواتف المحمولة القديمة.
إذا كنت مهتمًا بتشغيل نغمات الرنين المؤلفة في RTTTL على الأجهزة المادية ، أو قد تمتلك بالفعل المكونات الكهربائية اللازمة لإنشاء دائرة بسيطة ، يمكنك استخدام المثال التالي أدناه كمرجع لبدء الأساسيات.
بدلاً من ذلك ، إذا كنت تفضل حلًا جاهزًا للأجهزة جاهزًا للخروج من المربع ، فإن شيئًا مثل Apollo MSR-2 لمساعد Home هو خيار رائع لتشغيل RTTTL. لمزيد من المعلومات حول الاستخدام ، راجع وثائق الجرس MSR-2.
الرسم البياني التالي هو مثال على مثال لدائرة أساسية جيدة تربط جرس Piezo بوحدة تحكم ESP32 على لوحة الخبز:

لاحظ أن الدائرة الفعلية ستختلف حسب وحدة التحكم الخاصة بك:
GPIO0 - GPIO16GPIO0 - GPIO33 إذا كان متحكم الخاص بك متوافقًا مع esphome ، فيمكنك لحسن الحظ الاستفادة من مكون RTTTL الحالي لتشغيل سلاسل RTTTL بسهولة على تطبيق الويب مباشرة على جهاز ESP يمكن العثور عليها هنا.
# Buzzer (ESP32 controller)
output :
- platform : ledc
pin : GPIO12
id : buzzer
rtttl :
output : buzzer
# Example API action
api :
actions :
- action : play_rtttl
variables :
song_str : string
then :
- rtttl.play :
rtttl : !lambda 'return song_str;' يمكنك الآن استدعاء إجراء play_rtttl مع تعيين song_str إلى سلسلة RTTTL صالحة مثل:
# Example RTTTL tone to play.
song_str : " James Bond:d=4, o=5, b=320:c, 8d, 8d, d, 2d, c, c, c, c, 8d#, 8d#, 2d#, d, d, d, c, 8d, 8d, d, 2d, c, c, c, c, 8d#, 8d#, d#, 2d#, d, c#, c, c6, 1b., g, f, 1g. "يتم توفير هذا المشروع بموجب ترخيص GPL-2.0.