Johnny-Five هو إطار برمجة مفتوح المصدر، قائم على بروتوكول Firmata، وإنترنت الأشياء والروبوتات، تم تطويره بواسطة مجتمع Nodebots. يمكن كتابة برامج Johnny-Five لـ Arduino (جميع الموديلات)، Electric Imp، Beagle Bone، Intel Galileo & Edison، Linino One، Pinoccio، pcDuino3، Raspberry Pi، Particle/Spark Core & Photon، Tessel 2، TI Launchpad والمزيد!
لقد تطور Johnny-Five من مشروع عاطفي إلى أداة لإلهام التعلم والإبداع للأشخاص من جميع الأعمار والخلفيات ومن جميع أنحاء العالم.
هل أنت مهتم فقط بالتعلم وبناء أشياء رائعة؟ قد ترغب في البدء بموقع Johnny-Five الرسمي.
إذا كنت تريد العثور على وثائق واجهة برمجة التطبيقات (API)، فستجدها هنا.
هل تحتاج إلى معرفة النظام الأساسي الذي يجب استخدامه للمشروع؟ نضع تلك الأشياء هنا.
هل تحتاج إلى الإلهام لـ NodeBot القادم؟ تحقق من الأمثلة.
هل ترغب في البقاء على اطلاع بأحدث المشاريع في المجتمع؟ تحقق من هذا.
هل تحتاج إلى تحديثات وإعلانات مجتمع NodeBots أو مشروع Johnny-Five؟ هذا هو ما تبحث عنه.
لا يحاول Johnny-Five توفير "كل الأشياء"، ولكنه يركز بدلاً من ذلك على تقديم واجهات برمجة التطبيقات (APIs) القوية والمختبرة على أرض الواقع والقابلة للتركيب بشكل كبير والتي تعمل بشكل متسق عبر جميع الأنظمة الأساسية للأجهزة المدعومة. يريد Johnny-Five أن يكون مجموعة أدوات تحكم أساسية لمشاريع الأجهزة، مما يتيح لك حرية إنشاء مكتبات JavaScript متنوعة وتنميتها وتجربتها من اختيارك. أزواج جوني فايف بشكل مريح مع:
مكتبات التطبيقات الشائعة مثل Express.js وSocket.io.
مشاريع الأجهزة الزميلة مثل ar-drone وAirgel وSpheron
وحدات التحكم في الألعاب التي تعمل بتقنية Bluetooth، مثل XBox Controller وDualShock
أطر عمل إنترنت الأشياء، مثل Octoblu
...وهذا مجرد عدد قليل من الاحتمالات العديدة القابلة للاستكشاف. تحقق من هذه المشاريع المثيرة: Node-Pulsesensor، Footballbot-workshop-ui، Nodebotui، dublin-disco، Node-slot-car-bot، servo-calibrator، Node-ardx، Nodebot-workshop، phone-home، purple-unicorn، webduino، Leapduino، ورشة عمل Lasercat، Simplesense، Five-Redbot، Robotnik، The-Blender
لماذا جافا سكريبت؟ NodeBots: صعود الروبوتات جافا سكريبت
برنامج "Hello World" الموجود في كل مكان للمتحكم الدقيق وعالم SoC هو "وميض مؤشر LED". يوضح التعليمة البرمجية التالية كيفية القيام بذلك باستخدام إطار عمل Johnny-Five.
const { Board, Led } = require("johnny-five");const board = new Board();board.on("ready", () => { // قم بإنشاء مصباح LED على الدبوس 13 const led = new Led(13); // وميض كل نصف ثانية led.blink(500);});
ملاحظة: ستتعطل العقدة إذا حاولت تشغيل johnny-five في العقدة REPL، لكن مثيلات اللوحة ستنشئ REPL السياقي الخاص بها. ضع البرنامج النصي الخاص بك في ملف.
تم اختبار Johnny-Five على مجموعة متنوعة من اللوحات المتوافقة مع Arduino.
بالنسبة للمشاريع التي لا تعتمد على Arduino، يتوفر عدد من مكونات IO الإضافية الخاصة بالمنصة. تسمح مكونات IO الإضافية لكود Johnny-Five بالتواصل مع أي جهاز غير معتمد على Arduino بأي لغة تتحدثها المنصات!
يمكن العثور على وثائق Johnny-Five API هنا وأمثلة على البرامج هنا.
بحاجة الى مساعدة؟ اطرح سؤالاً في منتدى مجتمع NodeBots. إذا كان لديك سؤال سريع أو كنت مهتمًا بمناقشات التصميم المستمرة، انضم إلينا في Johnny-Five Gitter Chat.
للحصول على أمثلة خطوة بخطوة، بما في ذلك كتاب تمهيدي للإلكترونيات، راجع دليل Arduino Experimenter's لـ NodeJS بواسطة @AnnaGerber
فيما يلي قائمة بالمتطلبات الأساسية لنظام Linux أو OSX أو Windows.
تحقق من دليل البلوتوث إذا كنت تريد التحكم في الروبوت الخاص بك عن بعد.
مجموعة البدء الموصى بها: مجموعة Sparkfun Inventor
تحميل اردوينو IDE
قم بتوصيل وحدة التحكم الدقيقة المتوافقة مع Arduino أو Arduino عبر USB
افتح Arduino IDE، وحدد: ملف > أمثلة > Firmata > StandardFirmataPlus
يتوفر StandardFirmataPlus في Firmata v2.5.0 أو أحدث
انقر فوق الزر "تحميل".
إذا كان التحميل ناجحًا، فستكون اللوحة جاهزة الآن ويمكنك إغلاق Arduino IDE.
بالنسبة للمشاريع غير التابعة لـ Arduino، سيوفر كل مستودع لـ IO Plugin تعليمات الإعداد الخاصة بالمنصة الخاصة به.
git clone git://github.com/rwaldron/johnny-five.git && cd johnny-five تثبيت npm
تثبيت الوحدة مع:
npm تثبيت جوني خمسة
لمساعدتك على العمل بسرعة، نقدم لك مجموعة متنوعة من الأمثلة لاستخدام كل مكون من مكونات Johnny-Five. هناك شيء واحد نحن متحمسون له بشكل خاص وهو المجموعة الواسعة من مخططات فريتزينج التي ستجدها في جميع أنحاء الموقع. جزء كبير من تنفيذ أي مشروع Johnny-Five هو التعامل مع الأجهزة الفعلية، وقد قمنا بتضمينها كجزء من الوثائق لأننا أدركنا أن الإرشادات حول كيفية كتابة التعليمات البرمجية للتحكم في المؤازرة غير كافية بدون تعليمات حول كيفية توصيل جهاز مضاعفات!
للتنقل بين الأمثلة بشكل تفاعلي، قم بزيارة صفحة أمثلة Johnny-Five على الموقع الرسمي. إذا كنت تريد الارتباط مباشرة بالأمثلة الموجودة في هذا الريبو، فيمكنك استخدام أحد الروابط التالية.
يوجد حاليًا 362 برنامجًا نموذجيًا مع التعليمات البرمجية والرسوم البيانية!
اللوحة - التهيئة الأساسية
اللوحة - التنظيف في حدث "الخروج".
اللوحة - متعددة في برنامج واحد
اللوحة - حدد الفاصل الزمني لأخذ العينات
اللوحة - حدد المنفذ
خصائص البيانات المخصصة
دبوس
ردل
قاد
الصمام - وميض
LED - تسلسل العرض التوضيحي
الصمام - تتلاشى
LED - رد الاتصال تتلاشى
LED - يتلاشى مع الرسوم المتحركة
الصمام - PCA9685
الصمام - نبض
LED - نبض مع الرسوم المتحركة
الصمام - المنزلق
LED - وحدة مؤازرة Tessel
مصابيح LED - مجموعة من مصابيح LED
مصابيح LED - التحكم في مجموعة من مصابيح LED
LED - RGB (الأنود المشترك)
LED - RGB (الأنود المشترك) PCA9685
LED - كثافة RGB
LED - قوس قزح
LED - قوس قزح بلينك إم
LED - ساعة رقمية
LED - ساعة رقمية، شاشات مزدوجة
ال اي دي - ساعة رقمية، HT16K33
LED - رسم توضيحي لأحرف المصفوفة
LED - تعداد أحرف ورموز المصفوفة
الصمام - مصفوفة
LED - عرض ماتريكس
LED - مصفوفة HT16K33
LED - ماتريكس HT16K33 16x8
مضاعفات
مؤازرة - مستمر
المؤازرة - القيادة
مؤازرة - متعددة المنعطفات
سيرفو-PCA9685
مضاعفات - موجه
مؤازرة - التحكم في شريط التمرير
المؤازرة - وحدة تيسيل المؤازرة
الماكينات - مجموعة من الماكينات
GPS - Adafruit Ultimate GPS Breakout
نظام تحديد المواقع العالمي (GPS) - نظام تحديد المواقع العالمي (GPS) الافتراضي
نظام تحديد المواقع العالمي (GPS) - تسلسل الأجهزة
نظام تحديد المواقع - سباركفون GP-20U7
سيرفو - رسوم متحركة
المؤازرة - الرسوم المتحركة للساق
اللون - EVShield EV3 (الرمز)
اللون - EVShield EV3 (خام)
اللون - EVShield NXT (الرمز)
اللون - ISL29125
محرك
المحرك - 3 دبوس
المحرك - Adafruit DRV8871 تيار مستمر سائق اندلاع
المحرك - الفرامل
المحرك - الحالي
المحرك - الاتجاه
المحرك - EVShield EV3
المحرك - EVShield NXT
المحرك - تمكين الدبوس
المحرك - GROVE_I2C_MOTOR_DRIVER
المحرك - جسر H
المحرك - لودوس
المحرك - PCA9685
المحرك - Pololu VNH5019 اندلاع محرك مزدوج المحرك
المحرك - Sparkfun Dual H-bridge Edison Block
المحرك - سباركفون TB6612FNG
المحرك - اندلاع l298
المحركات - جسر H مزدوج
السائر - سائق
السائر - أربعة أسلاك
السائر - الاجتياح
ESC - ثنائي الاتجاه
ESC - ESCs التي يتم التحكم فيها بالضغط على المفتاح
إيسك-PCA9685
زر
زر - الوفير
الزر - EVShield EV3
الزر - EVShield NXT
الزر - الخيارات
زر - سحب
الأزرار - المجموعة مع AT42QT1070
يُحوّل
التبديل - الباب المغناطيسي
التبديل - إمالة SW-200D
تبديل التبديل
لوحة المفاتيح - حقيبة ظهر نانو 3×4 I2C
لوحة المفاتيح - حقيبة ظهر نانو 4×4 I2C
لوحة المفاتيح - مفتاح VKEY
لوحة المفاتيح - Waveshare AD
لوحة اللمس - جروف كيو تاتش
لوحة اللمس - MPR121
لوحة اللمس - MPR121، الحساسية
لوحة اللمس - MPR121QR2_SHIELD
لوحة اللمس - MPR121_KEYPAD
لوحة اللمس - MPR121_SHIELD
تتابع
تتابع - جمع
التتابع على دبوس التناظرية
سجل التحول
سجل التحول - جهاز التحكم في الأنود المشترك المكون من سبعة أجزاء
سجل التحول - الأنود المشترك سبعة قطاعات، بالسلاسل
سجل التحول - وحدة تحكم سبعة قطاعات
سجل التحول - سبعة أجزاء، بالسلاسل
حركة الأشعة تحت الحمراء
القرب من الأشعة تحت الحمراء
انعكاس الأشعة تحت الحمراء
صفيف انعكاس الأشعة تحت الحمراء
القرب
القرب - EVShield EV3 (IR)
القرب - EVShield EV3 (IR)
القرب - EVShield EV3 (الموجات فوق الصوتية)
القرب - EVShield EV3 (الموجات فوق الصوتية)
القرب - GP2Y0A710K0F
القرب - HC-SR04
القرب - HC-SR04 (تناظري)
القرب - حقيبة الظهر HC-SR04 I2C
القرب - ليدار لايت
القرب - MB1000
القرب - MB1003
القرب - MB1010
القرب - MB1230
القرب - SRF10
حركة
الحركة - GP2Y0A60SZLF
الحركة - GP2Y0D805Z0F
الحركة - GP2Y0D810Z0F
الحركة - GP2Y0D810Z0F
عصا التحكم
عصا التحكم - اسبلورا
عصا التحكم - التحكم في المقلاة + الإمالة
عصا التحكم - درع Sparkfun
غروف - معاينة الألوان RGB LCD
شاشات الكريستال السائل
شاشات الكريستال السائل - تعداد الأحرف
شاشات الكريستال السائل - I2C
شاشات الكريستال السائل - I2C PCF8574
شاشات الكريستال السائل - عداء I2C
شاشات الكريستال السائل - عداء 16x2
شاشات الكريستال السائل - عداء 20x4
شاشات الكريستال السائل - تيسل 2 16x2
Tessel 2 + Grove - عارض ألوان RGB LCD
Tessel 2 + Grove - شاشة LCD RGB
البوصلة - ابحث عن الشمال
البوصلة-HMC5883L
البوصلة-HMC6352
بوصلة - المسجل
البوصلة-MAG3110
البوصلة - MAG3110 على Tessel 2
البوصلة / مقياس المغناطيسية
بيزو
إمو-BNO055
IMU - BNO055 (الاتجاه)
وحدة الحركة الإسلامية - LSM303C
الحركة الإسلامية - MPU6050
متعدد - BME280
متعدد - BMP085
متعدد - BMP180
متعدد - DHT11_I2C_NANO_BACKPACK
متعدد - DHT21_I2C_NANO_BACKPACK
متعدد - DHT22_I2C_NANO_BACKPACK
متعدد - HIH6130
متعدد - HTU21D
متعدد - MPL115A2
متعدد - MPL3115A2
متعدد - MS5611
متعدد - SHT31D
متعدد - SI7020
متعدد - SI7021
متعدد - TH02
مقياس التسارع
مقياس التسارع - ADXL335
مقياس التسارع - ADXL345
مقياس التسارع - LIS3DH
مقياس التسارع - MMA7361
مقياس التسارع - MMA8452
مقياس التسارع - MPU6050
مقياس التسارع - عموم + الميل
مقياس الارتفاع - BMP085
مقياس الارتفاع - BMP180
مقياس الارتفاع - MPL3115A2
مقياس الارتفاع - MS5611
بارومتر - BMP085
بارومتر - BMP180
بارومتر - MPL115A2
بارومتر - MPL3115A2
بارومتر - MS5611
الجيروسكوب
الجيروسكوب - التناظرية LPR5150AL
الدوران - I2C MPU6050
مقياس الرطوبة - DHT11_I2C_NANO_BACKPACK
مقياس الرطوبة - DHT21_I2C_NANO_BACKPACK
مقياس الرطوبة - DHT22_I2C_NANO_BACKPACK
مقياس الرطوبة - HIH6130
مقياس الرطوبة - HTU21D
مقياس الرطوبة - SHT31D
مقياس الرطوبة - SI7021
مقياس الرطوبة - TH02
الاستشعار
الاستشعار - الميكروويف الرقمي
المستشعر - مستشعر فليكس
الاستشعار - المقاوم الحساس للقوة
الاستشعار - الميكروفون
الاستشعار - المقاوم الضوئي
الاستشعار - مقياس الجهد
الاستشعار - مقياس الجهد المنزلق
ميزان الحرارة - BMP085
ميزان الحرارة - BMP180
ميزان الحرارة - DHT11_I2C_NANO_BACKPACK
ميزان الحرارة - DHT21_I2C_NANO_BACKPACK
ميزان الحرارة - DHT22_I2C_NANO_BACKPACK
ميزان الحرارة - DS18B20
ميزان الحرارة - مزدوج DS18B20
ميزان الحرارة - HIH6130
ميزان الحرارة - HTU21D
ميزان الحرارة - LM335
ميزان الحرارة - LM35
ميزان الحرارة - MAX31850
ميزان الحرارة - MCP9808
ميزان الحرارة - MPL115A2
ميزان الحرارة - MPL3115A2
ميزان الحرارة - MPU6050
ميزان الحرارة - MS5611
ميزان الحرارة - SHT31D
ميزان الحرارة - SI7020
ميزان الحرارة - SI7021
ميزان الحرارة - TH02
ميزان الحرارة - TMP102
ميزان الحرارة - TMP36
المتوسع - 74HC595
الموسع - CD74HC4067، 16 قناة إدخال تناظري
المتوسع - LIS3DH
المتوسع - MCP23008
المتوسع - MCP23017
الموسع - MUXSHIELD2، أجهزة الاستشعار التناظرية
الموسع - MUXSHIELD2، الإدخال والإخراج الرقمي
المتوسع - PCA9685
المتوسع - PCF8574
المتوسع - PCF8575
المتوسع - PCF8591
درع الطقس الفوتون: الرطوبة
الزر - EVShield EV3
الزر - EVShield NXT
اللون - EVShield EV3 (الرمز)
اللون - EVShield EV3 (خام)
اللون - EVShield NXT (الرمز)
لايت - BH1750
الضوء - EVShield EV3 (المحيط)
الضوء - EVShield EV3 (المنعكس)
الضوء - EVShield NXT (المحيط)
الضوء - EVShield NXT (المنعكس)
لايت - TSL2561
المحرك - EVShield EV3
المحرك - EVShield NXT
القرب - EVShield EV3 (IR)
القرب - EVShield EV3 (الموجات فوق الصوتية)
إنتل إديسون + جروف - مقياس التسارع (ADXL345)
إنتل إديسون + جروف - مقياس التسارع (MMA7660)
Intel Edison + Grove - مستشعر جودة الهواء
إنتل إديسون + جروف - بارومتر (BMP180)
إنتل إديسون + جروف - زر
إنتل إديسون + جروف - بوصلة (HMC588L)
إنتل إديسون + جروف - مستشعر اللهب
إنتل إديسون + جروف - غاز (MQ2)
Intel Edison + Grove - الرطوبة ودرجة الحرارة (TH02)
Intel Edison + Grove - برنامج تشغيل محرك I2C
إنتل إديسون + جروف - عصا التحكم
إنتل إديسون + جروف - LED
إنتل إديسون + جروف - مستشعر الضوء (TSL2561)
إنتل إديسون + جروف - مستشعر الرطوبة
إنتل إديسون + جروف - كيو تاتش
إنتل إديسون + جروف - RGB LCD
Intel Edison + Grove - معاينة ألوان RGB LCD
Intel Edison + Grove - عرض درجة حرارة RGB LCD
إنتل إديسون + جروف - التتابع
إنتل إديسون + جروف - مقياس الجهد الدوار
إنتل إديسون + جروف - سيرفو
إنتل إديسون + جروف - تاتش
جروف - زر
جروف - عصا التحكم
جروف - LED
جروف - المحرك (سائق I2C)
غروف - RGB LCD
غروف - عرض درجة الحرارة RGB LCD
جروف - مقياس الجهد الدوار
جروف - سيرفو
جروف - المس
مايكرو ماجيكان V2 - مقياس التسارع
مايكرو ماجيكان V2-محرك
مايكرو ماجيك V2-سيرفو
TinkerKit - مقياس التسارع
تينكركيت - وميض
تينكركيت - زر
تينكركيت - كومبو
TinkerKit - مؤازرة مستمرة
تينكركيت - الجيروسكوب
تينكركيت - عصا التحكم
TinkerKit - مقياس الجهد الخطي
TinkerKit - مقياس الجهد الدوار
تينكركيت - درجة الحرارة
تينكركيت - الميل
تينكركيت - المس
وحدة تحكم وي كلاسيك
وي نونشوك
حشرة
جهاز التحكم بالذراع الروبوتية كينيكت
سلك رحلة الليزر
متابع الخط
Lynxmotion الشقي ذو القدمين
موتوبوت
الملاح
Nodebot
فينيكس هيكسابود
رادار
المخلب الآلي
شارب
مثال البرنامج المساعد
وميض LED على عفريت كهربائي
وميض LED على لوحة Intel Edison Arduino
وميض LED على لوحة Intel Edison Mini
وميض LED على Intel Galileo Gen 2
وميض LED على Raspberry Pi
وميض LED على سبارك كور
الصمام وميض على pcDuino3
يجب أن تلتزم جميع المساهمات بدليل نمط Idiomatic.js، من خلال الحفاظ على نمط الترميز الحالي. أضف اختبارات الوحدة لأي وظيفة جديدة أو متغيرة. لينت واختبار التعليمات البرمجية الخاصة بك باستخدام الناخر.
حقوق الطبع والنشر (ج) 2012، 2013، 2014 لريك والدرون [email protected] مرخص بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. حقوق الطبع والنشر (ج) 2014، 2015 محفوظة لشركة Johnny-Five Contributors المرخصة بموجب ترخيص MIT.