Firefly-RK3288 تحديث
باختيار لوحة تطوير للتجارب ، وقع الاختيار على نموذج معقد إلى حد ما من الشركة المصنعة الصينية T-Chip. يبيعون المنتجات تحت العلامة التجارية Firefly. هم متخصصون في مجالس مع أنظمة تعتمد على رقاقة RockChip. RK3288 هو الحل الأكثر إنتاجية 32 بت من هذه الشركة الصينية. يقارن SoC من RockChip و Allwinner بشكل إيجابي مع شرائح Broadcom في RaspberryPi ليس فقط في أفضل ميزاتها ، ولكن أيضًا في تكنولوجيا الإنتاج - 28 نانومتر مقابل 40 نانومتر. ولكن بطبيعة الحال ، في هذه الحالة ، يكون الصينيون أكثر تكلفة. لم يختار RK3399 نظام 64 بت أكثر انحدارًا ، بما في ذلك بسبب وجود سبب للاعتقاد أنه أكثر سخونة بالفعل. في حين أن RK3288 ليست ساخنة جدًا تحت الحمل ، حتى بدون استخدام أي مشعات.
صفحة المنتج . معلمات الأجهزة الرئيسية للجهاز: 4 نواة ARM Cortex-A17 1.8 جيجا هرتز (تصر بعض المصادر على أنها Cortex-A12 أو A15 ، ولكن هذا ليس مهمًا بشكل خاص) ، 2 جيجابايت DDR3 ثنائي القناة ، 16 جيجا بايت محرك eMMC ، جيجابت إيثرنت.

اشتريته على موقع ئي باي ، كان المكان الوحيد الذي يمكن فيه طلب هذه اللوحات إلى روسيا. لا يتم إرسال متجر Firefly الصيني عبر الإنترنت إلى روسيا. لم ترسل إلى روسيا و Indiegogo. ما هو مضحك ، في قائمة الدول التي ترسل ، يفترض أن هؤلاء الأشخاص الغريبين لديهم حتى دول غير موجودة :). أرسل البائع من Ebay لوحًا في تكوين جيد - لوحة ، ومصدر طاقة (تحتاج إلى 12V 1.5A ، يتم إرسالها كما يجب أن يكون بهامش 2A) ، وشاحًا بهوائي ، لوحات أكريليك من العلبة مع مثبتات. المحول صحيح لمخرج أمريكي ، ولكن يجب أن يكون لدى الجميع محول للمشي لمسافات طويلة :).
مثل لوحات CubieBoard من CubieTech ، والمعروفة بشكل أفضل في السوق الروسية ، يوفر Firefly دعمًا جيدًا للمعلومات. يتم توفير صور نظام التشغيل والرسوم البيانية pinout والمزيد. البرامج الثابتة Ubuntu 14 لـ Firefly تستحق الثناء. يعمل بثبات ، واستهلاك منخفض للذاكرة. سطح المكتب البياني - LXDE. لا يبدو عرض الواجهة سريعًا تمامًا ، ولكنه لائق جدًا. بالمناسبة ، رابط مفيد حول كيفية التقاط لقطات شاشة في
LXDE :
Lxde wiki . معلومات مفيدة أخرى هي كيفية ضبط الوقت:
باستخدام dpkg-reconfigure tzdata . نعم ، لن تخمن أبدًا ما يتم في أي هيكل Linux بطريقة غير تافهة.

تحتوي اللوحة على هيكل شطيرة (نمط شطيرة). تحتوي اللوحة الأساسية على SoC RockChip و RAM ومحرك أقراص Samsung و Realtek's Ethernet ، بالإضافة إلى شريحة طاقة ومراقبة فعالة. تحتوي اللوحة الرئيسية على كل شيء آخر: وحدة تحكم الإخراج Lontium HDMI (مخرجان فقط) ، ومدخل Toshiba HDMI ، وجسر JMicron USB-SATA ، وشريحة Ampak للواجهات اللاسلكية. يتم توصيل جزأين من خلال فتحة MXM3.0 القياسية نسبيًا (وحدة PCI Express المحمولة). تحتوي اللوحة على العديد من الواجهات ، بالإضافة إلى أربع كتل رئيسية من المسامير ، ما مجموعه 184 دبابيس. علاوة على ذلك ، لم تقطع الشركة المصنعة على الموصلات الأم ، فهي بالتأكيد أكثر أمانًا ، نظرًا لأنه حتى العديد من خطوط الطاقة 12V مطلقة.
وضع التمهيد والبرامج الثابتة
أول شيء يجب فعله مع الألواح هو وميضها. للتفاعل بين الحين والآخر مع لوحات التطوير وإنترنت الأشياء وكل ذلك ، من الملائم أكثر أن يكون لديك نظام Linux على جهاز الكمبيوتر الخاص بك. لديّ بشكل تقليدي Linux Fedora 64bit ، لجميع الإصدار 26. التعليمات الرسمية لوضع اللوحة في وضع التمهيد وامض صورة نظام التشغيل:
Flash Image .
نظرًا لأن
الأداة المساعدة لملء الترقية_tool في RockChip تحتاج إلى تثبيت التبعيات . وليس كل إصدار من توزيعة Linux على الكمبيوتر المضيف يوضح أيهما.
أريد مشاركة خوارزمية الإجراءات الخاصة بي لنقل اللوحة بنجاح للتمهيد وتعبئة صورة نظام التشغيل:
1. . 2. ( micro USB - USB). 3. : - RECOVER - RESET - RECOVER 4. - Linux Upgrade Tool ( ): - [user@nb-linuxfedora data-arm]$ unzip Linux_Upgrade_Tool_v1.24.zip - [user@nb-linuxfedora data-arm]$ cd Linux_Upgrade_Tool_v1.24/ - [user@nb-linuxfedora Linux_Upgrade_Tool_v1.24]$ sudo mv upgrade_tool /usr/local/bin/ - [user@nb-linuxfedora Linux_Upgrade_Tool_v1.24]$ sudo chown root:root /usr/local/bin/upgrade_tool - [user@nb-linuxfedora Linux_Upgrade_Tool_v1.24]$ cd /usr/local/bin/ - [user@nb-linuxfedora bin]$ - , upgrade_tool 5. Linux Upgrade Tool <update>.img ( ): [user@nb-linuxfedora bin]
استخدم
بعد نجاح البرامج الثابتة Firefly-RK3288 Reload ، افصل كبل USB. ويمكنك توصيل شاشة ولوحة مفاتيح وماوس. وبنفسه تثبيت المترجم g ++. يحتوي Ubuntu LXDE لـ Firefly على مجموعة جيدة من البرامج بأقل قدر ممكن. بالطبع ، الأكثر فائدة في هذه الحالة هو المحطة الطرفية. هناك أيضًا شاشة نظام بسيطة ومحرر نص Leafpad ولوحة مفاتيح على الشاشة ومدير ملفات ومشغل وسائط ومتصفح Chromium والمزيد.
زوج من لقطات الشاشة:

المحطة و Leafpad

معلومات الإصدار
بالطبع لا يمكن الاستغناء عن ذبابة في المرهم. تعمل اللوحة داخليًا بدقة صورة Full HD ، ويتم حفظ لقطات الشاشة بنفس الدقة. ولكن على خرج HDMI ، يتم تغذية الصورة بدقة HD فقط جاهزة للشاشة. لذلك ، فإن الصورة ، بالطبع ، ليست واضحة بما فيه الكفاية. لكن مثل هذه الصورة ستفعل للتجارب.

لا يعد وجود فيلمين بجودة جيدة مشكلة بالنسبة إلى RK3288 ، حيث يبلغ استخدام وحدة المعالجة المركزية حوالي 50٪.
استخدام ملحقات I2C ودبابيس GPIO
ربما تكون إحدى أهم ميزات هذه اللوحات توصيل الأجهزة الطرفية عبر ناقل I2C ، باستخدام GPIO وواجهات أخرى. يحتوي Firefly RK3288 Reload على أربع حافلات I2C ، حتى خمسة ، ولكن يتم استخدام الناقل الصفري للاحتياجات الداخلية للوحة ، والأربع الأخرى - من 1 إلى 4 مطلقة للاستخدام من قبل المستخدم.
تحتوي الشبكة على معلومات عامة كافية حول استخدام واجهة I2C. للتفاعل مع أجهزة I2C عبر المحطة الطرفية ، أوصي بهذا المقال:
"I2C على Cubieboard مع Lubuntu" ، يستخدمون "مكعب" هناك ، ولكن هذا ليس مهمًا.
وللاتصال بالأجهزة الطرفية I2C برمجياً ، باستخدام الوضع الظاهري للملفات من الناقلات I2C ، يمكننا أن نوصي بما يلي:
"التواصل مع أجهزة I2C" .
كجهاز طرفي I2C استخدم جهاز استشعار درجة الحرارة رقاقة - MCP9808. من السهل العثور على مواصفات جيدة للجهاز على موقع الشركة المصنعة. هذا هو واحد من أجهزة الاستشعار عالية الجودة وأغلى في السوق ، أسرع وأكثر دقة من أجهزة الاستشعار TI و NXP LM Series.

لقد استخدمت هذا المستشعر ملحوم بالفعل باللوحة الصغيرة CJMCU-9808. أيضا كل شيء مع Ebay - كل من أجهزة الاستشعار وأسلاك دوبونت - للقيام دون لحام. الاتصال بسيط للغاية: VCC - إلى طاقة 3.3V ، GND - على الأرض ، SCL و SDA يطبقان بالفعل ناقل I2C (خطوط الساعة والبيانات ، على التوالي) ، تحدد الدبابيس A0 A1 A2 جزءًا من عنوان 7 بت لجهاز I2C ، يمكن لـ ALERT ، من حيث المبدأ ، ألا استخدامها ، ولكن لا يزال خط الإنذار متورطًا بشكل أكبر. في الصورة ، يتم توصيل مستشعر درجة الحرارة بحافلة I2C 1 ، ويتم سحب جميع جهات اتصال العنوان إلى الأرض ، مما يعني 0 منطقي في بت العنوان المقابل ، إذا تم توصيل أسلاك العنوان بالطاقة 3.3V ، فسيكون هذا البت منطقيًا 1. العنوان الأساسي لشريحة MCP9808 هو b0011 و كذلك A2 A1 A0. فقط سبع بتات ، في هذه الحالة - b0011000 ، أي في ست عشري - 0x18.
وبالتالي ، ستنتج أداة وحدة التحكم ما يلي:
root@firefly:/home/firefly
يمكن ملاحظة أنه يوجد على ناقل I2C رقم 1 شيء يحمل العنوان 0x18.
اتصل:
root @ firefly: / home / firefly # i2cget -y 1 0x18 0x05 w
سيعطي ، على سبيل المثال: 0xbc01 (مما يعني درجة حرارة 27.75 درجة مئوية).
معلمات برنامج i2cget: 1 - رقم الناقل ؛ 0x18 - العنوان المتصل بناقل الجهاز ؛ 0x05 - عنوان التسجيل (في هذه الحالة ، درجة الحرارة) ؛ يشير w إلى أن السجل يخزن 2 بايت.
بالطبع ، يمكنك استخدام MCP9808 من برنامج C ++ الخاص بك بشكل كامل. ضع في اعتبارك أن محتويات سجل درجة الحرارة - 0xbc01 - معكوسة ، أي يمكن تمثيلها كـ 0x01bc. تحتوي البايتة الأولى 0x01 على ثلاث بتات من سبب التنبيه ، وبتة واحدة من اللافتة وأربع بتات عالية من درجة الحرارة. تحتوي البايتة الثانية 0xbc على الثماني بتات الدنيا من درجة الحرارة. رقاقة ترميز محتويات سجل درجة الحرارة باستخدام طريقة
تنسيق المكمل للاثنين . بت الثاني عشر من تسجيل مزدوج البايت ترميز حرف. إذا كانت 0 ، تكون درجة الحرارة موجبة. إذا كان البت 11 هو 1 ، فأنت بحاجة إلى درجة الحرارة المحيطة المحسوبة لإضافة 2 إلى درجة 7 درجات مئوية - 2 ^ 7 (128 درجة مئوية) ، إذا - تساوي 0 ، ثم - لا يلزم إضافة أي شيء. وبالمثل ، فإن 1 في البت العاشر سيضيف 2 ^ 6 (64 C). وهكذا ، فإن 1 في البت الرابع سيضيف 2 ^ 0 (1 C). 1 في البتة الثالثة سيضيف 2 ^ -1 (0.5 C). 1 في الأخير - صفر بت سيضيف 2 ^ -4 (0.0625 C). إذا كان جزء الإشارة (الثاني عشر) هو 1 ، فإن
المشكلة تأتي في المنزل وتكون درجة الحرارة سالبة. وفك تشفير السجل معقد إلى حد ما. وفقًا لمبادئ التنسيق المكمل للاثنين ، يجب عليك أولاً قلب البتات. ثم تحتاج إلى إضافة واحدة إلى الأقل استخدامًا ، لأن لا يتم ترميز القيم السالبة ليس بـ 0 ، ولكن بـ -1. عند تكوين مستشعر درجة الحرارة افتراضيًا ، يتم استخدام الدقة القصوى - حتى 0.0625 درجة مئوية. في هذه الحالة ، تحتاج إلى إضافة واحد إلى آخر بت ، وهو المسؤول عن 0.0625 درجة مئوية. يمكنك ببساطة إضافة 1 إلى قيمة تسجيل درجة الحرارة. على سبيل المثال ، لزيادة السرعة ، قلل من دقة قياس درجة الحرارة باستخدام سجل التكوين. بعد ذلك ، عند درجة حرارة سالبة ، ستحتاج إلى إضافة واحدة إلى البتة القديمة أو إضافة رقم يتوافق مع هذه البتة. ثم من الضروري ترجمة البتات إلى قيمة درجة الحرارة كما في حالة الحالة الإيجابية.
GPIO وخط الإنذار


يمكنك استخدام خط الإنذار لجهاز الاستشعار. بما في ذلك استخدام أحد خطوط GPIO الخاصة بـ Firefly. في الصورة ، بالطبع ، القصدير والحرق مع LED ومقاومة قديمة ، ولكن هنا المبدأ نفسه مهم. تم وصف كيفية استخدام GPIO جيدًا في مقال آخر عن حبري:
Linux: الأزرار ومصابيح LED و GPIO . ولكن كما لوحظ بشكل صحيح ، من الصعب تحديد أي رقم Gpio يتم تصديره للاستخدام في المستقبل. لمعرفة خطوط Gpio المشغولة وغير المشغولة ، يمكنك استخدام الأمر:
root@firefly:/home/firefly
الفريق
firefly@firefly:~$ dmesg
يعرض أيضًا معلومات حول Gpio.
أوضحت الدراسة أنه من الممكن تصدير رقم GPIO pin 262. على سبيل المثال ، والمشار إليه على اللوح وفي المواصفات كـ GPIO8 A6. لأن في هذه اللوحة ، كالعادة ، تحتوي كتل GPIO على 32 عنصرًا لكل منها. يمكن الافتراض ، ربما ، أن الصيغة السحرية هي: 32 * رقم كتلة GPIO + رقم من postfix. لذا ، يمكننا فقط الحصول على 32 * 8 + 6 = 262. الآن ، في بداية البرنامج ، يمكننا توريد طاقة 3.3 فولت إلى Gpio 262 ، وعندما نخرجها ، توقف عن القيام بذلك.
تشير مواصفات MCP9808 إلى أن خط ALARM الموجود عليه عبارة عن استنزاف مفتوح ، أي مخزون مفتوح. هذا يعني أنه عندما يحدث إنذار ، يتم تقصير هذا الخط إلى الأرض ، وإلا فإنه لا يقصر. كما تم التأكيد على الحاجة إلى استخدام المقاوم. من الناحية العملية ، تم التحقق من أن هذا ضروري حقًا ، وإلا ، مع مرور التيار ، سيتم تسخين الجزء الداخلي من المستشعر إلى درجات حرارة عالية. يظهر الرسم البياني التالي في الصورة: يتم توصيل GPIO في سلسلة إلى LED ، المقاومة ، الصرف المفتوح (ALARM) للمستشعر. يبقى استخدام سجل التكوين MCP9808 من أجل ضبط حدود درجة الحرارة المسموح بها. عند تجاوز ذلك ، سيحدث إنذار. يمكنك تعيين مستويين لدرجة حرارة عالية جدًا ومستوى واحد منخفض جدًا. بشكل عام ، للعمل مع هذا المستشعر الرقمي ، بالطبع ، تحتاج إلى قراءة المواصفات بعناية ، والتبديل إلى وضع التكوين ، والعودة إلى وضع العمل ، والمزيد. وبالتالي ، عندما تتجاوز درجة الحرارة الحدود المحددة ، سيمر التيار من خلال اتصال ALARM ويضيء LED.
في الختام
أود أن أذكر خدعة مفيدة للتحكم في توهج مصابيح LED المدمجة في لوحات التطوير. توضح أدلة Cubieboard 6 كيفية تشغيل LED1:
$echo default-on > /sys/class/leds/led1-GPIOB9/trigger
وكيفية إيقاف LED1:
$echo none > /sys/class/leds/led1-GPIOB9/trigger
بناءً على ذلك ، تم اكتشاف كيفية التحكم في مصابيح LED في Firefly 3288 Reload.
تشغيل مصباح LED المخصص الأصفر (في الواقع مصباح LED أزرق):
root@firefly:/home/firefly
تعطيل هذا الصمام:
root@firefly:/home/firefly
الاحتياطات
عند التصميم لمجالس التطوير ، من المهم توخي الحذر. بالطبع ، يتم الترميز على جهاز الكمبيوتر ، مع الكثير من الرغبة والتجميع المتقاطع أيضًا. ثم يتم تجميع شفرة المصدر على هدف معين أو يتم نقل ملف قابل للتنفيذ إلى المجلس. وإذا كانت المجالس المتخصصة مصنوعة إلى حد كبير لاستخدام جميع أنواع الواجهات. نعم ، وعادة ما تكون باهظة الثمن. على أجهزة الكمبيوتر باهظة الثمن نفسها ، لا ينصح بمحاولة استخدام حافلات I2C وخطوط GPIO وما شابه. هذا يمكن أن يؤدي إلى أعطال الكمبيوتر غير سارة. تحذر أدوات وحدة التحكم على الأقل مثل i2cget بشكل صريح من ذلك ، مستشهدة ببعض نماذج أجهزة الكمبيوتر المحمولة التالفة كمثال.