সুচিপত্র:

[১৫ মিনিট] উইজলি ক্লক / হু হোম ইন্ডিকেটর - TR -064 (বিটা) এর উপর ভিত্তি করে: 4 টি ধাপ (ছবি সহ)
[১৫ মিনিট] উইজলি ক্লক / হু হোম ইন্ডিকেটর - TR -064 (বিটা) এর উপর ভিত্তি করে: 4 টি ধাপ (ছবি সহ)

ভিডিও: [১৫ মিনিট] উইজলি ক্লক / হু হোম ইন্ডিকেটর - TR -064 (বিটা) এর উপর ভিত্তি করে: 4 টি ধাপ (ছবি সহ)

ভিডিও: [১৫ মিনিট] উইজলি ক্লক / হু হোম ইন্ডিকেটর - TR -064 (বিটা) এর উপর ভিত্তি করে: 4 টি ধাপ (ছবি সহ)
ভিডিও: বাংলাদেশের সরকার প্রধানেরা যেভাবে ক্ষমতায় এলেন ও গেলেন | Politics of Bangladesh | BD Elections | 2024, নভেম্বর
Anonim
Image
Image
[১৫ মিনিট] উইজলি ক্লক / হু হোম ইন্ডিকেটর - TR -064 (বিটা) এর উপর ভিত্তি করে
[১৫ মিনিট] উইজলি ক্লক / হু হোম ইন্ডিকেটর - TR -064 (বিটা) এর উপর ভিত্তি করে

আপডেট: ধাপ 3 দেখুন।

দীর্ঘ কাহিনী (TL; DR নিচে): কিছু সময় আগে আমি আমার কম্পিউটারে একটি ছোট ব্যাশ-স্ক্রিপ্ট লিখেছিলাম যা নিবন্ধিত ডিভাইসের জন্য নেটওয়ার্ক স্ক্যান করবে এবং তাদের হোস্টনামগুলিকে সংশ্লিষ্ট নামের তালিকার সাথে তুলনা করবে। যখনই একটি ডিভাইস লগ-ইন বা নেটওয়ার্ক আউট হবে আমি একটি বিজ্ঞপ্তি পেতে চাই। এইরকম আমার একটি ধারণা হবে যে বাড়িতে কে আছে (তারা কোন খাবারে যোগ দিতে চায় কিনা তা জিজ্ঞাসা করার জন্য বাড়িতে কে আছে তা জানা কেবল ভাল নয়, তবে এটি আপনাকে অস্বস্তিকর পরিস্থিতি এড়াতেও সাহায্য করতে পারে)। সমস্যা হল, এই পদ্ধতিটি খুব নির্ভরযোগ্য নয়। দুর্ভাগ্যবশত কিছু ডিভাইস পিংয়ের জবাব দেয় না (যেমন স্মার্টফোন) এবং কিছু পাওয়ার-সেভ মোডে যেতে পারে বলে মনে হয় এইভাবে nmap এর মতো কমান্ড দিয়ে নির্ভরযোগ্যভাবে সনাক্ত করা যায় না। ডিভাইসটি নেটওয়ার্ক ছাড়ার ঘোষণা দেওয়ার আগে আমি অন্তত 10 টি নেতিবাচক প্রয়োজনের মাধ্যমে এটি কাটিয়ে ওঠার চেষ্টা করেছি। সব মিলিয়ে এটি কাজ করেছে, কিন্তু ধীরে ধীরে, অবিশ্বাস্যভাবে এবং খুব সুন্দরভাবে নয়। এছাড়াও আমি আমার কম্পিউটার না খুলে কে বাসায় আছে তা পরীক্ষা করতে সক্ষম হতে চেয়েছিলাম তাই আমি এই ESP8266 গুলি চারপাশে পড়ে ছিলাম - এবং তাদের সাথে খেলতে চেয়েছিলাম কিন্তু আমি 10.120.124.812 তম ইএসপি-ভিত্তিক আবহাওয়া স্টেশন বা এই ধরনের নির্মাণ করতে চাইনি (কেন আপনি আপনার ক্রেপি ± 2 ° C থার্মোমিটার দিয়ে আবহাওয়া পর্যবেক্ষণ করতে চাইবেন যখন আপনি শুধু কিছু ওয়েবসাইট পরিদর্শন করতে পারেন?)। তাই পরিকল্পনা করা হয়েছিল। দুর্ভাগ্যক্রমে দেখা যাচ্ছে যে ইএসপি সঠিকভাবে পিংয়ের জন্য সজ্জিত নয় বলে মনে হচ্ছে (যা শুরু করা খারাপ ছিল, মনে রাখবেন?) একটি সম্পূর্ণ বিকশিত নেটওয়ার্ক স্ক্যান করতে দিন। আমি এর জন্য কিছু লাইব্রেরি লেখার কথা ভেবেছিলাম - কিন্তু যেহেতু আমার C ++ খুব সীমিত, এটি আমার প্রথম ESP- প্রজেক্ট এবং আমি নেটওয়ার্ক স্টাফের সাথে প্রতিভাশালী নই অথবা আমি সেই ধারণাটি বাতিল করে দিয়েছি কিছু গবেষণা করার পর, আমি জানতে পেরেছি যে, আমার রাউটার (ব্র্যান্ড Fritz! Box) আসলে একটি API আছে! হ্যাঁ!!!! প্রোটোকলের নাম TR-064। এইরকম একটি অনুপ্রেরণামূলক নাম, ঠিক আছে? বিষয়টির উপর কিছু গবেষণা করে, আমি অনলাইনে একটি (বরং ভয়াবহ) ডকুমেন্টেশন পেয়েছি। এটি কাজ করতে আমার কিছু সময় লেগেছে। আমি পরের দিনগুলিতে আরও বেশি নির্দেশনা পোস্ট করতে পারি (এবং ব্রাউজার অ্যাডন ব্যবহার করে এই API এর সাথে কীভাবে যোগাযোগ/পরীক্ষা করা যায়)। একবার আমি API বুঝতে পেরেছি, আমি আমার ESP থেকে এটি ব্যবহার শুরু করেছি। দীর্ঘ কাহিনী সংক্ষিপ্ত: আমি একটি হাঁস-টেপ-এবং-ডব্লিউডি 40 সমাধান পেয়েছিলাম এবং আমি যা চেয়েছিলাম তা করেছি (সংযুক্ত ডিভাইসগুলির জন্য এপিআই জিজ্ঞাসা করা, তাদের ম্যাক-ঠিকানাগুলির তালিকার সাথে তুলনা করুন এবং সেই অনুযায়ী এলইডি স্যুইচ করুন) কিন্তু আমি আরও শক্তিশালী চাইছিলাম এবং নমনীয় সমাধান এবং এই API এর অফার করার জন্য আরও অনেক কিছু আছে (আপনি সেটিংস পরিবর্তন করতে পারেন (ওয়াইফাই চালু/বন্ধ করতে পারেন, পাসওয়ার্ড পরিবর্তন করতে পারেন, অতিথি ওয়াইফাই খুলতে/বন্ধ করতে পারেন, সিগন্যাল পাওয়ার পরিবর্তন করতে পারেন), রাউটার পুনরায় চালু করুন, সংযোগের গতি জিজ্ঞাসা করুন,…) - তাই আমি একটি সর্বজনীন TR -064 লাইব্রেরি তৈরির সিদ্ধান্ত নিয়েছি! দুর্দান্ত কাজ করে, এখনও কোনও দুর্দান্ত আবাসন নেই (আরে - শিরোনামে বিটা লক্ষ্য করেছেন?)। রাউটারের সাথে যোগাযোগের জন্য SOAP- প্রোটোকল ব্যবহার করে। এটি করার জন্য Arduino লাইব্রেরি লিখেছেন। প্রয়োজনীয় জ্ঞান • বেসিক Arduino/ESP জ্ঞান • যদি আপনি আপনার ESP এর সাথে একটি ব্লিঙ্ক উদাহরণ একত্রিত করেন, তাহলে আপনি ঠিক থাকবেন! কাজে আসুন, যদি আপনি ব্রেডবোর্ডের মঞ্চ থেকে বেরিয়ে যেতে চান • কিছু 3D নকশা একটি/অথবা কাঠের কাজ হাউজিংগিথুব প্রকল্পের লিঙ্কের কাজে আসতে পারে [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] দ্রুত রেফারেন্সের জন্য।

সরবরাহ

  • ESP8266 বা ESP32 ডেভেলপমেন্ট-বোর্ডে বা অন্যান্য প্রোগ্রামারের সাথে (2 ~ 6 €)
  • ইউএসবি কেবল প্রোগ্রামারকে ফিট করে
  • পাওয়ার অ্যাডাপ্টার (যেমন ইউএসবি বা ব্যাটারি ~ 2 €)
  • কয়েকটি LEDs এবং প্রতিরোধক (~ 1 €)
  • (আবরণ)

=> ন্যূনতম ডিজাইনের জন্য প্রায় 4-6। এর মানে আমার জন্য, যে আমি সহজেই বাড়ির চারপাশে কয়েকটা ঝুলিয়ে রাখতে পারি। যদি আপনি অলস হন, আপনি অন্তর্ভুক্ত LED এর সাথে একটি উন্নয়ন-বোর্ডও ব্যবহার করতে পারেন (বিস্তারিত জানার জন্য ধাপ 4 দেখুন)।

ধাপ 1: আপনার রাউটার সেট আপ করুন (alচ্ছিক, কিন্তু পরামর্শ দেওয়া হয়েছে)

আপনার রাউটার সেট আপ করুন (alচ্ছিক, কিন্তু পরামর্শ দেওয়া হয়েছে)
আপনার রাউটার সেট আপ করুন (alচ্ছিক, কিন্তু পরামর্শ দেওয়া হয়েছে)
আপনার রাউটার সেট আপ করুন (alচ্ছিক, কিন্তু পরামর্শ দেওয়া হয়েছে)
আপনার রাউটার সেট আপ করুন (alচ্ছিক, কিন্তু পরামর্শ দেওয়া হয়েছে)

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

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

যাই হোক, এখানে আমরা যাচ্ছি:

  1. আপনার পছন্দের ব্রাউজারের url-bar এ fritz.box লিখে বাক্স লিখুন।
  2. একটি নতুন FRITZ তৈরির জন্য পৃষ্ঠাটি সন্ধান করুন! বক্স ব্যবহারকারী (এটি আপনাকে সিস্টেমের অধীনে থাকা উচিত, যদি আপনি এটি খুঁজে না পান তবে আপনার ডিভাইস আপডেট করার চেষ্টা করুন)।
  3. ছবিতে যেমন দেখছেন তেমন একটি নতুন অ্যাকাউন্ট তৈরি করুন (ভিন্ন ব্যবহারকারীর নাম/পাসওয়ার্ড ব্যবহার করে!)।
  4. প্রস্থান.

ধাপ 2: কোড

Image
Image
হার্ডওয়্যার (বিটা)
হার্ডওয়্যার (বিটা)
  1. আপনি গিথুব থেকে লাইব্রেরি পেতে পারেন।

  2. উদাহরণে আপনি home-indicator.ino নামে একটি ফাইল পাবেন, যা এই প্রকল্পের কোড। আপনার arduino IDE প্রজেক্ট হোম ফোল্ডারে উদাহরণ ফোল্ডার এবং একই ফোল্ডারে লাইব্রেরি ফোল্ডারে অন্য ফোল্ডার রাখুন।
  3. (পুনরায়) আপনি IDE শুরু করুন।
  4. IDE তে home-indicator.ino খুলুন এবং আপনার সেটিংস লিখুন। এটি কোথায় যায় তা বেশ স্পষ্ট হওয়া উচিত। তোমার যদি কোনো প্রশ্ন থাকে তবে আমাকে জানাও!
  5. এখন আপনি এটি কম্পাইল করতে পারেন এবং আপনার ESP এ স্থানান্তর করতে পারেন!

ধাপ 3: হার্ডওয়্যার (বিটা)

হার্ডওয়্যার (বিটা)
হার্ডওয়্যার (বিটা)
হার্ডওয়্যার (বিটা)
হার্ডওয়্যার (বিটা)
হার্ডওয়্যার (বিটা)
হার্ডওয়্যার (বিটা)

হ্যাঁ … এই ধাপ, যেখানে আমাকে এখনও আরও কিছু কাজ করতে হবে। কিন্তু আমি অনুমান করি যে ওয়েবে যথেষ্ট পরিমাণে কিছু আছে যা খুঁজে বের করা যায়:) ছবিগুলির মতো সেটআপটি জিপিআইও {5, 4, 0, 2} এর সাথে ~ 100Ohm রোধকারী সহ একটি ডায়োড, যা D1, আমার MCU ESP8266 বোর্ডের D2, D3, D4 (সেই ক্রমে) পিন এবং ছোট কমলা তারের ক্যাথোডগুলি GND (আমার বোর্ডে G চিহ্নিত) নিয়ে যাচ্ছে। শুধু অন্তর্ভুক্ত LED এর সঙ্গে একটি উন্নয়ন-বোর্ড ব্যবহার করুন (যেমন "ESP-202", ছবি দেখুন-প্রায় 3.50-5.00 sh শিপিং সহ)। আপনি কেবল এটিকে ইউএসবি পাওয়ারের সাথে সংযুক্ত করতে পারেন বা অন্তর্ভুক্ত ব্যাটারি প্যাকটি ব্যবহার করতে পারেন, একটি কাগজের টুকরোতে একটি ইন্টারফেস আঁকতে পারেন এবং এটি প্রাচীরের সাথে আটকে রাখতে পারেন। এই নির্দিষ্ট বোর্ডের জন্য পোর্টগুলি হল:

int userPins [numUser] = {5, 4, 2, 14, 16};

উপর থেকে নিচে.

ধাপ 4: আউটলুক/রেফারেন্স

এই আমি এখনও পরিকল্পনা করছি: 1. একটি সুন্দর আবাসন তৈরি করা (স্পষ্টতই) 2. ব্যবহারকারী/LEDs/MACs/পরিচিত ডিভাইসগুলি পরিচালনার জন্য একটি চমৎকার GUI যোগ করা 3. লাইব্রেরির উন্নতি করা (এর জন্য Github দেখুন) 4. ঠিক করুন: কখনও কখনও LEDs কোন সুস্পষ্ট কারণ ছাড়াই আস্তে আস্তে প্রতিক্রিয়া জানান (এটি একটি ডিভাইস ছাড়ার পরে একটু সময় নেয়)। এবং বরাবরের মতো, অন্যরা আপনার চিন্তাভাবনা তৈরি করে দেখে আমি সত্যিই খুশি হয়েছি, তাই দয়া করে মন্তব্য করতে এবং ছবি পোস্ট করতে কয়েক মিনিট সময় নিন!:):) আরো কিছু রেফারেন্স আমি এখানে কিছু জিনিস লিঙ্ক করব, যা আপনাকে সাহায্য করতে পারে: • TR-064 রেফারেন্স • কিছু লোক শেল এবং TR-064 (এপিআই সম্পর্কে উপলব্ধি পেতে ভাল) • হ্যারি পটার উইকিপিডিয়া: উইজলি ক্লক এন্ট্রি • কিছু ছেলেরা একটি সুন্দর, কিন্তু জটিল ওয়েসলি ক্লক তৈরি করছে*_*এটি আপনার ফোনের জন্য একটি অ্যাপের উপর ভিত্তি করে যা আপনার অবস্থান নিয়ে যাচ্ছে আপনি যদি কিছু পূর্বনির্ধারিত এলাকায় থাকেন, তাহলে ঘড়ির আলো অনুযায়ী আলো চালু হবে। আমার জন্য এটি খুব জটিল ছিল এবং অনেক জায়গায় ছিল যেখানে এটি ভেঙে যেতে/ব্যর্থ হতে পারে: • অ্যাপস আপ টু ডেট রাখতে হবে • প্রত্যেককে এই অ্যাপগুলি ব্যবহার করতে হবে • এবং গোপনীয়তার উপর প্রভাব ফেলতে হবে • অ্যাপটি শুধুমাত্র ইন্টারনেটের সাথে কাজ করে সংযোগ • যোগাযোগের জন্য আপনাকে একটি মধ্যবর্তী সার্ভার ব্যবহার করতে হবে (যদি না আপনি সার্ভার হিসাবে esp সেট আপ করতে চান এবং বাইরের ট্রাফিকের জন্য আপনার হোম নেটওয়ার্ক খুলতে চান - হ্যাঁ, এখনও ইন্টারনেটের সাথে সরাসরি সংযুক্ত অন্য একটি অনিরাপদ IOT ডিভাইস!) মধ্যবর্তী পরিষেবা একদিন অফলাইনে যেতে পারে/তার API পরিবর্তন করতে পারে, •… আপনার আরো সফটওয়্যার দরকার আরো সফটওয়্যার মানে ভুল করার জন্য আরো জায়গা;) কিন্তু, তারা একটি আশ্চর্যজনক কাজ করেছে এবং আপনি যদি এরকম কিছু করতে চান, তাহলে তাদের সাইটে যান, এটি সত্যিই দুর্দান্ত!

প্রস্তাবিত: