সুচিপত্র:

SmartWand: 6 ধাপ
SmartWand: 6 ধাপ

ভিডিও: SmartWand: 6 ধাপ

ভিডিও: SmartWand: 6 ধাপ
ভিডিও: ФИТНЕС-БРАСЛЕТ М6. SMART BAND 6 - ОБЗОР и ПЕРВАЯ НАСТРОЙКА (39 ЦИФЕРБЛАТОВ!) 2024, জুলাই
Anonim
স্মার্টওয়ান্ড
স্মার্টওয়ান্ড

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

আমার মেয়েরা (8 এবং 12) বড় হ্যারি পটারের ভক্ত এবং ক্রিসমাসের জন্য কানো কোডিং ভান্ড পেয়েছে। কানো কোডিং অ্যাপটি দুর্দান্ত এবং তারা এটির সাথে মজা করছে। কোডিং ধারণাগুলি চালু করার দুর্দান্ত সরঞ্জাম।

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

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

এখানে দুটি প্রধান রেফারেন্স আছে, যা ছাড়া, আমি কখনই এটি করতে পারতাম না।

ক্যানো কোডিং ওয়ান্ড পড়ার জন্য একটি পাইথন স্ক্রিপ্ট তৈরি এবং ভাগ করে নেওয়ার জন্য গামা গেমসকে ধন্যবাদ।

github.com/GammaGames/kano-wand-demos/blob…

এবং

একটি SmartThings কমান্ড লাইন ইন্টারফেসের জন্য একটি পাইথন স্ক্রিপ্ট তৈরি এবং ভাগ করার জন্য rllynch কে ধন্যবাদ।

github.com/rllynch/smartthings_cli

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

আপনার যা লাগবে তা এখানে:

  • হ্যারি পটার কানো কোডিং কিট (https://www.amazon.com/Kano-Harry-Potter-Coding-Ki…
  • একটি লিনাক্স ভিত্তিক ওএস (আমি ভার্চুয়ালবক্সের সাথে একটি পেয়েছিলাম এবং চলছি, তারপরে একটি রাস্পবেরি পাইতে ইনস্টল করেছি)
  • একটি ব্লুটুথ ইউএসবি অ্যাডাপ্টার (আমি একটি কেনসিংটন ব্লুটুথ 4.0 ইউএসবি অ্যাডাপ্টার ব্যবহার করেছি)
  • ইন্টারনেট সংযোগ (RPi এর জন্য, আমি একটি পূর্ববর্তী প্রকল্প থেকে আমার একটি এডিম্যাক্স ইউএসবি ওয়াইফাই অ্যাডাপ্টার ব্যবহার করেছি)

ধাপ 1: রাস্পবেরি পাইতে লিনাক্স ইনস্টল করুন

রাস্পবেরি পাইতে একটি লিনাক্স ওএস ইনস্টল করতে নীচের লিঙ্কগুলি অনুসরণ করুন। আমি ডেস্কটপ এবং সুপারিশকৃত সফটওয়্যারের সাথে রাস্পবিয়ান স্ট্রেচ ব্যবহার করেছি এবং এচারের সাথে ফ্ল্যাশ করেছি।

www.raspberrypi.org/learning/software-guid…

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

sudo apt- আপডেট পান

sudo apt-get upgrade

ডেস্কটপ UI চালু করতে কমান্ড লাইন ইন্টারফেসে নিম্নলিখিতটি টাইপ করুন।

sudo startx

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

www.raspberrypi.org/learning/software-guid…

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

thepi.io/how-to-run-raspberry-pi-desktop-o…

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

ধাপ 2: পাইথন 3 ইনস্টল করুন

পাইপথন 3 ইতিমধ্যে রাস্পিয়ান স্ট্রেচ দিয়ে ইনস্টল করা উচিত।

ধাপ 3: Wand মডিউল সেটআপ করুন

গামা গেমস দ্বারা তৈরি এই নির্দেশিকা অনুসরণ করুন

Kano_wand repo ক্লোন করার আগে আমাকে প্রথমে একটি ভিন্ন ডিরেক্টরিতে পরিবর্তন করতে হয়েছিল, অন্যথায় আমার পাইথন স্ক্রিপ্টটি খুঁজে পাওয়া যায়নি। সম্ভবত কিছু ফাইলের কোথাও কিছু পথের রেফারেন্স আপডেট করতে পারত, কিন্তু আমি এটি খনন করিনি।

cd /usr/local/lib/python3.5/dist-packages

git ক্লোন

sudo pip3 bluepy moosegesture ইনস্টল করুন

সঠিক অনুমতি পেতে এইগুলির জন্য sudo ব্যবহার করতে হয়েছিল। এছাড়াও numpy ইনস্টল করার পরিবর্তে নিম্নলিখিত কমান্ডগুলি ব্যবহার করতে হয়েছিল, যে কোনও কারণে, কাজ করার জন্য পাইপ পেতে পারেনি। অন্য পথের সমস্যা হতে পারে, কিন্তু এটি আমার জন্য কাজ করেছে তাই আমি এটির সাথে গেলাম:

sudo apt-get python3-numpy ইনস্টল করুন

অবশেষে, পাইথন স্ক্রিপ্ট থেকে ব্লুপি চালানোর যথাযথ অনুমতি পেতে আমি এই কমান্ডটি পেয়েছি।

sudo setcap 'cap_net_raw, cap_net_admin+eip' /usr/local/lib/python3.5/dist-packages/bluepy/bluepy-helper

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

github.com/maspieljr/SmartWand

ধাপ 4: SmartThings CLI সেটআপ করুন

নীচে github (https://github.com/rllynch/smartthings_cli) এ smartthings_cli রেপোতে অন্তর্ভুক্ত নির্দেশাবলীর একটি অনুলিপি রয়েছে।

আমি এখানে ছোট ছোট পরিবর্তনগুলি অন্তর্ভুক্ত করেছি যা আমাকে আমার সেটআপ করতে হয়েছিল যাতে সবকিছু কাজ করে। এই প্রদান করার জন্য rllynch আবার ধন্যবাদ।

1) My SmartApps- এ লগ ইন করুন এবং এর অধীনে, groovy/app.groovy এ কোড সহ একটি নতুন SmartApp তৈরি করুন।

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

(আমি 2 ঘন্টার জন্য আপনাকে স্বাগত জানাই যা আমি সাজিয়েছি:) এটি পরবর্তী ধাপেও গুরুত্বপূর্ণ হবে।)

2) অ্যাপ সেটিংসে ক্লিক করুন এবং OAuth এর অধীনে, স্মার্ট অ্যাপে OAuth সক্ষম করুন ক্লিক করুন। OAuth ক্লায়েন্ট আইডি এবং OAuth ক্লায়েন্ট সিক্রেট নোট করুন। OAuth ক্লায়েন্ট ডিসপ্লেকে SmartThings CLI কন্ট্রোলে আপডেট করুন। আপডেট ক্লিক করুন।

3) My SmartApps এ ফিরে যান তারপর SmartThings CLI Control এ ক্লিক করুন। পাবলিশ => আমার জন্য ক্লিক করুন।

4) স্মার্টথিংস_ক্লি রিপোজিটরি ক্লোন করুন, যদি ইচ্ছা হয় তবে একটি ভার্চুয়ালেনভ তৈরি করুন (আমি এটি করি নি), তারপর নিচের কমান্ডগুলি চালান, আইডি দিয়ে ক্লাইন্টিড এবং ক্লায়েন্টসেক্রেট প্রতিস্থাপন করুন এবং ধাপ 2 থেকে গোপন করুন।

স্মার্টথিংস রেপো ক্লোন করতে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন। নিশ্চিত হোন যে লিনাক্স কমান্ড প্রম্পট আপনার প্রজেক্ট ডিরেক্টরিতে ওয়ান্ড মডিউল সেটআপের সময় তৈরি হয়েছে।

গিট ক্লোন >

then change directory again down to the smartthings_cli directory that was just created.

cd smartthings_cli

python setup.py install

smartthings_cli --clientid clientid --clientsecret clientsecret

5) smartthings_cli will direct you to a url to authorized access. copy the url from the response in the command window and be sure to update it with the proper path as we had to in step 1. go to that url in a browser and specify which devices the cli should be able to access. click authorize when finished. you should be redirected to a page reporting smartthings_cli.py received auth code.

last few things i needed to do in order to get rid of a warning that kept coming up:

sudo apt-get install libssl-dev

pip install service_identity

pip install attrs pip install pyopenssl pip install pyasn1 pip install pyasn1-modules pip install ipaddress

raspberry pi should now be set-up to issue smart thing commands from the command line interface, try it out with these examples:

smartthings_cli query switch all

smartthings_cli query switch "switch name"

smartthings_cli set switch "switch name" on

step 5: improve response

everything is running at this point but there's a bit of a lag once the wand gesture is captured. in attempt to speed up the response, i've embedded the smarthings logic into the smartwand python script rather than calling it from a command line as it does in smartwand.py. this eliminated the need to repeatedly import the modules required for smartthings communication, which is what was slowing everything down. here's what i had to do to get that working:

python3 -m pip install future

python3 -m pip install twisted

made update to the python script. see smartwand2.py stored in the following repo:

github.com/maspieljr/smartwand

step 6: make smartwand execute on raspberry pi bootup

so you only need to plug in the raspberry pi near your smartthings things and not require a monitor, and keyboard, i followed these instructions to get the script to run on boot or any time a command line terminal is launched. the script seems pretty robust but does get hung up from time to time, requiring a reboot. alternatively you could have a keyboard connected and use alt+f4 to kill a running script and ctrl+alt+t to launch a new terminal without needing a monitor to see anything.

method 2: modify the.bashrc file as described in the link below:

www.dexterindustries.com/howto/run-a-progr…

প্রস্তাবিত: