সুচিপত্র:

RPi-Zero IoT Event Indicator / Color Lamp: 6 ধাপ (ছবি সহ)
RPi-Zero IoT Event Indicator / Color Lamp: 6 ধাপ (ছবি সহ)

ভিডিও: RPi-Zero IoT Event Indicator / Color Lamp: 6 ধাপ (ছবি সহ)

ভিডিও: RPi-Zero IoT Event Indicator / Color Lamp: 6 ধাপ (ছবি সহ)
ভিডিও: Node-RED on Raspberry Pi for Relay/LED Light Control (IoT) 2024, জুলাই
Anonim
RPi-Zero IoT Event Indicator / Color Lamp
RPi-Zero IoT Event Indicator / Color Lamp
RPi-Zero IoT Event Indicator / Color Lamp
RPi-Zero IoT Event Indicator / Color Lamp
RPi-Zero IoT Event Indicator / Color Lamp
RPi-Zero IoT Event Indicator / Color Lamp

কোন অতিরিক্ত মাইক্রো-কন্ট্রোলার, এবং কোন HAT অ্যাড-অন মডিউল প্রয়োজন নেই RPi-Zero এটি সব করে। একটি RPi-Zero W ব্যবহার করা ভাল!

নমুনা ব্যবহার: ওয়েব সার্ভিস স্টেট ইনডিকেটর (উদা D DowJonesIndex ট্র্যাকিং), পলিটিক্যাল বা স্পোর্টস ইভেন্ট স্ট্যাটাস ইন্ডিকেটর, মুড লাইট, ট্র্যাক সেন্সর, আপনি এটির নাম দিন। ধাপ 6 এ ভিডিওটি দেখুন।

রাস্পবেরি-পাইতে শুধুমাত্র একটি হার্ডওয়্যার সমর্থিত PWM লাইন রয়েছে। এই প্রকল্পের জন্য 3 PWM লাইন প্রয়োজন, তাই আমি একটি সফটওয়্যার চালিত PWM 'c' লাইব্রেরি (https://wiringpi.com/reference/software-pwm-library/) ব্যবহার করেছি, যা ইতিমধ্যেই ইনস্টল করা উচিত।

আমি প্রক্রিয়াটিকে 2 টি প্রক্রিয়ায় বিভক্ত করেছি। এক, ইন্টারাপ্ট চালিত, প্রয়োজন অনুযায়ী LED তে কন্ট্রোল লাইন স্যুইচ করা, এর 'stdin' স্ট্রিম থেকে মার্চিং অর্ডার পাওয়া। অন্যটি একটি ইভেন্ট চালিত নোডজেএস সার্ভার যা সকেট আইও ব্যবহার করে। এটি প্রতিক্রিয়াশীলতা নিশ্চিত করার সময় হালকা ঝলকানি মত জিনিস প্রতিরোধ করা হয়। সংমিশ্রণটি সাধারণত CPU এর 5% এরও কম ব্যবহার করে। ক্রমাগত রঙ আপডেটের সময় (স্লাইডার এবং/অথবা অনেক ক্লায়েন্টের মাধ্যমে) এটি সহজেই 50% এর বেশি ব্যবহার করতে পারে (বিশেষ করে যখন Pi-Zero GUI- এ ব্রাউজার ব্যবহার করে)। মনে রাখবেন যে যখন একটি পরিবর্তন আসে, আপডেট বিজ্ঞপ্তিগুলি সমস্ত খোলা সকেট ক্লায়েন্টদের কাছে চলে যায়।

ধাপ 1: আপনার যা লাগবে

আপনার যা লাগবে
আপনার যা লাগবে
আপনার যা লাগবে
আপনার যা লাগবে
  • পাই-জিরো মাইক্রো-এসডি কার্ড, 8 জিবি প্রস্তাবিত। রাস্পবিয়ান-লিনাক্স বা NOOBS এর সাথে
  • RGB Led (আমি এটি ব্যবহার করেছি:
  • 3 প্রতিরোধক (পছন্দসই বর্তমান এবং/অথবা উজ্জ্বলতার উপর ভিত্তি করে মান, 1/8 ওয়াট)
  • একটি ওয়াইফাই, ইউএসবি ডংগল (উদা http https://www.ebay.com/itm/252018085448) অথবা এমনকি রাস্পবেরি পাই জেড-ডব্লিউ ব্যবহার করুন (অন্তর্নির্মিত ওয়াইফাই সহ)
  • একটি কেস (যেমন ছোট একটি: https://www.ebay.com/itm/131583579374 আরো স্থান সহ:
  • একটি ডিফিউজার (ছবিতে উদাহরণ দেখুন)
  • প্রয়োজন অনুযায়ী তার এবং অ্যাডাপ্টার।

Allyচ্ছিকভাবে, আপনি কীভাবে উপাদানগুলিকে সংযুক্ত করতে চান তার উপর নির্ভর করে

  • হেডার (https://www.ebay.com/itm/14186077616)
  • জাম্পার (https://www.ebay.com/itm/262235387520)
  • রাইট এঙ্গেল মাইক্রো-ইউএসবি অ্যাডাপ্টার (ব্লু ইউএসবি 2.0 ওটিজি আর)
  • মিনি ইউএসবি হাব, শুধুমাত্র সেটআপ পর্যায়ে ব্যবহার করা হয়

পদক্ষেপ 2: পাই-জিরো সেটআপ, এবং উন্নয়নের জন্য প্রস্তুতি

আপনার PiZero এর জন্য এই প্রাথমিক সেটআপটি অনুসরণ করুন, এটিকে উন্নয়নের জন্য প্রস্তুত করতে …

একবার আপনার NOOBS সেটআপ সহ একটি মাইক্রোএসডি কার্ড থাকলে:

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

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

উপরন্তু, আমি একটি রেজল্যুশন খুব কম ছিল। তাই আমি এই লাইনগুলো /boot/config.txt এ যোগ করেছি

অক্ষম_ ওভারস্ক্যান = 1

hdmi_group = 2 hdmi_mode = 58

Hdmi_mode = 58 আমার মনিটরের জন্য কাজ করে, আপনার অন্য কিছু প্রয়োজন হতে পারে।

দেখুন: make-raspberry-pi-use-full-resolution-Monitor এবং

raspberrypi.org/documentation/configuration/config-txt.md

Pi-Zero বুট করার পর GUI ইন্টারফেসে চলে যায়।

আমার মাইক্রোএসডি কার্ডের পূর্ণ আকার ব্যবহার করতে আমি রাস্পি-কনফিগ #1 'ফাইল সিস্টেম প্রসারিত করুন' নির্বাচনটি ব্যবহার করেছি। -config.md

এছাড়াও আমি #5 'আন্তর্জাতিকীকরণ বিকল্প' এর অধীনে এই সেটিংস পরিবর্তন করেছি

  • স্থান: en_US. UTF-8 UTF-8
  • টাইমজোন: আমেরিকা… লস_এঞ্জেলস
  • কীবোর্ড লেআউট: জেনেরিক 105-কী (Intl) পিসি… ইংরেজি (মার্কিন)

আমার জন্য গ্রেট ব্রিটেন কীবোর্ড স্ট্যান্ডার্ড (যে রাস্পবিয়ান প্রি-সেট আসে) আমার অনেক সম্পাদনাকে একটি বাস্তব কাজ করে তুলছিল।

আপনার জন্য উপযুক্তভাবে এই সেটিংস পরিবর্তন করুন। মনে রাখবেন যে 'raspi-config' এ নেভিগেট করার জন্য আপনাকে তীরচিহ্ন এবং ট্যাব কী ব্যবহার করতে হবে; এবং একটি নির্বাচনের পরে এটি প্রতিক্রিয়া দিতে খুব ধীর হতে পারে।

আমি ওয়াইফাই-ইউএসবি ডংলের সাথে ইন্টারনেটে সংযোগ করতে কোন সমস্যা পাইনি (আমি ২ টি ভিন্ন ব্যবহার করেছি)। আমাকে কেবল GUI এর উপরের ডানদিকে একটি পুল-ডাউন ব্যবহার করে আমার ওয়াইফাই অ্যাক্সেস কী-পাসওয়ার্ডটি প্রবেশ করতে হয়েছিল। একবার আমি এটি করলে এটি কোনও রিবুট/পাওয়ার-আপের পরে স্বয়ংক্রিয়ভাবে সংযুক্ত হবে।

এখন আমি সাধারণ উন্নয়নের জন্য প্রস্তুত ছিলাম।

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

ধাপ 3: উন্নয়ন পরিবেশ এবং সরঞ্জাম

উন্নয়ন পরিবেশ এবং সরঞ্জাম
উন্নয়ন পরিবেশ এবং সরঞ্জাম
উন্নয়ন পরিবেশ এবং সরঞ্জাম
উন্নয়ন পরিবেশ এবং সরঞ্জাম

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

Node.js সেটআপ করতে (ইভেন্ট-চালিত I/O সার্ভার-সাইড জাভাস্ক্রিপ্টিং সাপোর্ট) আমি নিম্নলিখিতটি করেছি …

sudo apt- আপডেট পান

sudo apt-nodejs npm ইনস্টল করুন

এই nodeJS প্যাকেজ যোগ করা (npm হল Nodejs প্যাকেজ ম্যানেজার)

npm এক্সপ্রেস ইনস্টল করুন

npm socket.io ইনস্টল করুন

তথ্যসূত্র:

www.npmjs.com/package/express দ্রুত, ন্যূনতম ওয়েব ফ্রেমওয়ার্ক

www.npmjs.com/package/socket.io সকেট.আইও রিয়েল-টাইম দ্বি-নির্দেশক ইভেন্ট-ভিত্তিক যোগাযোগ সক্ষম করে

ধাপ 4: হার্ডওয়্যার

হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার

ব্যবহৃত প্রতিরোধক মানগুলি সবই আলাদা, কারণ তিনটি এলইডি রঙের বিভাগের জন্য ভোল্টেজ ড্রপ এবং দক্ষতা আলাদা। জিপিআইও উচ্চ আউটপুট স্তরগুলি ছিল প্রায় 3.2 ভোল্ট। প্রতিটি এলইডি সেগমেন্ট পরীক্ষা করা হয়েছিল যাতে এটি 20ma এর কম এবং প্রায় 40ma কম একসাথে ব্যবহার করে (<50ma সর্বাধিক অনুমোদিত), যা PiZero সহজেই পরিচালনা করতে পারে। আমি যতটা সম্ভব আউটপুট উজ্জ্বলতা পেয়েছি, সরাসরি LED চালাচ্ছি; যা আমার প্রয়োজনে প্রচুর। উচ্চতর স্রোত চালানোর জন্য, অনেক বেশি উজ্জ্বল আউটপুটের জন্য, ইন্টারমিডিয়েট ড্রাইভ ট্রানজিস্টরগুলি একটি সাধারণ অ্যানোড LED এর সাথে ব্যবহার করা যেতে পারে যার 5v লাইনের সাথে তার অ্যানোড সংযুক্ত থাকে। আমার জন্য আরো ভালো পছন্দ হতো।

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

একটি ডিফিউজারের জন্য, আমি একটি পিং-পং বলের সুপারিশ করি (আপনার 5-8-10 মিমি LED ertোকানোর জন্য যথেষ্ট বড় একটি গর্ত ড্রিল করা সহজ)। অথবা একটি LED লাইট বাল্বের উপরের অংশটি কেটে দিন (যেটি একটি প্লাস্টিক ডিফিউজার ব্যবহার করে)। এই জন্য একটি লাইন চিহ্নিত করুন, একটি সূক্ষ্ম বিন্দু শার্পী, যেখানে আপনি কাটতে চান, এবং একটি পাতলা কাট-অফ সংযুক্তির সাথে একটি ড্রেমেলের মতো সরঞ্জাম ব্যবহার করুন। আপনি যদি চান, একটি ছোট ছোট কাচের কাঁচের জার বা পানীয়ের গ্লাস ব্যবহার করা যেতে পারে। একবার আপনি একটি ডিফিউজারে স্থির হয়ে গেলে, কেসটির শীর্ষে এটি আঠালো করুন।

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

ধাপ 5: প্রকল্প সফটওয়্যার

প্রকল্প সফটওয়্যার
প্রকল্প সফটওয়্যার

আমি দুটি প্রোগ্রাম ব্যবহার করেছি, একটি Node.js প্রসেস একটি শিশু প্রক্রিয়ার সাথে কথা বলার জন্য এটি stdin ডেটা স্ট্রীমের মাধ্যমে। এর ফলে তারা প্রত্যেকে যা করতে পারে তা করতে পারে এবং তাদের নিজস্ব গতিতে স্বাধীন প্রক্রিয়া হিসেবে কাজ করতে পারে।

এখানে আমি যা করেছি:

NodeJS সার্ভার-সাইড সেটআপ:

সিডি

mkdir node_rgb cd node_rgb mkdir পাবলিক

'।/node_rgb/public' ডিরেক্টরির মধ্যে 'index.html' এবং 'style.css' রাখুন 'rgbDriver.c' এবং 'rgb_main.js' '~/node_rgb' ডিরেক্টরিতে

সি প্রক্রিয়া 'rgbDriver' কম্পাইল/তৈরি করুন:

cd ~/node_rgb

cc -o rgbDriver rgbDriver.c -lwiringPi -lpthread

সমতুল্যতা ডাউনলোড এবং প্রসারিত করা

আপনার পাই-জিরোতে node_rgb.tgz (নীচে) আপনার হোম ডিরেক্টরিতে (~ pi) ডাউনলোড করতে আপনি নিম্নলিখিত 3 টির মধ্যে একটি করতে পারেন:

  1. আপনার পাই-জিরোর জিইউ-তে ব্রাউজার থেকে ডাউনলোড করুন ফাইলটি ove pi/ এ সরান
  2. আপনার সাথে সংযুক্ত একটি টার্মিনাল উইন্ডোতে Pi-Zero: cd ~ piwget

    mv FZBF9BDIL6VBHKF.tgz rgb_node.tgz

  3. আপনার ডেস্কটপ কম্পিউটারে একটি ব্রাউজার থেকে ডাউনলোড করুন। Pi-Zero এ ~ pi ডিরেক্টরিতে কপি করার জন্য WinSCP ব্যবহার করুন

উপরে #1 2 বা 3 করার পর …

সিডি

tar -xzvf node_rgb.tgz tree node_rgb… node_rgb ├── public │ ├── Dow_Jones_Index.html ├── index.html └── style.css ├── rgbDriver ├── rgbDriver.c ├── rgb_main js ├── start_rgb ├── kill_rgb └── track_dji

ফলে এক্সিকিউটেবল (উপরে থেকে) 'rgbDriver' Node.js ইন্টারফেস প্রক্রিয়া থেকে স্বাধীনভাবে ব্যবহার করা যেতে পারে।

এই ড্রাইভার এবং হার্ডওয়্যার কাজ করছে কিনা তা যাচাই করার জন্য, তিনটি মান (0-255 এর) ফিড সেট, একটি স্থান দ্বারা পৃথক করে, ড্রাইভারকে। মত 'ইকো 255 0 0 |./rgbDriver 'লাল বা' echo 0 255 0 |./rgbDriver 'সবুজের জন্য। লক্ষ্য করুন যে "./" ওএসকে আমাদের প্রোগ্রাম 'rgbDriver' বর্তমান ডিরেক্টরিতে খুঁজে পেতে বলে। যখন আপনি ড্রাইভারকে থামানোর জন্য একটি ^c (cntl-c) জারি করেন তখন নেতৃত্ব থাকতে পারে বা নাও থাকতে পারে। অন্যথায়, আপনি পারস্পরিকভাবে এর মানগুলি খাওয়াতে পারেন। কমান্ড লাইন থেকে টাইপ করার চেষ্টা করুন, এই লাইনগুলি একের পর এক এবং LED দেখুন।

./rgbDriver

0 255 0 100 0 100 255 255 0… ইত্যাদি…। গ

নিশ্চিত হোন যে আপনার এই দুটি প্রক্রিয়া সমান্তরালভাবে চলছে না।

Node.js সার্ভার সহ সম্পূর্ণ সফ্টওয়্যার অ্যাপ্লিকেশন স্যুট চালু করতে এই কমান্ডটি ব্যবহার করুন:

sudo নোড rgb_main.js

তারপর যখন আপনি Node.js সার্ভার বন্ধ করতে চান তখন cntl-c ব্যবহার করুন। এটি দিয়ে চালু করুন

সুডো নোড rgb_main.js &

এটি পিছনের মাঠে চালানোর জন্য, কিন্তু তারপর এটি বন্ধ করার জন্য আপনাকে একটি 'sudo kill -9 pid' কমান্ড ব্যবহার করতে হবে। যদি এই কমান্ডটি আপনার কাছে এলিয়েন মনে হয়, তাহলে এই কমান্ডগুলির আউটপুট পর্যালোচনা করুন: 'ম্যান কিল' এবং 'ম্যান সুডো'।

আপনার ডেস্কটপ, ট্যাবলেট বা ফোনে একটি ব্রাউজার ব্যবহার করুন, যা আপনার স্থানীয় নেটওয়ার্কের সাথে সংযুক্ত। Http: // raspberrypi: 8080/অথবা যদি এটি কাজ না করে তবে ডিভাইসের আইপি ঠিকানা ব্যবহার করুন (cmd 'ifconfig' থেকে প্রাপ্ত) 192.168.1.15 প্লাস পোর্ট স্পেসিফিকেশন: 8080 বা যদি পাই-জিরো ব্যবহার করে GUI: localhost: 8080 কাজ করবে।

আরজিবি স্লাইডারগুলি পরিচালনা করুন, যে পৃষ্ঠায় আসে এবং আরজিবি-এলইডি বাতি অনুসরণ করে দেখুন।

অন্যান্য সহায়ক কমান্ডগুলি মনে রাখবেন যে যদি আপনি এক সময়ে একাধিক 'rgbDriver' চালাতে থাকেন তবে আপনি অনির্দেশ্য আচরণ পেতে পারেন। যদি আপনি rgb_main.js এর একটি দ্বিতীয় কপি চেষ্টা করে চালান তবে এটি ত্রুটি হবে।

এই কমান্ডটি সমস্ত সম্পর্কিত প্রক্রিয়াগুলির তালিকা দেবে:

ps aux | grep rgb

এই কমান্ডটি 'rgbDriver' চাইল্ড প্রসেস সহ সমস্ত নোডজেএস প্রসেসকে হত্যা করবে:

sudo ps aux | grep নোড।*rgb | awk '{print "sudo kill -9" $ 2}' | | শ

একা একা অপারেশন

আপনার পছন্দের সম্পাদক (যেমন nano।/. Bash_profile) ব্যবহার করে পাই-জিরো Node.js সার্ভার অ্যাপটি চালু করার জন্য, নিম্নলিখিত লাইনগুলি টাইপ করুন এবং ~/.bash_profile এ সংরক্ষণ করুন

সিডি নোড_আরজিবি

সুডো নোড rgb_main.js &

টার্মিনাল উইন্ডো খোলার সময় বিরক্তিকর ত্রুটি বার্তাগুলি পেতে থেকে 'start_rgb' ফাইলে শেল স্ক্রিপ্টের মতো শর্তাধীন কোডিং ব্যবহার করুন

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

এটি একটি ইভেন্ট মনিটর হিসাবে ব্যবহার করা

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

যদি আপনি আপনার ডিভাইস ব্যবহার করতে চান, যেমন আমি, একটি নিবেদিত, একা একা, ডো ইনডেক্স পরিবর্তন সূচক lines/.bash_profile ফাইলের শেষে এই লাইনগুলি যোগ করুন, অথবা কাঙ্ক্ষিত SSH হিসাবে এবং দ্বিতীয় কমান্ড লাইন ইস্যু করুন । যদি আপনি পরবর্তীতে রিমোট কন্ট্রোল 'কিল -9' ব্যবহার করতে চান তাহলে ফলস্বরূপ এপিফানি -ব্রাউজার প্রক্রিয়া।

ঘুম 20

epiphany-browser --display =: 0.0 localhost: 8080/Dow_Jones_Index.html &

সূচকটি একটি হালকা ধূসর আলোকিত করবে ০ এর মান দিয়ে। এটি প্রায় ২৫০ তে উজ্জ্বল বিশুদ্ধ সবুজ।

আপডেট মে 2018

আমি একটি নতুন ওয়েব পেজ তৈরি করেছি (SolarStorm_devCon.html,.txt ফাইল হিসেবে সংযুক্ত,.html ফাইল আপলোড না হওয়ার কারণে) যা জিওম্যাগনেটিক ঝড়ের তথ্য সংগ্রহ করে (যা একটি বিধ্বংসী CME, EMP এর পূর্বাভাস দিতে পারে) এবং এটি একটি রঙ উপস্থাপন করতে ব্যবহার করে স্কেল প্রতিফলিত করে জিও-স্টর্ম 'ডেভকন' সূচক। ইলেক্ট্রোম্যাগনেটিক পালস (ইএমপি) এর ফলে মহাকাশের আবহাওয়া, সম্ভবত সৌর জ্বলন বা করোনাল ভর ইজেকশন (সিএমই) এর ফলে বিপর্যয়ের সম্ভাবনা নির্দেশ করে। এটি ব্যবহার করুন যেমন আপনি "Dow_Jones_Index.html" ব্যবহার করতেন।

ধাপ 6: রিমোট ওয়েব পেজ কন্ট্রোল

Image
Image

এই মুহুর্তে আপনি আপনার স্থানীয় নেটওয়ার্কে যে কোন জায়গা থেকে আপনার IOT কালার ল্যাম্পকে নিয়ন্ত্রণ করতে পারেন। পাবলিক ইন্টারনেটে কিভাবে এটি দৃশ্যমান করা যায় তা এই নির্দেশের অংশ নয়। যদি আপনি আপনার ডিভাইসের জন্য একটি পাবলিক আইপি সেটআপ করেন, তাহলে আপনাকে আপনার পৃষ্ঠাগুলির জাভাস্ক্রিপ্টে খোলা সকেট কমান্ডে সেই আইপি ব্যবহার করুন (যেমন ~/node_rgb/public/index.html)

ডাউ জোন্স ইনডেক্সে দিনের পরিবর্তনের জন্য আমি আমার পাই-জিরো আইওটি ডিভাইসটিকে রিয়েল-টাইম কালার ইন্ডিকেটর হিসেবে ব্যবহার করার পরিকল্পনা করছি। আমি এমন একটি পৃষ্ঠা তৈরি করেছি যা এটি করে, যা google.com/finance থেকে json ডেটা পায়। আমি এই ছোট IOT ডিভাইসের জন্য বিস্তৃত ব্যবহার প্রদর্শন করার জন্য আরও কয়েকটি ওয়েব পেজ তৈরি করেছি। পাবলিক ইন্টারনেটে আমার PiZero রাখার চেয়ে, আমি আমার বিদ্যমান পাবলিক ফেসিং ওয়েব সার্ভারে পেজ হোস্ট করেছে (বর্তমানে.8 71.84.135.81 ওরফে: https://raspi.ddns01.com/ যখন আমার ফ্রি ডায়নামিক ডোমেইন নেম সার্ভার কাজ করছে), যা একটি আসল সংস্করণ বি রাস্পবেরি-পাই ।

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

এখানে সেই পৃষ্ঠাগুলি রয়েছে যা আমি আমার পাই-জিরো আইওটি আলো ডিভাইসটি পরীক্ষা এবং পরিচালনা করতে ব্যবহার করেছি। যদি আপনি এই পৃষ্ঠাগুলি (https://71.84.135.81/iot/rgbLamp/ ওরফে https://raspi.ddns01.com/iot/rgbLamp/ অথবা সেই পৃষ্ঠায় ফ্রেম করা যেকোনো একটি পৃষ্ঠা) আনেন তাহলে ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট হবে আপনার তৈরি আইওটি লাইট চালান (এটি এই ইউআরএল "192.168.1.41:8080" এ চলছে) যদি আপনি চান তবে আপনি সেই পৃষ্ঠাগুলির যে কোনও একটির উৎস অনুলিপি করতে পারেন এবং আপনার পছন্দ অনুসারে পরিবর্তন করতে পারেন।

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

একটি পৃষ্ঠা হল একটি সাধারণ বোতাম নিয়ন্ত্রিত ট্রাফিক লাইট।

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

তারপরে আমার পৃষ্ঠাটিকে ডাউ জোন্স ট্র্যাকিং সূচকে পরিণত করার জন্য আমি যে পৃষ্ঠাটি ব্যবহার করব তার অনুরূপ পৃষ্ঠা রয়েছে। স্লাইডার এবং বোতামগুলি কেবল প্রদর্শনের উদ্দেশ্যে DJI ডেমো পৃষ্ঠায় রয়েছে। এই পৃষ্ঠার উৎসে একটি সবুজ স্ক্রিন অনুপ্রাণিত ইমেজ পুনরায় রঙ করার জন্য আমার তৈরি কোড রয়েছে; পর্যাপ্ত মন্তব্যের সাথে আপনি এটিকে দরকারীও মনে করতে পারেন।

এই 4 টি পৃষ্ঠার মধ্যে প্রথমটি (পাই-জিরো ভিত্তিক index.html পৃষ্ঠা সহ) সার্ভার আপডেট বার্তাগুলি শোনে এবং সেই অনুযায়ী রিফ্রেশ করে। বাকি সব শুধু সার্ভারে পাঠান।

প্রস্তাবিত: