
مواضيعنا:
Android 4.1.1 tablet "DNS AirTab M101w" والأجهزة التالية:
1. Tiva C سلسلة TM4C123G LaunchPad
2. Stellaris LaunchPad EK-LM4F120XL المجلس
3. اردوينو ميجا 2560 المجلس
4. مجلس MSP430 LaunchPad ، M430G2553
والآن ، بالترتيب ، سنقوم بتوصيل جميع هذه اللوحات عبر USB OTG بالكمبيوتر اللوحي ونحاول إنشاء اتصال معهم دون اللجوء إلى الوصول إلى الجذر.
الموضوع 1. Tiva C Series TM4C123G LaunchPad
تحتوي اللوحة على موصل "DEBUG" micro-USB ، ومصباح RGB ، وسوف نلعب معهم.
تم تحميل المخطط التالي باستخدام Energia IDE:
char data = ' ';
في حالتي ، عند الاتصال بالكمبيوتر اللوحي ، يظهر ملف tty1-1: 1.0 في الدليل / dev / usb /. دعونا نحاول تسجيل ما يلي في المحاكي الطرفي:
$ echo 2 > /dev/tty1-1:1.0 $ read s < /dev/tty1-1:1.0 $ echo $s RGB=010
ثم ، بشكل غير متوقع بالنسبة لي ، يأتي ضوء أخضر ورأيت خط إخراج. لماذا بشكل غير متوقع؟ لأنني أهملت الإعداد المسبق للاتصال ، فقد أصابني إصبعي في السماء ، ولكن لمدى حسن! لن نتناول هذا. لكنني سأقول أنه في إصدارات مختلفة من النواة ، سيتم تعريف اللوحات بشكل مختلف ، ولا يمكنك تخيل سطر أوامر واحد بدون عكازات
(نعم ، نظام linux عادي) .
بعد أن لعبت قليلاً مع الألوان ، وأرسل أرقامًا مختلفة إلى منفذ COM المزعوم ، بدأت في البحث عن حل Android عالمي. هناك الكثير على Google Play لـ "Serial UART" ، وتعمل معظم التطبيقات كما هو متوقع مع لعبة من Texas Instruments. لكن محاولاتي لإيجاد سلسلة رسائل متوافقة مع Open Source لم تنتهي بأي شيء تقريبًا. ل Arduino لقد وجدت مكتبة رائعة ، ولكن المزيد عن ذلك أدناه ...
الموضوع 2: لوحة Stellaris LaunchPad EK-LM4F120XL
كما أفهمها ، هذه هي النسخة السابقة من أول موضوع اختبار لدينا وتتصرف بنفس الطريقة تمامًا مع android. لكن Energia 0101E0010 الحالي ، عند محاولة ملء الرسم ، لا يرى هذا المنتدى (Windows 8).
No ICDI device with USB VID:PID 1cbe:00fd found! Failed!
لذلك ، قمت فقط بتشغيل إخراج المسار الثنائي النهائي إلى وحدة التحكم وقمت بتحميله يدويًا باستخدام LM Flash Programmer.
الموضوع 3: مجلس اردوينو ميجا 2560
دعنا نغير الرسم قليلاً وسنومض فقط بمصباح واحد.
ملء مع اردوينو بيئة تطوير متكاملة
#define LED 13 char data = ' '; boolean ls = false; void setup() { pinMode(LED, OUTPUT); Serial.begin(9600); } void loop() { if (Serial.available()){ data = Serial.read(); switch (data){ case '1': ls = !ls; break; } digitalWrite(LED, ls); Serial.print("LED="); Serial.println(ls); } }
نتصل بالكمبيوتر اللوحي ، ومرة أخرى نرى ملف tty1-1: 1.0 في الدليل / dev / usb / ، نكرر التجربة:
$ echo 1 > /dev/tty1-1:1.0
ثم أجد أن يومض المصباح مرتين مع فترة تبلغ حوالي 100 مللي ثانية وينطفئ. حسنًا ، أجرب ما يلي:
$ read s < /dev/tty1-1:1.0
ثم تجمدت المحطة تحسبا ... حسنا ، Ctrl + C
$ echo $s
ومن المنطقي أنه لا يوجد شيء في الإخراج.
ولكن هذا كان مجرد مقدمة ، وهناك مشروع واحد رائع
مكتبة Physicaloid . أولاً ، افتح المكتبة كمشروع أندرويد عادي في Eclipse. الآن قم بإنشاء مشروع جديد وفي خصائصه في العنصر android ، انقر فوق مكتبة Add ... وحدد Physicaloid Library. الآن ، للضغط على الزر لإرسال السلسلة "1" إلى اردوينو:
public void onClick(View v) {
لا أعتقد أنني بحاجة إلى معرفة كيفية قراءة البيانات المستلمة ، لأن كل شيء موجود في وثائق المكتبة.
الموضوع 4: لوحة MSP430 LaunchPad ، M430G2553.
لم يرغب هذا المنتدى في العمل مع أجهزتي على الإطلاق. إنه ببساطة لا يحدده النظام ، ويتم تعليق معلومات جهاز USB فقط عند التحديث.
النتيجة:
أود الحصول على مكتبة من هذا القبيل للعمل مع لوحات Tiva C Series. جدد نفسك بينما المهارة ليست كافية.