সুচিপত্র:

আইওটি সক্ষম কফি মেশিন: 9 টি ধাপ (ছবি সহ)
আইওটি সক্ষম কফি মেশিন: 9 টি ধাপ (ছবি সহ)

ভিডিও: আইওটি সক্ষম কফি মেশিন: 9 টি ধাপ (ছবি সহ)

ভিডিও: আইওটি সক্ষম কফি মেশিন: 9 টি ধাপ (ছবি সহ)
ভিডিও: AIoT কি? AI এবং IoT এর এতে কি কাজ? In Bangla 2021 2024, জুলাই
Anonim
Image
Image
ইকুইপমেন্ট প্রয়োজন
ইকুইপমেন্ট প্রয়োজন

এই নির্দেশযোগ্য আইওটি প্রতিযোগিতায় প্রবেশ করেছে - যদি আপনি এটি পছন্দ করেন তবে দয়া করে এটির জন্য ভোট দিন

আপডেট করা হয়েছে: এখন 2 উপায় কম এবং OTA আপডেট সমর্থন করে

কিছুদিন ধরে আমার কাছে একটি জুরা কফি মেশিন ছিল এবং আমি সবসময় এটাকে স্বয়ংক্রিয় করতে চেয়েছিলাম।

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

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

আমার এটাও নিশ্চিত করতে হবে যে মেশিনটি এখনও কোন নিয়ন্ত্রণ ব্যবস্থা থেকে 100% স্বাধীনভাবে কাজ করে, যেমন মেশিনটি এখনও স্বাভাবিকভাবে কাজ করে যেন এটি আইওটি সক্ষম না হয়।

মেশিনকে স্বয়ংক্রিয় করার জন্য দুটি জিনিসের প্রয়োজন: 1) মেশিনে শক্তি নিয়ন্ত্রণ করতে সক্ষম হওয়া 2) কফি তৈরির জন্য ফাংশন সক্রিয় করার জন্য মেশিনের সাথে যোগাযোগ করতে সক্ষম হওয়া, ধুয়ে ফেলা ইত্যাদি।

ধাপ 1: আমরা কীভাবে এটি করতে যাচ্ছি

আমরা হোম ওয়াইফাই সংযোগ করার জন্য একটি ESP8266 'ESP-01' মডিউল ব্যবহার করব এবং কমান্ডের জন্য MQTT সার্ভার/বিষয় শোনার জন্য সাবস্ক্রাইব করব। আমি যে 'ফ্রন্ট এন্ড' ব্যবহার করেছি তা হল OpenHAB2 কিন্তু আপনি ডিভাইসে ওয়েব ইন্টারফেসে যোগ করতে না পারার কোনো কারণ নেই এবং আপনি চাইলে বা HTTP Get কমান্ডের মাধ্যমে সরাসরি নিয়ন্ত্রণ করতে পারেন।

ESP8266 পাওয়ার বোতাম সম্পর্কিত 2 টি রিলে নিয়ন্ত্রণ করবে এবং কফি মেশিন থেকে/থেকে সিরিয়াল কমান্ডগুলি প্রক্রিয়া করবে।

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

ধাপ 2: ইকুইপমেন্ট প্রয়োজন

ইকুইপমেন্ট প্রয়োজন
ইকুইপমেন্ট প্রয়োজন
ইকুইপমেন্ট প্রয়োজন
ইকুইপমেন্ট প্রয়োজন
ইকুইপমেন্ট প্রয়োজন
ইকুইপমেন্ট প্রয়োজন

যন্ত্রাংশ

  • ESP-01 মডিউল এবং এটি প্রোগ্রাম করার একটি উপায় (Arduino IDE এবং প্রোগ্রামিং এর জন্য ফিজিক্যাল অ্যাডাপ্টার)
  • 2 উপায় রিলে মডিউল EBAY
  • 5v -> 3.3v রেগুলেটর EBAY
  • ছোট 5v মেইন চালিত ফোন চার্জার
  • লজিক লেভেল কনভার্টার* ফ্রিট্রনিক্স
  • বিবিধ তার, পিন হেডার, তাপ সঙ্কুচিত ইত্যাদি এটি সব সংযুক্ত করার জন্য।

সরঞ্জাম

  • সূক্ষ্ম টিপ সোল্ডারিং আয়রন
  • ঝাল
  • তারের স্ট্রিপারগুলি সহজ
  • Torx T15 ড্রাইভার
  • ওভাল সিকিউরিটি টুল (অথবা একটি তৈরি করুন, মাত্র কয়েক মিনিট সময় নেয়)

*আমি প্রথমে মেশিনে সমস্ত সিরিয়াল কমান্ডের পরীক্ষায় একটি আরডুইনো ইউএনও ব্যবহার করেছি এবং এটি নিখুঁতভাবে কাজ করেছে, তবে ইএসপি মডিউল কাজ করতে অস্বীকার করেছে। আমি কোডটি তিনবার চেক করেছি এবং আমি নিশ্চিত ছিলাম যে ESP মডিউল থেকে বেরিয়ে আসা কমান্ডগুলি আরডুইনোর মতোই ছিল তবে এটি ছিল না। আমি এটি ইএসপি মডিউলে রেখেছি শুধুমাত্র 3.3v লজিকের উপর কাজ করে এবং 5V নয়। একবার আমি লজিক কনভার্টারে রাখি, এটি সূক্ষ্মভাবে কাজ করে। এটি অন্যান্য মেশিনে প্রয়োজন হতে পারে বা নাও হতে পারে।

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

ধাপ 3: জুরা প্রটোকল

জুরা প্রটোকল
জুরা প্রটোকল

মেশিন থেকে/থেকে তথ্য শুধুমাত্র সিরিয়াল @ 9600 কিন্তু Jura তাদের হাতাও কিছু কৌশল আছে প্রোটোকলটি এটি অতিরিক্ত ECC এবং/অথবা যোগাযোগকে বিকৃত করার জন্য ব্যবহার করে। সোজা কথায়, প্রতিটি বাইট ডেটা (চরিত্র) 8ms বিরতির দ্বারা অনুসরণ করা 4 টি স্ট্যান্ডার্ড সিরিয়াল বাইটের 2 এবং 5 বিট জুড়ে বিভক্ত। আপনি যদি এটি কীভাবে কাজ করে তা শিখতে যত্ন করেন, এখানে লিঙ্কগুলিতে প্রচুর তথ্য রয়েছে।

প্রোটোকল তথ্য থেকে আহরিত:

আরডুইনো কোড এটিকে সহজ করে দেয়, যা আপনাকে মানসম্মত, মানুষের পাঠযোগ্য কমান্ড প্রেরণ করতে সক্ষম করে যা এটি তখন জুরা প্রোটোকলে স্থানান্তরিত করে।

আমার কোড হল কোডের সংমিশ্রণ:

উপরের সাইটগুলিতে উল্লেখ করা কমান্ডগুলি আমার মেশিনের জন্য সঠিক ছিল না কিন্তু ট্রায়াল এবং ত্রুটির একটি পদ্ধতির মাধ্যমে, আমি নীচের সাথে আসতে সক্ষম হয়েছিলাম:

FA: 01 - বন্ধ করে দেয় (কিন্তু প্রয়োজন হলে ধুয়ে ফেলতে পারে বলে মনে হয় না) FA: 02 - 'ঠিক আছে' বলে সাড়া দেয় কিন্তু নিশ্চিত নয় যে এটি কি করে। FA: 03 - বার্তা ধুয়ে ফেলুন (স্ক্রিনে একটি 'রিন্স' বার্তা প্রেরণ করে, ঘূর্ণমান রিন্স মেশিন টিপে) FA: 04 - রিন্স অ্যাকশন - 'প্রেস রোটারি বোতাম' বার্তাটি প্রদর্শিত হলে ধুয়ে ফেলুন, অন্যথায় কিছুই না FA: 05 - স্ক্রিনে শক্তিশালী (সম্ভবত শক্তিশালী জন্য একটি কফি তৈরীর সঙ্গে এই একত্রিত) FA: 06 - পর্দায় দৃ (় (সম্ভবত এটি শক্তিশালী জন্য একটি কফি তৈরীর সঙ্গে একত্রিত) FA: 07 - 'বিশেষ' পর্দায় কিন্তু আসলে কিছুই করে না, নিশ্চিত না যে এটি forFA কি: 08 - বাষ্প FA: 09 - ছোট কফি FA: 0A - বড় কফি

অন্যান্য আদেশ আছে কিন্তু এটি আমার জন্য প্রচুর …

অজানা কমান্ড জারি করার সময় সতর্কতা অবলম্বন করুন, উদাহরণস্বরূপ, দৃশ্যত AN: 0A মেশিনের EEPROM মুছে দেবে..

ধাপ 4: বিচ্ছিন্নকরণ

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

এখানে নির্দেশাবলী মোটামুটি ভালভাবে উপস্থাপন করা হয়েছে-https://marius.me.uk/blog/2015/03/open-jura-ena-5/

ধাপ 5: ওয়ারেন্টি বাতিল করা

ওয়ারেন্টি বাতিল
ওয়ারেন্টি বাতিল
ওয়ারেন্টি বাতিল
ওয়ারেন্টি বাতিল
ওয়ারেন্টি বাতিল
ওয়ারেন্টি বাতিল
ওয়ারেন্টি বাতিল
ওয়ারেন্টি বাতিল

একবার মেশিনে প্রবেশ করলে, আপনি প্রধান উপাদানগুলি দেখতে পাবেন। 5v চার্জার যুক্ত করার জন্য মূল পাওয়ার ইনলেটের নিচে একটি সুন্দর জায়গা আছে।

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

আপনি যদি চান তবে 5v পাওয়ার সাপ্লাই রেট করা অন্য একটি মেইনকে প্রতিস্থাপন করতে পারেন। 500ma প্রচুর হওয়া উচিত।

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

রিলে মডিউল ভাল মানের ডবল পার্শ্বযুক্ত টেপ সহ জায়গায় রাখা হয়। তারের সাথে সংযুক্ত এবং চলাচলের জন্য শুধুমাত্র সীমিত স্থান দিয়ে, এমনকি যদি টেপ দৃrip়তা হারায়, মডিউল খুব বেশি দূরে যাবে না এবং কোন ধাতব বস্তুর সংস্পর্শে আসতে পারবে না।

আমি অভ্যন্তরীণ সংযোগের অবস্থান নির্ধারণের জন্য আমার মেশিনে ডায়াগনস্টিক পোর্টকে ব্যাকপ্রোব করেছি যাতে আমি সম্পূর্ণ লুকানো ইন্টিগ্রেশন অর্জন করতে পারি। শুধুমাত্র tx, rx এবং Gnd তার ব্যবহার করা হয়।

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

আমার মেশিন একটি 7 পিন সংযোগকারী ব্যবহার করে। বাম থেকে ডানে এটি হল:

NC Tx G Rx NC 5v NC

মূল বোর্ডে সংশ্লিষ্ট পিন: লাল = Gnd কমলা = Rx কালো = Tx

আরো তথ্য এখানে পিনআউট পাওয়া যাবে:

ধাপ 6: লজিক সাইড ওয়্যারিং

যুক্তি সাইড ওয়্যারিং
যুক্তি সাইড ওয়্যারিং
যুক্তি সাইড ওয়্যারিং
যুক্তি সাইড ওয়্যারিং
যুক্তি সাইড ওয়্যারিং
যুক্তি সাইড ওয়্যারিং

চিত্রটি পর্যালোচনা করুন - এটি অত্যধিক জটিল দেখায় কিন্তু এটি আসলে নয়।

আমি কিছু ডাবল সাইডেড টেপ দিয়ে লেভেল কনভার্টার (ডিপিনেড) ভোল্টেজ রেগুলেটরের পিছনে মাউন্ট করেছি। আমি তখন লেভেল কনভার্টারের উভয় পাশের পাওয়ার এবং গ্রাউন্ড পিনগুলিকে সংশ্লিষ্ট পাওয়ার মডিউল পিনগুলিতে সোল্ডার করার জন্য কিছু কম্পোনেন্ট পা ব্যবহার করেছি। এই পুরো মডিউলটি তখন ESP-01 এর সমস্ত যুক্তি এবং বিদ্যুৎ সরবরাহের জন্য 'পাসথ্রু'র মতো কাজ করে।

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

এটি 5V লজিক চালানোর জন্য এই রিলে মডিউলগুলির সাথে আসলে প্রয়োজনীয় নয় কারণ তারা কম সক্রিয় কিন্তু এটি ঠিকভাবে কাজ করেছে তাই আমি এটি যাই হোক না কেন।

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

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

12f কোড হার্ডওয়্যার সিরিয়ালের পরিবর্তে সফটওয়্যার সিরিয়াল ব্যবহার করে - এটি মডিউলটিকে স্বাভাবিক সিরিয়ালের মাধ্যমে ডিবাগ করার জন্য স্ট্যাটাস রিপোর্ট করতে দেয়। সংযোগগুলি পিন 4 এবং 5 এর পরিবর্তে। আমি ESP12F কে ESP-01 এর জন্য সোয়াপ-এ একটি প্লাগ তৈরির জন্য একই শিরোনামটি মানিয়ে নিয়েছি, কেবল সেই সিরিয়াল পিনগুলি অদলবদল করে।

ধাপ 7: মডিউল প্রোগ্রামিং

মডিউল প্রোগ্রামিং
মডিউল প্রোগ্রামিং

কোডটি Arduino 1.8.1 এর বিরুদ্ধে ESP8266 বোর্ড অ্যাডন এবং PubSubClient 2.6.0 (যা MQTT লাইব্রেরি) এর সাথে সংকলিত হয়েছিল

আপনার প্রয়োজনীয়তা অনুযায়ী কোডটি সংশোধন করুন এবং কোডটি ESP-01 মডিউলে আপলোড করুন এবং মেশিনের সাথে সংযুক্ত করুন। পিনের ওরিয়েন্টেশনের সাথে সাবধান!

কনফিগারেশন

বিকল্প 1)

শুধুমাত্র জিপের বেস কোডে। তারপরে আপনি মডিউলের সাথে সংযুক্ত হতে পারেন এবং আইপি পরিবর্তন করতে পারেন এবং আপনার নিজের অ্যাক্সেস পয়েন্টের সাথে সংযুক্ত হতে পারেন। মডিউলে কোন DHCP না থাকায় আপনাকে সেই পরিসরে আপনার মেশিনের জন্য একটি আইপি সেট করতে হবে।

ডিফল্ট AP SSID হল 'ESPSwitch' এবং পাসওয়ার্ড হল '12345678'

এটি ডিফল্টরূপে 2 মিনিটের জন্য এপি মোডে থাকে। আপনি 'global.h' এ এই সেটিং পরিবর্তন করতে পারেন - এটিকে 'adminTimeout' বলা হয় এবং মিলিসেকেন্ডে। আমি EEPROM এ একটি বৈধ কনফিগারেশন একবার এটিকে কম কিছুতে পরিবর্তন করার পরামর্শ দিচ্ছি কারণ এটি অন্যথায় ডিভাইসের বুটে অপ্রয়োজনীয় বিলম্বের কারণ হবে।

বিকল্প 2)

এটি নতুন কোডের জন্য ডিফল্ট মোড যা 2 উপায় কম্স সমর্থন করে, বিকল্প 1 পাওয়া যায় না। আপনি মূল ইনো ফাইলে ডিফল্ট SSID/পাসওয়ার্ড সেটিংস পরিবর্তন করতে পারেন ('// ডিফল্ট কনফিগ' দেখুন) যাতে এটি লোড হবে প্রথম বুট এ EEPROM- এ সেটিংস এবং 'গ্লোবাল.এইচ' এ অ্যাডমিন মোড বিলম্ব কম কিছু পরিবর্তন করুন। এটি অস্থায়ী AP- এর সাথে সংযোগ স্থাপনে গোলমাল হওয়া এড়ায়।

ডিভাইসটি স্বয়ংক্রিয়ভাবে তার MQTT আইডি (এবং সাবস্ক্রিপশন পাথ) মডিউল সিরিয়াল নম্বরের শেষ 4 সংখ্যায় সেট করবে। ডিফল্টরূপে পথটি হল হা/মোড //#, আপনি উপযুক্ত দেখলে পরিবর্তন করুন কিন্তু যথাযথ অ্যারের সঠিক দৈর্ঘ্য আছে তা নিশ্চিত করতে কোডের মন্তব্যগুলি পড়ুন।

আমি এটি করি কারণ এর মানে হল আমার নেটওয়ার্কের প্রতিটি মডিউলের জন্য আমাকে একটি অনন্য আইডি তৈরি করতে হবে না।

ডিভাইস আইডি দৃশ্যমান এবং MQTT সার্ভার MQTT সার্ভার পৃষ্ঠার মাধ্যমে অভ্যন্তরীণ ওয়েব সার্ভারে সেট করা যায়।

ধাপ 8: এটিকে স্টাফ করা …

MQTT কমান্ডগুলি হল

ha/mod/xxxx/0 বা 1 = টগল পাওয়ার

অন্য কোন স্ট্রিংকে একটি কমান্ড হিসেবে গণ্য করা হবে এবং সিরিয়াল পোর্টের মাধ্যমে পাঠানো হবে। স্থিতি HEX- এ /ha /কফি রিপোর্ট করা হয়

OpenHAB এর সাথে

coffeemachine.items

সংখ্যা Coffee_Machine_Power "Power" {mqtt = "> [control: ha/mod/8002/: command:*: default]"} String Coffee_Machine_Status {mqtt = "<[control: ha/coffee: state: default]"}

সাইটম্যাপ

গ্রুপ আইটেম = "কফি মেশিন" {সুইচ আইটেম = কফি_ম্যাচিন_পাওয়ার লেবেল = "পাওয়ার" ম্যাপিং = [1 = "টগল"] আইটেম সুইচ করুন = কফি_ম্যাচিন_সিএমডি লেবেল = "" ম্যাপিং = ["FA: 09" = "ছোট"] আইটেম সুইচ করুন = Coffee_Machine_Cmd label = "" mappings = ["FA: 0A" = "large"] সুইচ আইটেম = Coffee_Machine_Cmd label = "" mappings = ["FA: 04" = "Rinse"] টেক্সট আইটেম = Coffee_Status label = "Status [%s] "}

voicecontrol.rules

আমদানি org.openhab.model.script.actions।* import org.openhab.core.library.types।* import java.util।*

নিয়ম "ভয়েস কমান্ড নিয়ম"

যখন আইটেম ভয়েসকম্যান্ড কমান্ড পেয়েছে তখন var স্ট্রিং কমান্ড = VoiceCommand.state.toString.toLowerCase logInfo ("Voice. Rec", "VoiceCommand পেয়েছে"+কমান্ড)

if (command.contains ("কফি মেশিন চালু করুন") || command.contains ("কফি মেশিন বন্ধ করুন") {

sendCommand (Coffee_Machine_Power, 1)} যদি (command.contains ("আমাকে একটি ছোট কফি বানান")) {sendCommand (Coffee_Machine_Cmd, "FA: 09")} যদি (command.contains ("আমাকে একটি বড় কফি বানান")) { sendCommand (Coffee_Machine_Cmd, "FA: 0A")}} যদি

নিয়ম ('বাস্তব' মানগুলিতে HEX প্রতিক্রিয়াগুলি ব্যাখ্যা করার জন্য):

নিয়ম "কফি মেশিনের অবস্থা")

var int num = (Integer.parseInt (hexString, 16));

var স্ট্রিং binaryString = String.format ("%8s", Integer.toBinaryString (num))। প্রতিস্থাপন ('', '0')

var int trayBit = binaryString.substring (0, 1)

var int tankBit = binaryString.substring (2, 3) var int heatBit = binaryString.substring (7, 8) var int rinseBit = binaryString.substring (6, 7)

যদি (trayBit == "0") {

postUpdate (Coffee_Status, "Tray Missing")} if (tankBit == "1") {postUpdate (Coffee_Status, "Fill Tank")} if (rinseBit == "1") {postUpdate (Coffee_Status, "প্রেস রোটারি")}} যদি (trayBit == "1" && tankBit == "0" && rinseBit == "0") {postUpdate (Coffee_Status, "Ready")}

}

যদি (সাড়া == "বন্ধ") {postUpdate (Coffee_Status, "Off")} শেষ

ধাপ 9: পরিমার্জন/কাজ

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

নতুন কোড ওটিএ আপডেটগুলিকে সমর্থন করে কিন্তু সংশ্লিষ্ট ইটিএ আইটেমগুলি কাজ করতে বা মন্তব্য করার জন্য আপনাকে ইএসপি -01 মডিউলে ইইপিআরওএম আপগ্রেড করতে হবে।

মেশিন থেকে প্রতিক্রিয়া প্রক্রিয়াকরণের জন্য কোড যোগ করুন এবং কোন ট্রে, খালি মাঠ এবং ভরাট ট্যাঙ্কের মতো অবস্থা পড়ুন - সম্পন্ন। আমি স্ট্যাটাসটি পুনরায় পড়তে এবং হা/কফিতে প্রকাশ করার জন্য কোড যুক্ত করেছি। এটি কেবল কাঁচা প্রতিক্রিয়া এবং আমি এখনও তাদের ব্যাখ্যা করার জন্য কাজ করছি কিন্তু এখন পর্যন্ত আমার ট্রে অনুপস্থিত এবং ট্যাঙ্ক খালি কাজ করছে। এটি প্রতি 9 সেকেন্ডে মেশিনটিকে ভোট দেয় এবং MQTT- এর প্রতিক্রিয়া প্রকাশ করে।

প্রতিক্রিয়া HEX এ আছে কিন্তু পৃথক বিট সেন্সর নির্দেশ করে।

HTTP GET কমান্ডের মাধ্যমে সরাসরি নিয়ন্ত্রণের জন্য ওয়েবপেজে কোড যোগ করুন।

ইন্টারনেট অফ থিংস প্রতিযোগিতা 2017
ইন্টারনেট অফ থিংস প্রতিযোগিতা 2017
ইন্টারনেট অফ থিংস প্রতিযোগিতা 2017
ইন্টারনেট অফ থিংস প্রতিযোগিতা 2017

ইন্টারনেট অফ থিংস প্রতিযোগিতায় প্রথম পুরস্কার 2017

প্রস্তাবিত: