জাভাস্ক্রিপ্ট সহ প্রোগ্রামিং রোবট


39

যে কেউ তাঁর বেশিরভাগ সময় জাভাস্ক্রিপ্টে প্রোগ্রামিংয়ে ব্যয় করছেন, আমার বর্তমান ভাষার ফোকাস থেকে খুব বেশি বিচ্যুত হওয়ার প্রয়োজন ছাড়াই ছোট-রোবোটিক্সে প্রবেশের সর্বোত্তম পথটি কী?

এমন কোনও প্রকল্প কিট বা সরঞ্জাম রয়েছে যা জাভাস্ক্রিপ্ট ভাষার ব্যবহার করে যা আমার মতো বিকাশকারীদের পক্ষে ক্ষেত্রটিকে আরও বেশি অ্যাক্সেসযোগ্য করে তুলতে পারে? আমি এমনকি ভার্চুয়াল পরিবেশে আগ্রহী যেখানে সমস্ত কোড একটি সিমুলেশন কার্যকর করা হয়।


3
আপনার এই পোস্টটি চেকআউট করা উচিত ... weblog.bocoup.com/javascript-arduino-programming-with-nodejs এটি আরডুইনোর জন্য ব্যবহৃত প্রোটোকলের খাঁটি জেএস বাস্তবায়ন নিয়ে আলোচনা করে। খুব সুন্দর স্টাফ।
ক্রিস গুতেরেজ

আমি রোবোটটিতে কিছু নোডেজের বাস্তবায়ন দেখতে চাই। ওয়েবসকেট ব্যবহার করে কেউ কেবল ওয়েবে রোবটটি নিয়ন্ত্রণ করতে পারেন।
লর্ড লোহ

আপনি জাভাস্ক্রিপ্টে প্রোগ্রাম করবেন না - আপনি স্ক্রিপ্ট লিখেন (যা ডিওএমের ক্লায়েন্টের কারসাজির জন্য একটি ব্রাউজারে ব্যবহৃত হয়) আপনি জাভাতে প্রোগ্রাম করতে পারেন - যা সম্পূর্ণ আলাদা। node.jsএটি জাভাস্ক্রিপ্ট না। এটি একটি সি লাইব্রেরি যা এজেএক্সকে মিনি সার্ভার হিসাবে কল করে এবং উচ্চ ভলিউমের অনুরোধগুলির জন্য ব্যবহৃত হয় - উদাহরণস্বরূপ ইবে-তে আপনাকে এমন একটি আইটেমের একটি পৃষ্ঠা রিফ্রেশ করার দরকার নেই কারণ জাভাস্ক্রিপ্ট নোড ব্যবহার করে বিডিংয়ের দাম এবং সময়কে একত্রিত করে ট্র্যাফিক ওভারহেড হ্রাস করার সময় .js অত্যন্ত তাত্ক্ষণিক প্রতিক্রিয়া) নড.জেএস এটির জন্য আর্দুইনোর কারণেই ভালC
পাইওটর কুলা

সুতরাং আপনি cনট.জেএস ব্যবহার করে এটিতে বট ইন এবং ইন্টারফেসটি ব্যবহার করবেন - যা অনুরোধের জন্য সহজাতভাবে জাভাস্ক্রিপ্ট অ্যাজ্যাক্স ব্যবহার করে তবে আপনি সার্ভার অনুরোধ বা অন্য কোনও চালক কোডও ব্যবহার করতে পারেন যা জাভাস্ক্রিপ্টের সাথে সম্পর্কিত নয়।
পাইটর কুলা

বর্তমানে আরডুইনো কোডটি কি একমাত্র কার্যকর উপায়?
হুযো

উত্তর:


22

সেখানে বেশ কয়েকটি প্রকল্প রয়েছে যা আড়ডিনো প্ল্যাটফর্মটিকে নোড.জেএস জাভাস্ক্রিপ্ট এক্সিকিউশন ইঞ্জিনের সাথে সঙ্গম করে। কটাক্ষপাত জনি-পাঁচ , যা যাও Arduino Firmata রিমোট কন্ট্রোল প্রোটোকল বা উপরে একটি লাইব্রেরি নোড-reflecta , যা যাও Arduino Reflecta রিমোট কন্ট্রোল প্রোটোকল জন্য একটি Node.js ইন্টারফেস।

আমি ব্যক্তিগতভাবে নামক একটি Node.js নিয়ন্ত্রিত রোবট তৈরি করেছি RocketBot , যে একটি Beaglebone উপরে নোড-জয়স্টিক এবং একটি Arduino তাই আমি এই পদ্ধতির প্রত্যায়ন পারেন সঙ্গে সম্মিলন নোড-reflecta ভাল কাজ করে।


12

হুঁ, মজার প্রশ্ন! আমি ব্যক্তিগতভাবে পরামর্শ দেব যে আপনি আরডুইনো প্ল্যাটফর্মটি একবার দেখুন। এটি সি তে প্রোগ্রাম করা হয়েছে, সুতরাং সিনট্যাক্সটি একটি জাভাস্ক্রিপ্ট লেখকের কাছে ... পরিচিত হতে চলেছে। আমার নম্র মতে, সিনট্যাক্সটি (যখন লুপগুলি, যদি / ব্লকগুলি ইত্যাদির বাইরে রাখা হয়) কীভাবে যুদ্ধের 70% হয় তা জানার পরে আপনি যদি তার সাথে পরিচিত হন, আপনি প্লাগ এবং খেলতে পারবেন। আপনি স্পার্কফুন.কম বা অ্যাডফ্রুট.কম এ ভাল লোকদের কাছ থেকে অনলাইনে প্রায় 30 ডলারে স্টার্টার কিট বাছাই করতে পারেন, আপনি এটি একটি পিসি, ম্যাক বা লিনাক্স মেশিনে প্রোগ্রাম করতে পারেন এবং এটি আপনাকে সহজ করার জন্য পর্যাপ্ত উদাহরণ সহ প্রি-লোডযুক্ত আসে দ্রুত ভাষা। আমি বলছি না যে আপনি এর মধ্যে কিছু জাভাস্ক্রিপ্ট কোড ফেলে যাবেন এবং আপনার পথে চলে যাবেন, তবে আমি যখন জাডা স্ক্রিপ্ট প্রোগ্রামার ছিলাম যখন আমি আরডুইনো দিয়ে যাত্রা শুরু করছিলাম তখন আমি খুব সহজেই এটি খুঁজে পেলাম এবং তার সাথে চালনা করছিলাম। শুভকামনা,

পিএস - আপনার বৈদ্যুতিন সার্কিট (লাইট, মোটর এবং এর মতো) তৈরির সাথে পরিচিত / আরামদায়ক হওয়া উচিত, তবে এর কোনও লবণের জন্য ভাল কোনও আরডিনো প্রবর্তন কিট আপনাকে কোনও অভিজ্ঞতা না দিলে আপনাকে শুরু করবে।


3
পিএস - নতুনভাবে টানা নতুন রোবোটিক্স.এসই সাইটের জন্য নতুন প্রশ্ন, আমি মনে করি :)
ক্রিস

1
দুর্দান্ত উত্তর, ক্রিস। আমি অন্য কিছু জাভাস্ক্রিপ্ট বিকাশকারীদের কাছ থেকে আরডুইনো প্ল্যাটফর্মের কথা শুনেছি। বিকাশকারী খুঁজছেন এমন বিকাশকারীদের পক্ষে এটিই সেরা গেটওয়ে ড্রাগ।
সাম্পসন

1
একজন তরুণ জাভাস্ক্রিপ্ট / ওয়েব বিকাশকারী হিসাবে আমি আপনার প্রশ্নটিকে অত্যন্ত আকর্ষণীয় মনে করি। যেমন নোড.জেএস এবং অন্যান্য বিভিন্ন সংস্করণের প্ল্যাটফর্ম রয়েছে তার আগে যেমন বলা হয়েছে, তবে আপনি যদি জাভাস্ক্রিপ্টে সত্যিই স্বাচ্ছন্দ্য বোধ করেন তবে আপনি খুব সহজেই অন্য কোনও ভাষা শিখতে পারেন, যা আমি অত্যন্ত সুপারিশ করব। এটি কেবলমাত্র মৌলিক কম্পিউটার বিজ্ঞান বোঝার আপনার ক্ষমতাকে প্রসারিত করে না, তবে এটি নতুন নতুন জিনিসগুলি শেখাও সহজ করে তোলে।
ওয়ানচিলডুড

8

রোবট অপারেটিং সিস্টেম (আরওএস) আপনার রোবটগুলি নিয়ন্ত্রণ করতে জাভাস্ক্রিপ্ট ব্যবহার করার ক্ষমতা সরবরাহ করে। বিশেষত আপনি রসব্রিজ দেখতে চাইবেন । তারপরে আপনার রোবট নিয়ন্ত্রণকারী মাইক্রোকন্ট্রোলারের সাথে ইন্টারফেস করতে আপনাকে রোসরিয়াল ব্যবহার করতে হবে ।

যদিও আমি আরওএসের একটি বড় অনুরাগী এটি রোবোটিক্স আইএমএইচওর ক্ষেত্রটি অন্বেষণ করা শুরু করার একটি অতি জটিল উপায়। আপনাকে আরডুইনো বাছাই করার জন্য এবং সি থেকে কিছুটা শিখতে আরও ভালভাবে পরিবেশন করা হবে আরডুইনো প্রক্রিয়াটিকে সহজ করে তোলার জন্য দুর্দান্ত কাজ করে এবং সি বাক্য বিন্যাসের দিক থেকে জেএস থেকে কোনও বিচ্যুতি নয়।


5

সাধারণত প্ল্যাটফর্মের সাথে নোড.জেএস ব্যবহার করার অনেকগুলি উপায় রয়েছে, আরপিআইয়ের মতো এটিআপনি যদি কেবল তাদের জন্য অনুসন্ধান করেন তবে আরও অনেকগুলি অনুরূপ রয়েছে ।

আর একটি আকর্ষণীয় হ'ল আরডুগেট , যা ওয়েব পৃষ্ঠাগুলিকে জেএসের মাধ্যমে আরডুইনোর সাথে যোগাযোগ করতে দেয় (যদিও এটি ঠিক তাই নয় কারণ এটি আরডুইনো সংকলন করে লোড করে না)

যদিও আমি সত্যিই দেখতে পাই না যে কোনও ভিন্ন ভাষা ব্যবহার করে কী হয়েছে। আমি নিজে জেএসে প্রাথমিকভাবে লিখি, তবে আমি সি ++ তে একটি আরডিনো প্রোগ্রামিংয়ে নিজেকে পুরোপুরি আরামদায়ক মনে করি (এটি সি এবং জাভাও দেয় এবং আপনি যদি কিছুটা কাজ করে থাকেন তবে বেশ কয়েকটি ভাষাও )। মনে রাখবেন, একটি রোবট প্রোগ্রামিংয়ের জন্য আমাদের কোনও অভিনব কোনও প্রয়োজন নেই - কেবল সাধারণ ifএস, forএস, whileএস, switchএস এবং মাঝে মাঝেclass। বাক্য গঠনটি শিখুন, এবং আপনি যেতে ভাল হবেন :) কেবল একটাই বিষয় সি / সি ++ / জাভা দৃ strongly়ভাবে টাইপ করা হয়েছে (যদিও আপনি আরপিআই ব্যবহার করছেন, পাইথনটি দুর্বলভাবে টাইপ করা হলেও আরও দশ লক্ষ উপায়ে পিক), সুতরাং আপনাকে যখন প্রথমে সমস্ত কিছুর জন্য নির্দিষ্ট করতে হবে তখন আপনি শুরুতে কিছুটা হতাশার কারণ হয়ে উঠতে পারেন। নেটিভ ভাষা ব্যবহার করার একটি সুবিধা হ'ল নেটটিতে এপিআই এবং উদাহরণ কোড পাওয়া খুব সহজ। উদাহরণস্বরূপ, আরডুগেট বাদে (এটি এটি তৈরি করেছে এবং সম্ভবত আপনি যা চেয়েছিলেন তা নয়), আমি EEPROM অ্যাক্সেস করার কোনও উপায় খুঁজে পাচ্ছি না - একটি সাধারণ কাজ। সুতরাং, আপনি যদি সাধারণ প্রোগ্রামগুলিতে আঁকতে না চান তবে স্থানীয় ভাষা ব্যবহার করা আরও ভাল।


2

আমার এক বন্ধুটির কাছে একটি দুর্দান্ত শক্তিশালী ট্যাঙ্ক রোবট রয়েছে যা ওয়াইফাই দিয়ে নোডজেএস দিয়ে নিয়ন্ত্রিত। রোবট নিজেই 150 পাউন্ডে ঠিক "ছোট-রোবোটিক্স" নয়, তবে উত্স কোড থেকে আপনি সম্ভবত খানিকটা শিখতে পারেন। এটিতে একটি নেটবুক রয়েছে যা একটি ওয়েবসভারটি চালাচ্ছে এবং একটি আরডুইনোর সাথে কথা বলছে। আপনি তার গিথুব প্রকল্পের পৃষ্ঠায় উত্স কোডটি পেতে পারেন । অন্য কম্পিউটারে একটি ওয়েব ব্রাউজার থেকে রিয়েল-টাইম নিয়ন্ত্রণ আশ্চর্যজনকভাবে প্রতিক্রিয়াশীল।


2

মাইক্রোসফ্ট রোবোটিকস ডেনেনট্রালাইজড সফটওয়্যার সার্ভিসেস প্রোটোকল (ডিএসপি) নামে একটি প্রোটোকল ব্যবহার করে এবং তারা লাইসেন্সের অধীনে চশমাগুলি প্রকাশ করে যা যে কাউকে যে কোনও ভাষায় এটি প্রয়োগ করতে দেয়। ডিএসএসপি প্রোটোকলটি বর্তমান ওয়েব মানগুলির সাথে পুরোপুরি সামঞ্জস্যপূর্ণ এবং আমি মনে করি এটি জাভাস্ক্রিপ্ট এবং নোডজেএসে প্রয়োগ করা একটি দুর্দান্ত ধারণা হবে। এটি আপনার নোড অ্যাপ্লিকেশনটির জন্য আজ উপলভ্য যে কোনও ডিএসএস রোবোটিক পরিষেবাদির সাথে ইন্টারঅ্যাক্ট করা সম্ভব করে তুলতে পারে।


1

জাভাস্ক্রিপ্টের সাথে এআরড্রোন ২.০ প্রোগ্রামিং করা অত্যন্ত মজাদার। এখানে নোড-এআর-ড্রোন লাইব্রেরি ব্যবহার করে কোনও ড্রোনকে উড্ডয়ন করে, ঘুরে বেড়ায়, একটি ফ্লিপ করবে, তারপরে অবতরণ করবে এমন একটি উদাহরণ এখানে :

var arDrone = require('ar-drone');
var client = arDrone.createClient();

client.takeoff();

client
  .after(5000, function() {
    this.clockwise(0.5);
  })
  .after(3000, function() {
    this.animate('flipLeft', 15);
  })
  .after(1000, function() {
    this.stop();
    this.land();
  });

ব্লগ পোস্ট নোডবটস - জেএস রোবোটিক্সের উত্থানের আলোচনায় জাভাস্ক্রিপ্টের সুবিধাগুলি সম্পর্কে কথা বলা হয়েছে, বিশেষত প্রাকৃতিক উপায়ে যে বাস্তব বিশ্বের বস্তু এবং ক্রিয়াকে শৃঙ্খলাবদ্ধ, সন্নিবিষ্ট প্রক্রিয়া হিসাবে মডেল করা যায়। ড্রোন অ্যানিমেট করার জন্য উপরের উদাহরণ কোডটি এইচটিএমএল উপাদান অ্যানিমেটেড করার জন্য jQuery ব্যবহারের সাথে খুব মিল দেখাচ্ছে:

$("#foo")
  .slideUp(300)
  .delay(800)
  .fadeIn(400);

আমি উত্তরটি আরও নির্দিষ্ট এবং আরও প্রসঙ্গে যুক্ত করার জন্য সম্পাদনা করেছি। সাহায্য করার জন্য ধন্যবাদ.
জন ওয়াইজম্যান

ধন্যবাদ জন, এটি একটি দুর্দান্ত সম্পাদনা, কেবল ধরণের জিনিস যা ভবিষ্যতের প্রুফ উত্তর দেয়।
মার্ক বুথ

0

এসপ্রুইনো নামে একটি প্রকল্পও রয়েছে যা স্বল্প শক্তি এআরএম মাইক্রোকন্ট্রোলারদের জন্য একটি জাভাস্ক্রিপ্ট দোভাষী। এটি জাভাস্ক্রিপ্টের জন্য একটি ছোট সি ++ দোভাষী, ক্ষুদ্র-জেএস প্রকল্পের পুনর্লিখন ।


0

অনলাইনে জাভাস্ক্রিপ্ট-ভিত্তিক রোবোটিক্স প্রকল্পগুলি অনুসন্ধান করা সহায়ক হতে পারে কারণ এই প্রশ্নটি জিজ্ঞাসা করার পর থেকেই জাভাস্ক্রিপ্ট-ভিত্তিক রোবোটিকস সম্প্রদায় দ্রুত বৃদ্ধি পাচ্ছে। উদাহরণস্বরূপ, https://burningservos.com এর পিছনে ব্লগার স্ক্র্যাচ থেকে একটি চতুষ্পদ রোবট তৈরির প্রক্রিয়াগুলি নথিবদ্ধ করেছে এবং ব্লগার মূল্যায়ন বা ব্যবহৃত হয়েছে এমন একাধিক লাইব্রেরি জাভাস্ক্রিপ্ট নিয়ে আলোচনা করেছে। এছাড়া এ "হার্ডওয়্যার" বিভাগে হয় সামান্য ত্রুটি (অথবা এমনকি Adafruit এবং Hackster.io যেখানে মানুষ তাদের জাভাস্ক্রিপ্ট-ভিত্তিক হার্ডওয়্যার প্রকল্প যেখানে আপনি লাইব্রেরি তারা ব্যবহৃত চেক আউট করতে পারেন হ্যাকিং ভাগ)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.