আইওটি স্মার্ট প্লাগ সকেট এসকেকে সমাধান

স্মার্ট পগ এমকে 102
স্মার্ট প্লাগ এমকে 1112
স্মার্ট স্যুইচ WS001-3
README.md - আইওএস

1. ডিভাইস ফোল্ডারের জন্য MKSDK এর নীচে স্মার্ট প্লাগটি কনফিগার করার জন্য SDK রয়েছে

1.1 আপনি যদি স্মার্ট প্লাগের সাথে সংযোগ স্থাপন করতে এমকিটিটি সার্ভারের তথ্য এবং ওয়াইফাই তথ্য কনফিগার করতে চান, আপনার এপি মোডে স্মার্ট প্লাগ তৈরি করতে হবে(দয়া করে মোকোলিফ ব্যবহারকারী ম্যানুয়ালটি দেখুন): একটি স্মার্ট প্লাগ একটি পাওয়ার সকেটে প্লাগ করুন, জন্য বোতাম টিপুন 10 স্মার্ট প্লাগ ইন্ডিকেটরটি অ্যাম্বার লাইট জ্বলজ্বল পর্যন্ত সেকেন্ডে যা স্মার্ট প্লাগটিকে এপি মোডে নির্দেশ করে(বিঃদ্রঃ: এপি মোডের সময়সীমা সময়সীমা 3 মিনিট, একবার আপনি স্মার্ট প্লাগে তথ্য কনফিগার করেছেন, এটি এপি মোডের সমাপ্ত হবে). Wlan পৃষ্ঠাটি প্রবেশ করান এবং সংযোগের জন্য স্মার্ট প্লাগ হটস্পটটি নির্বাচন করুন, সফলভাবে সংযোগ করার সময়, কানেক্টডডভাইসওথহোস্ট:বন্দর
কানেক্টসুক ব্লক:সংযোগযুক্ত
স্মার্ট প্লাগ সংযোগ করতে ব্লকমেডসগুলি. নিম্নলিখিতটি হ'ল স্মার্ট প্লাগ প্রক্রিয়াটির সম্পূর্ণ কনফিগারেশন:

ধাপ 1

[[এমকেস্কটম্যানেজার শেয়ার করেছেন] সংযুক্ত ডিভাইসওহোস্ট:@ "192.168.4.1 ″
বন্দর:8266
কানেক্টসুক ব্লক:^(এনএসএসস্ট্রিং * আইপি, এনএসআইন্টার বন্দর) {
//সাফল্য সংযোগ
কানেক্টফেলডব্লক:^(এনএসইরর * ত্রুটি) {
//সংযোগ ব্যর্থ হয়েছে
}];

ধাপ ২

[[এমকেস্কটম্যানেজার শেয়ার করেছেন]স্মার্টপ্লাগ ডিভাইস পড়ুন
ইনফরমেশনউইটস্লব্লক:^(আইডি রিটার্ন ডেটা) {
//ডিভাইস তথ্য সাফল্য পড়ুন
} ব্যর্থব্লক:^(এনএসইরর * ত্রুটি) {
//ডিভাইসের তথ্য পড়তে ব্যর্থ হয়েছে
}];

ধাপ 3

[[এমকেস্কটম্যানেজার শেয়ার করেছেন] configMQTTServerHost:@ "আপনার এমকিউটিটি সার্ভার হোস্ট"
বন্দর:বন্দর
কানেক্টমোড:mqttServerConnectTCPMode
Qos:mqttQosLevelExctlyOnce
জিবন্ত রাখ:60
ক্লিনসেশন:হ্যাঁ
ক্লায়েন্টআইডি:@ "আপনার ডিভাইসের ম্যাক ঠিকানা"
ব্যবহারকারীর নাম:@ "আপনার এমকিটিটি সার্ভারের ব্যবহারকারী নাম"
পাসওয়ার্ড:@ "আপনার এমকিটিটি সার্ভারের পাসওয়ার্ড"
সাকব্লক:^(আইডি রিটার্ন ডেটা) {
//কনফিগার সাফল্য
}
ব্যর্থব্লক:^(এনএসইরর * ত্রুটি) {
//কনফিগার ব্যর্থ
}];

পদক্ষেপ 4

[[এমকেস্কটম্যানেজার শেয়ার করেছেন] configWifiSSID:আপনার ওয়াইফাই এসিড
পাসওয়ার্ড:ওয়াইফাই পাসওয়ার্ড
সুরক্ষা:ওয়াইফাইসিকিউরিটি_ডাব্লুপিএ 2_পিএসকে
সাকব্লক:^(আইডি রিটার্ন ডেটা) {
//কনফিগার সাফল্য
} ব্যর্থব্লক:^(এনএসইরর * ত্রুটি) {
//কনফিগার ব্যর্থ
}];

2. এমকেএসডি কেফোর্স ম্যাকটি সার্ভার ফোল্ডারটি এসডিকে যা অ্যাপি এবং এমকিউটিটিএসভারকে কনফিগার করে

2.1 এমকেএমকিউটিটিএস সার্ভার ম্যানেজারডেলিগেট

টুইটারে

(শূন্য)mqttServerManagerStateChanged:(এমকেএমকিউটিটিএসশন ম্যানেজার স্টেট)অবস্থা;
//রাষ্ট্রের প্রতিনিধি পদ্ধতিটি সংযুক্ত করুন

(শূন্য)সেশন ম্যানেজার:(এমকেএমকিউটিএস সার্ভার ম্যানেজার *)সেশনম্যানেজার:(এনএসডাটা *)বিষয় উপর ডেটা:(এনএসএসস্ট্রিং *)বিষয়;//এমকিউটিটি সার্ভার থেকে ডেটা প্রাপ্ত করে

@শেষ

2.2 অ্যাপ্লিকেশন এমকিউটিটি সার্ভারে সংযুক্ত

নেটওয়ার্ক উপলব্ধ যখন,কল [[এমকেএমকিউটিটিএস সার্ভার ম্যানেজার শেয়ার করেছে] কানেক্ট MQTTServer:বন্দর:tls:জিবন্ত রাখ:পরিষ্কার:
auth:ব্যবহারকারী:পাস:ক্লায়েন্টআইডি:] আপনার এমকিটিটি সার্ভারটি সংযুক্ত করতে.

2.3 সাবস্ক্রাইব বিষয়

স্মার্ট প্লাগের বিষয়টির জন্য দয়া করে এমকিউটিটি প্রোটোকল ডকুমেন্টটি দেখুন all কল করুন - (শূন্য)সাবস্ক্রিপশন:(এনএসআরএ *)টপিকলিস্ট এবং - (শূন্য)সাবস্ক্রিপশন:(এনএসআরএ *)টপিকটি আলাদাভাবে সাবস্ক্রাইব এবং সাবস্ক্রাইব করতে তালিকাচুক্তি.

2.4 অ্যাপ্লিকেশন একটি নির্দিষ্ট বিষয়ে ডেটা প্রকাশ করে

স্মার্ট প্লাগের বিষয়টির জন্য দয়া করে এমকিউটিটি প্রোটোকল ডকুমেন্টটি দেখুন. - (শূন্য)তথ্য পাঠান:(এনএসডি অভিধান *)তথ্য বিষয়:(এনএসএসস্ট্রিং *)বিষয়বস্তু:(শূন্য (^)(শূন্য))সফলব্লক ব্যর্থব্লক:(শূন্য (^)(এনএসইরর * ত্রুটি))ব্যর্থব্লক

README.md - অ্যান্ড্রয়েড

1.এসডিকে আমদানি করুন এবং ব্যবহার করুন

1.1 আমদানি মডিউল প্রকল্প মোকস্পোপোর্ট

1.2 সেটিংস.gradle ফাইল কনফিগার করুন এবং মোকস্পোপোর্ট প্রকল্পটি কল করুন:

অন্তর্ভুক্ত:অ্যাপ্লিকেশন,’:মোকোসপোর্ট ’

1.3 মূল প্রকল্পের বিল্ড.gradle ফাইলটি সম্পাদনা করুন:

নির্ভরতা {
প্রয়োগ ফাইল(তোমাকে: ‘লিবস’, অন্তর্ভুক্ত: [‘* .জার’])
বাস্তবায়ন প্রকল্প(পথ: ‘: মোকোসপোর্ট ’)
}

1.4 প্রকল্প সূচনা করার সময় এসডিকে আমদানি করুন:

পাবলিক ক্লাস বেস অ্যাপ্লিকেশন আবেদনকে প্রসারিত করে { @অগ্রাহ্য করা oncreate সর্বজনীন শূন্য() { super.onCreate(); // আরম্ভ মোকসসপোর্ট.জেটআইনস্ট্যান্স().এটা(
getApplication প্রসঙ্গ()); } }

2.ফাংশন পরিচিতি

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

2.1 সকেট সার্ভিস

সকেট সংযোগ তৈরি করার আগে, অ্যাপ্লিকেশনটি ডিভাইসের ওয়াইফাইয়ের সাথে সংযুক্ত কিনা তা আপনাকে নিশ্চিত করতে হবে. ডিফল্ট আইপি ঠিকানা সংযুক্ত করুন 192.168.4.1, ডিফল্ট পোর্ট নম্বর হয় 8266, যা সকেটথ্রেডে পরিবর্তিত হতে পারে.

2.1.1 আরম্ভ

বাইন্ড সার্ভিস(নতুন উদ্দেশ্য(এই, সকেট সার্ভিস.ক্লাস), এম সার্ভিস সংযোগ, BIND_AUTO_CREATE);

সকেট সার্ভিস শুরু করুন, এবং সকেট সার্ভিস অবজেক্টটি পান, এমএসওয়ার্স.স্টার্টসকেটে কল করুন() সকেটের থ্রেড তৈরি করতে, ডিভাইস সংযোগ করুন, এবং সংযোগটি সফল হওয়ার পরে থ্রেডটি বার্তা প্রেরণের জন্য অপেক্ষা করে;

2.1.2 সংযোগের স্থিতি এবং প্রতিক্রিয়া পান

1. সম্প্রচারটি নিবন্ধভুক্ত করে সংযোগের স্থিতি পান:

সম্প্রচার অ্যাকশন:মোকো কনস্ট্যান্টস Aঅ্যাকশন_এপ_কননেশন
সংযোগ অবস্থা:
  • সংযোগ সফল:মোকো কনস্ট্যান্টস.কনএনপিপিএটিএস_স্যাকসেস
  • সংযোগ:মোকো কনস্ট্যান্টস.কনএনপ্যাটাস_স
    সংযুক্ত করা হচ্ছে
  • সংযোগ ব্যর্থ হয়েছে:মোকো কনস্ট্যান্টস। কননপ্যাটাস_ফায়াল্ড LE
  • আউট সংযোগ সময়:মোকো কনস্ট্যান্টস.কনএনপিপিএটিউস_সিমিউট

2、সম্প্রচারটি নিবন্ধভুক্ত করে সকেট যোগাযোগের প্রতিক্রিয়া পান :

সম্প্রচার অ্যাকশন:মোকো কনস্ট্যান্টস Aঅ্যাকশন_এপ_এসইডিডিটি_
প্রতিক্রিয়া একটি প্রতিক্রিয়া পান:
ডিভাইস রিসপনস প্রতিক্রিয়া = (ডিভাইসেস্পোনস) ইন্টেন্ট.জেটসিরাইজিয়েবল এক্সট্রা(মোকো কনস্ট্যান্টস.
এক্সট্রা_এপি _SET_DATA_RESPONSE);

2.1.3 সকেট

ডেটা প্রেরণ করুন কেবল JSON ফর্ম্যাটে স্ট্রিং গ্রহণ করে
যেমন:

1、ডিভাইসের তথ্য পান:

{
"শিরোনাম" : 4001
}

প্রতিক্রিয়া:

{
"কোড" : 0,
"বার্তা" : "সাফল্য",
"ফলাফল" : {
"শিরোনাম" : 4001,
"Device_function" : "Iot_plug",
"ডিভাইসের নাম" : "প্লাগ_োন",
"ডিভাইস_স্পেসিফিকেশন" : "আমাদের",
"ডিভাইস_ম্যাক" : “১১:22:33:44:55:66”,
"ডিভাইসের ধরন" : "1"
}
}

2、 এমকিটিটি সার্ভারের তথ্য প্রেরণ করুন

{
"শিরোনাম" : 4002,
"হোস্ট" : "45.32.33.42",
"বন্দর" : 1883,
"সংযুক্ত_মোড" : 0,
"ব্যবহারকারীর নাম" : "ডিভিইএস_উসার",
"পাসওয়ার্ড" : "ডিভিইএসপাস",
"জিবন্ত রাখ" : 120,
"কিউস" : 2,
"ক্লিন_সেশন" :1
}
প্রতিক্রিয়া:

{
"কোড" : 0,
"বার্তা" : "সাফল্য",
"ফলাফল" : {
"শিরোনাম" : 4002
}
}

3、একটি নির্দিষ্ট এসএসআইডি সহ একটি ওয়াইফাই নেটওয়ার্ক প্রেরণ করুন

{
"শিরোনাম" : 4003,
"Wifi_ssid" : "ফিটপোলো",
"Wifi_pwd" : "ফিটপলো 1234"।,
"ওয়াইফাই_সিকিউরিটি" : 3
}

প্রতিক্রিয়া:

{
"কোড" : 0,
"বার্তা" : "সাফল্য",
"ফলাফল" : {
"শিরোনাম" : 4003
}
}

2.2 মোকো সাপোর্ট

2.2.1 এমকিউটিটি সার্ভারে সংযুক্ত করুন

1、MqttAndroidClient তৈরি করুন

সর্বজনীন শূন্য(স্ট্রিং হোস্ট, স্ট্রিং বন্দর, স্ট্রিং ক্লায়েন্টআইডি, বুলিয়ান tls সংযোগ)

সর্বজনীন শূন্য কানেক্ট(MqttConnectOptions বিকল্পসমূহ)
এমকিটিএলসিএলব্যাকহ্যান্ডলার অনুসারে তৈরির স্থিতি পান এবং রিটার্ন ডেটা ফর্ম সার্ভারটি পান

2、সার্ভারের সাথে সংযুক্ত করুন

@অগ্রাহ্য করা
সর্বজনীন শূন্য কানেক্ট কমপ্লিট(বুলিয়ান পুনরায় সংযোগ, স্ট্রিং সার্ভার) {

}
@অগ্রাহ্য করা
সর্বজনীন শূন্যতা যোগাযোগ(নিক্ষেপযোগ্য কারণ) {

}
@অগ্রাহ্য করা
সর্বজনীন শূন্য বার্তা পৌঁছেছে(স্ট্রিংয়ের বিষয়, MqttMessage বার্তা) ব্যতিক্রম ছোঁড়ে {

}

3、সম্প্রচারটি নিবন্ধভুক্ত করে সংযোগের স্থিতি পান:

সম্প্রচার অ্যাকশন:মোকো কনস্ট্যান্টস Aঅ্যাকশন_এমকিউT_CONNECTION

সংযোগ অবস্থা:

  • সংযোগ সাফল্য:MokoConstants.MQTT_CONN_STATUS_
    সাফল্য
  • সংযোগ বিচ্ছিন্ন:MokoConstants.MQTT_CONN_STATUS_LOST

4、সম্প্রচারটি রেজিস্ট্রেশন করে সার্ভার থেকে রিটার্ন ডেটা গ্রহণ করুন

সম্প্রচার অ্যাকশন:মোকো কনস্ট্যান্টস Aঅ্যাকশন_এমকিউT_RECEIVE

তথ্য ফিরিয়ে দিন:

  • তথ্য তথ্য ফেরত:
মোকো কনস্ট্যান্টস.অ্যাক্টরা_এমকিউT_RECEIVE_
শীর্ষস্থানীয়
  • তথ্য বার্তা ফিরে:
মোকো কনস্ট্যান্টস.অ্যাক্টরা_এমকিউT_RECEIVE_
বার্তা

রিটার্ন ডেটা জেএসএন ফর্ম্যাটে রয়েছে,যেমন:

{
"কোমপানির নাম" : "মোক",
"প্রস্তুতকরণ তারিখ" : "201801",
"পণ্যের ধরণ" : "প্লাগ_োন",
"ফার্মওয়্যার সংস্করণ" : "000001"
"ডিভাইস_ম্যাক" : “১১:22:33:44:55:66”
}

2.2.2 অ্যাকশন মনিটর

এমকিউটিটি যোগাযোগে চার ধরণের অ্যাকশন রয়েছে. প্রতিটি ক্রিয়া সম্পাদন করা, অ্যাকশনের অবস্থা পর্যবেক্ষণ করতে আপনাকে অ্যাকশনলিস্টনার সেট করতে হবে:

পাবলিক এনাম অ্যাকশন {
/**
* সংযোগ ক্রিয়া
**/
সংযুক্ত,
/**
* সাবস্ক্রাইব অ্যাকশন
**/
সাবস্ক্রাইব,
/**
* প্রকাশের ক্রিয়া
**/
প্রকাশ করুন,
/**
* সাবস্ক্রাইব অ্যাকশন
**/
বাতিল করুন
}

সম্প্রচারটি নিবন্ধভুক্ত করে ক্রিয়া স্থিতি পান:

1、সংযুক্ত

সম্প্রচার অ্যাকশন:মোকো কনস্ট্যান্টস Aঅ্যাকশন_এমকিউT_CONNECTION
সংযোগ ব্যর্থ হয়েছে:MokoConstants.MQTT_CONN_STATUS_FAILED

2、সাবস্ক্রাইব

সম্প্রচার অ্যাকশন:মোকো কনস্ট্যান্টস Aঅ্যাকশন_এমকিউT_SUBSCRIBE
বিষয় সাবস্ক্রাইব করুন:মোকো কনস্ট্যান্টস EXT টেক্সটরা_এমকিউT_RECEIVE_TOPIC
সদস্যতা স্থিতি:মোকো কনস্ট্যান্টস EXT টেক্সটরা_এমকিউT_STATE

3、প্রকাশ করুন

সম্প্রচার অ্যাকশন:মোকো কনস্ট্যান্টস A অ্যাকশন_এমকিউT_PUBLISH
স্ট্যাটাস প্রকাশ করুন:মোকো কনস্ট্যান্টস EXT টেক্সটরা_এমকিউT_STATE

4、বাতিল করুন

সম্প্রচার অ্যাকশন:মোকো কনস্ট্যান্টস Aঅ্যাকশন_এমকিউT_UNSUBSCRIBE
স্থিতিটি আনসাবস্ক্রাইব করুন:মোকো কনস্ট্যান্টস EXT টেক্সটরা_এমকিউT_STATE

2.2.3 সাবস্ক্রাইব বিষয়

মোকসসপোর্ট.জেটআইনস্ট্যান্স().সাবস্ক্রাইব(স্ট্রিংয়ের বিষয়, int qos)

2.2.4 তথ্য প্রকাশ করুন

মোকসসপোর্ট.জেটআইনস্ট্যান্স().প্রকাশ(স্ট্রিংয়ের বিষয়, MqttMessage বার্তা)

2.2.5 সাবস্ক্রাইব করা বিষয়

মোকসসপোর্ট.জেটআইনস্ট্যান্স().সাবস্ক্রাইব করুন(
স্ট্রিংয়ের বিষয়)

2.2.6 এমকিউটিটি সংযুক্ত কিনা তা নির্ধারণ করুন

মোকসসপোর্ট.জেটআইনস্ট্যান্স().সংযুক্ত()

2.2.7 সংযোগ বিচ্ছিন্ন

মোকসসপোর্ট.জেটআইনস্ট্যান্স().সংযোগ বিচ্ছিন্ন করুন()

5.এসডি কার্ডে লগ সংরক্ষণ করুন

SDK লগটিকে এসডি কার্ড ফাংশনে সঞ্চিত করে, যাকে https বলা হয়://github.com/elvishew/xLog মোকোসপোর্ট.জেটইনস্ট্যান্সে সূচনা পদ্ধতি().এটা(
getApplicationContext()) এসডি কার্ডে সংরক্ষিত ফোল্ডারের নাম এবং ফাইলের নামটি সংশোধন করা যেতে পারে.

পাবলিক ক্লাস লগমডুল {
ব্যক্তিগত স্ট্যাটিক চূড়ান্ত স্ট্রিং TAG = "মোকো লাইফ";// ফাইলের নাম
ব্যক্তিগত স্ট্যাটিক ফাইনাল স্ট্রিং LOG_FOLDER = "মোকো লাইফ";// ফোল্ডারের নাম

}

স্টোরেজ কৌশল: কেবল দিনের ডেটা এবং আগের দিনের ডেটা সংরক্ষণ করুন , ফাইলটি.বাকের সাথে প্রত্যয়যুক্ত

কল পদ্ধতি:

লগমোডুল.ভি("লগ তথ্য");
লগমোডুল.ড("লগ তথ্য");
লগমোডুল.আই("লগ তথ্য");
লগমোডুল.ইউ("লগ তথ্য");
লগমোডুল.ই.("লগ তথ্য");