دليل المبرمجين لميزان Half Decent

* عبر البلوتوث، يجب إرسال هذه الأوامر بصيغة ثنائية (binary)

  • عبر USB وواي فاي، يجب إرسال هذه الأوامر كسلاسل سداسية عشرية (Hex strings)
  • راجع أيضًا وثائق API القديمة لميزان Decent. يتوافق ميزان Half Decent مع مجموعة الأوامر تلك، ولكنه يضيف عددًا كبيرًا من الأوامر الجديدة
  • تتوفر أيضًا مكتبة بايثون
  • تطبيقات جافا سكريبت ومكتبة الوزن (تدعم البلوتوث وUSB وواي فاي!)


  • ميزة 'نبض القلب' الجديدة تحل مشكلات الاتصال مع Android 9 والإصدارات الأقدم.

  • يجب على التطبيقات إرسال 'نبض قلب' على الأقل كل 5 ثوانٍ، وإلا سيتم قطع اتصال البلوتوث
  • أمر نبض القلب الذي يجب إرساله إلى الميزان هو: “03 0a 03 ff ff 00 0a”
  • لماذا توجد هذه الميزة؟
  • تواجه إصدارات Android الأقدم مشكلة حيث يتم الاحتفاظ باتصالات البلوتوث بالأجهزة، حتى لو لم يعد التطبيق متصلاً.
  • يحل نبض القلب هذه المشكلة، وهو نفس النهج الذي اتبعته Decent مع البلوتوث في DE1 لحل نفس المشكلة.
  • التطبيقات الأقدم التي لا تعلم بميزة نبض القلب، ستعطل تلقائيًا شرط نبض القلب
  • عند إرسال أمر تشغيل LED عبر البلوتوث، مع تعيين البايت السادس في هذا الأمر على 00
  • أو أمر TARE مع تعيين آخر بايت على 00.
  • التطبيقات التي ترغب في استخدام ميزة نبض القلب (ويوصى بشدة بذلك)،
  • يجب أن ترسل 01 كآخر بايت بيانات لأمر تشغيل LED، على سبيل المثال: “03 0A 01 01 00 01 08”
  • يجب أيضًا إرسال 01 كآخر بايت بيانات لأمر TARE، على سبيل المثال: “03 0F 01 00 00 01 0C”
  • هذه المتغيرات من أوامر تشغيل LED وTARE لن يكون لها أي تأثير سلبي على موازين Decent الأقدم، التي لا تحتوي على ميزة نبض القلب.
  • يجب على مستخدمي DE1 الترقية إلى الإصدار NIGHTLY من de1app المؤرخ في 11 أبريل أو أحدث


  • الأوامر التي يمكن لـ HDS استقبالها (v2.5.8)

    03 0F TARE (مع المجموع الاختباري)

    (يرجى قراءة الملاحظة أعلاه بخصوص ميزة نبض القلب)

    03 0A 00 إيقاف تشغيل oled

    03 0A 01 تشغيل oled

    (يرجى قراءة الملاحظة أعلاه بخصوص ميزة نبض القلب)

    03 0A 02 إيقاف التشغيل

    03 0A 03 00 الخروج من وضع الطاقة، سطوع oled عادي

    03 0A 03 01 الدخول في وضع الطاقة، أدنى سطوع oled

    03 0B 00 إيقاف المؤقت

    03 0B 02 إعادة تعيين المؤقت

    03 0B 03 بدء المؤقت

    03 1A 00 المعايرة اليدوية

    03 1A 01 المعايرة الذكية

    03 1B تحديث OTA عبر واي فاي

    03 1D 00 تعيين العينة إلى 1

    03 1D 01 تعيين العينة إلى 2

    03 1D 02 تعيين العينة إلى 4

    03 1E 00 00 إخفاء القائمة

    03 1E 00 01 إظهار القائمة

    03 1E 01 00 إخفاء معلومات "حول"

    03 1E 01 01 إظهار معلومات "حول"

    03 1E 02 00 إخفاء معلومات التصحيح

    03 1E 02 01 إظهار معلومات التصحيح

    03 1F إعادة تعيين

    03 20 00 تعطيل الوزن عبر USB

    03 20 01 تمكين الوزن عبر USB

    03 22 إرسال بيانات جهد البطارية مرة واحدة


    الوزن:

    data[0] = modelByte;

    data[1] = 0xCE; // بايت النوع للوزن المستقر

    data[2] = weightByte1;

    data[3] = weightByte2;

    data[4] = 0x00;

    data[5] = 0x00;

    data[6] = calculateXOR(data, 6); // البايت الأخير هو التحقق من XOR


    حدث الزر:

    data[0] = modelByte;

    data[1] = 0xAA; // بايت النوع للوزن المستقر

    data[2] = buttonNumber;//1 للزر O، 2 للزر ▢

    data[3] = buttonShortPress;//1 للضغط القصير، 2 للضغط الطويل

    // املأ الباقي ببيانات وهمية أو حقيقية حسب الحاجة

    data[4] = 0x00;

    data[5] = 0x00;

    data[6] = calculateXOR(data, 6); // البايت الأخير هو التحقق من XOR


    حدث إيقاف التشغيل:

    data[0] = modelByte;

    data[1] = 0x2A;

    data[2] = buttonNumber;

    data[3] = buttonShortPress;

    data[4] = 0x00;

    data[5] = 0x00;

    data[6] = calculateXOR(data, 6); // البايت الأخير هو التحقق من XOR


    جهد البطارية:

    data[0] = modelByte;

    data[1] = 0x22;

    data[2] = voltageByte1;

    data[3] = voltageByte2;

    data[4] = 0x00;

    data[5] = 0x00;

    data[6] = calculateXOR(data, 6); // البايت الأخير هو التحقق من XOR


    التصحيح عبر USB

    يمكنك توصيل كابل USBC واستخدام برنامج مثل Serial مع إعدادات 115200,8,N,1 لمشاهدة الميزان أثناء التشغيل. هذا يجعل التصحيح سهلاً للغاية.

    HDS serial


    دليل ميزان Half Decent: جدول المحتويات

    #programmer #api #bluetooth #wifi #usb



  • هذه ترجمة لـ: Programmers guide to the Half Decent Scale


    john created 2025/02/25, john updated 2026/07/09