লোকেরা কেন একটি মাইক্রোকন্ট্রোলারে ওয়েব সার্ভার তৈরি করে?


13

আমি মাইক্রোকন্ট্রোলার ব্যবহার করে ওয়েব সার্ভার তৈরির লোকগুলিতে এসেছি, কেউ কেন এমন করবে? তার অ্যাপ্লিকেশন কি কি? এই জাতীয় সার্ভার তৈরি করার জন্য সি ভাষার পাশাপাশি কোন দক্ষতার সেট প্রয়োজন? আমি এই ক্ষুদ্র সার্ভারগুলিতে এত ছোট র‍্যাম থাকা সম্পর্কে বেশ কৌতূহলী।


এই প্রশ্নগুলি খুব বিস্তৃত, একটি নির্দিষ্ট প্রযুক্তিগত প্রশ্ন উপর দৃষ্টি নিবদ্ধ করার চেষ্টা করুন।
কর্টুক

10
পুনরায় খুলতে ভোট। এই প্রশ্নটি যথেষ্ট ভাল।
নিক আলেক্সেভ

"আমরা প্রত্যাশা করি তথ্য, তথ্যসূত্র বা নির্দিষ্ট দক্ষতার দ্বারা উত্তরগুলি সমর্থন করা আশা করি তবে এই প্রশ্নটি সম্ভবত বিতর্ক, যুক্তি, পোলিং বা বর্ধিত আলোচনার জন্য অনুরোধ করবে।"
ফোটন

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

@ কোয়ান্টাম 231 দয়া করে আপনার একটি নতুন প্রশ্ন থাকলে একটি নতুন প্রশ্ন জিজ্ঞাসা করুন। :-)
অনিন্দো ঘোষ

উত্তর:


15

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

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

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

এখন পর্যন্ত আমি এই সমস্ত ক্ষেত্রে একটি পিক 18 ব্যবহার করেছি। যদিও 4 কেবিট কম র‌্যামের সীমাবদ্ধতা রয়েছে, আপনি এখনও অনেক কিছু করতে পারেন। ROM স্থান এমনকি একটি সমস্যার কাছাকাছি ছিল না। PIC 18 এর জন্য আমার নেটওয়ার্ক স্ট্যাক ( www.ebrainc.com/pic/dload.htm এ আমার PIC বিকাশ সরঞ্জামসমূহের রিলিজে উপলব্ধ ) 18F67J60 এর রম স্পেসের কেবলমাত্র একটি ছোট অংশ গ্রহণ করে, যেহেতু এই জাতীয় জিনিসগুলির জন্য একটি দুর্দান্ত অংশ এটিতে একটি সম্পূর্ণ ইথারনেট ম্যাক / পিএইচওয়াই অন্তর্নির্মিত রয়েছে one একটি ক্ষেত্রে আমার কাছে পিআইসি 6 টি একযোগে টিসিপি সংযোগগুলির জন্য একটি সার্ভার হিসাবে রয়েছে। লোকেরা ভাবেন বলে মনে হচ্ছে এটি এতটা ভারী ওজন নয়।


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

বিজ্ঞপ্তি: আমি "install_picdev.exe" ডাউনলোড করার চেষ্টা করেছি তবে ফায়ারফক্স (বা উইন্ডোজ সুরক্ষা প্রয়োজনীয়তা) বলেছে এটি ম্যালওয়্যার। এটি খুলতে যাচ্ছে না।
অহোজেন

14

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

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

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

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


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

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

4

অনেক নেটওয়াক ডিভাইস কনফিগারেশন প্যারামিটারগুলি পরীক্ষা এবং সেট করার জন্য, ডিভাইসের স্থিতি পরীক্ষা করা ইত্যাদির জন্য একটি ওয়েব সার্ভার সরবরাহ করে example উদাহরণস্বরূপ, আমি আমার সিস্টেমে রাউটারটি কনফিগার করতে পারি আমার ব্রাউজারটিতে http:///192.168.0.254(যদি আমি সঠিকভাবে মনে করি ...) poin


3
  1. কারণ তারা পারে।

  2. কারণ এগুলি খুব কম শক্তি হতে পারে। 1W এর নীচে যেমন কিছু শীর্ষ পয়েন্ট থাকে। অর্ধ এক এম্প। বড় কম্পিউটারগুলির বিপরীতে ব্যাটারি এবং সৌর শক্তি ব্যবহারিক।

  3. শারীরিক আকার। একটি মাইক্রোকন্ট্রোলার + ওয়াইফাই বা ইথারনেট চিপ একটি থাম্ব ড্রাইভের আকার হতে পারে।

  4. খরচ। এর জন্য উপযুক্ত একটি মাইক্রোকন্ট্রোলার একক ডলার পরিসরে থাকতে পারে। নেটওয়ার্কিং অংশগুলি প্রায় সস্তা।

  5. ডিসপোজেবল। আপনি এগুলি একটি বন্ধ প্রকল্পে রাখতে পারেন এবং যদি তারা মারা যায় তবে এটি কোনও খারাপ কম্পিউটারের মতো খারাপ নয়।

  6. শুধু কারণ.

দশ হাজার ডলার (বিনামূল্যে 100 ডলার) এর জন্য সম্পূর্ণ বিকাশিত কম্পিউটারগুলির আবির্ভাবের সাথে (shrevaplugs, রাস্পবেরি পাই, স্মার্টফোনগুলি, লিনাক্স থাম্ব ড্রাইভগুলি, অ্যান্ড্রয়েড স্টিকস, রুটারস), আপনি সম্ভবত ভবিষ্যতে মাইক্রোকন্ট্রোলার ওয়েব সার্ভার কম দেখতে পাবেন, কারণ সেখানে রয়েছে ড্রাইভিং ফ্যাক্টর হিসাবে আর COST এবং আকার নেই। একটি 35 ডলার রাস্পবেরি পাই বা 45 ডলার বিগলবোন ব্যয়, পারফরম্যান্স এবং সেটআপের স্বাচ্ছন্দ্যে একটি আরডুইনো + ইথারনেট বা ওয়াইফাই ঝালকে ছাড়িয়ে যেতে পারে। এটি আরডুইনোর চেয়ে সবেমাত্র বড়। আরডুইনো এটির উপর যা করতে পারে কেবল তা হ'ল বিদ্যুৎ দক্ষতা ০.০ ডাব্লু (এটিএমটিএজিএ দ্বারা সম্পূর্ণ কম্পিউটারে বিদ্যুৎ থেকে ০.০ এমএ থেকে ৫০ এমএ স্লিপ [৫ ভি, ১m মেগাহার্টজ, ১০০% সিপিইউ]) ইথারনেট / এইচডিএমআই / ইউএসবি ছাড়া আরপিআইয়ের জন্য বনাম 4 ডাব্লু নিষ্ক্রিয় সময়ে ব্যবহার।

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


মাইক্রোকন্ট্রোলারদের টেক্সাস ইনস্ট্রুমেন্টস এমএসপি 430 পরিবারও বিবেচনা করুন: ওয়েব সার্ভিংয়ের জন্য খুব কম বিদ্যুৎ খরচ এবং পর্যাপ্ত ক্ষমতা। 16 বিট প্রক্রিয়াজাতকরণ। কিছু বিকল্পের মধ্যে বক্সের বাইরে ওয়্যারলেস নেটওয়ার্কিং অন্তর্ভুক্ত রয়েছে। আকার: ওয়্যারলেস সংযোগ সহ একটি সম্পূর্ণ বোর্ড একটি থাম্ব ড্রাইভে ফিট করতে পারে।
অনিন্দো ঘোষ

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

1
@ আনশুল আপনাকে HTTP সার্ভারের নির্দিষ্টকরণের কোডিং করতে হবে এবং আপনি কোন নেটওয়ার্ক আইসি বেছে নেবেন তার উপর নির্ভর করে আপনার একটি নেটওয়ার্ক স্ট্যাক (ip / tcp / udp) বা অনুরূপ দরকার।
পাসেরবি

2

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

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

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

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

ওয়েবএসিসি চিপ ওয়েবএসি কেবল

সফটওয়্যার

মূল সফ্টওয়্যারটির জন্য কিছু কোড পরিসংখ্যান। আমি মোটামুটি অন-চিপ 64 বাইট "ডেটা ইপ্রোম" অন্তর্ভুক্ত করতে ভুলে গিয়েছিলাম, যার ফলে টিবিটিএফ-তে উদ্ধৃত 1010 বাইট চিত্র পাওয়া গেছে।

Startup       36 bytes
Serial       179
SLIP          91
IP           144
ICMP          47
TCP          188
Checksum     132
Application  257
Total       1074 bytes

Comprising:
  454 instructions
  912 instruction bytes
  162 data bytes
 2.01 bytes/instruction average

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

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


2

এর অন্যতম কারণ চ্যালেঞ্জের জন্য। আরও তাই যদি আপনি মাইক্রোকন্ট্রোলার বোর্ড বিকাশ করেন এবং / অথবা আপনার নিজের সফ্টওয়্যার লিখেন।


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

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