
سلام ټولو ته! دا مقاله به په تفصیل سره تشریح کړي او وښيي چې څنګه د esp8266 ماډل ریموټ کنټرول یوازې په 20 دقیقو کې د اپلیکیشن په کارولو سره تنظیم کړئ. Android د MQTT پروتوکول له لارې.
د ریموټ کنټرول او نظارت نظر تل د خلکو ذهنونه د بریښنایی او برنامه کولو په اړه لیواله کړي. په هرصورت، ستاسو د موقعیت په پام کې نیولو پرته، په هر وخت کې د اړین معلوماتو ترلاسه کولو یا لیږلو وړتیا کافی فرصتونه چمتو کوي. زما په تیرو مقالو کې ( и ) ما هڅه وکړه چې د انټرنیټ له لارې د مایکرو کنټرولرونو ریموټ کنټرول پلي کولو لپاره د لاسرسي وړ او نسبتا ساده اختیارونه په پام کې ونیسم. په هرصورت، وخت او ټوله نړۍ لاهم ولاړه نه ده - پرمختګ خپل غیر معمولي حرکت ته دوام ورکوي. پدې لنډ وخت کې ، د esp8266 ماډل پراخه شهرت ترلاسه کړ ، کوم چې د دې ټیټ نرخ او جوړ شوي وائی فای څخه مننه ، د سمارټ کور یو له اصلي برخو څخه ګرځیدلی.
په اوس وخت کې، MQTT د سمارټ کور سیسټمونو کې د انفرادي وسیلو ترمنځ د معلوماتو لیږد لپاره پرمختللی او خورا مشهور پروتوکول دی. دا د نورو پروتوکولونو په پرتله یو شمیر ګټې لري:
- د ټرافیک کم مصرف؛
- د پیرودونکي او سرور ترمنځ اړیکه تل خلاصه وي؛
- د انټرنیټ چینل نه پورته کوي؛
- د معلوماتو په لیږد کې هیڅ ځنډ نشته؛
- د موضوعاتو لپاره د ګډون مناسب سیسټم؛
دا ټول په ریښتیني وخت کې نظارت او کنټرول امکان ورکوي. په هرصورت، MQTT خپل سرور ته اړتیا لري، کوم چې د شبکې پیرودونکو ترمنځ د منځګړیتوب په توګه کار کوي. دلته دوه اختیارونه شتون لري: یا خپل سرور جوړ کړئ یا د دریمې ډلې خدمات وکاروئ.
تشریح شوی کنټرول سیسټم دوه اصلي برخې لري: د MQTT سرور (معمولا یوازې یو) او مراجعین، چې له دې څخه ډیری یې کیدی شي. زموږ په قضیه کې، مراجعین به یو غوښتنلیک وي چې روان دی Android او د esp8266 ماډل پخپله.
د سیسټم عملیات الګوریتم په لاندې ډول دی. پیرودونکي سرور سره وصل کیږي او سمدلاسه د وصل کیدو وروسته ، هر یو د هغه سره د علاقې وړ موضوعاتو کې ګډون کوي. د پیرودونکو ترمنځ ټولې اړیکې د سرور له لارې لیږدول کیږي، کوم چې د دوی د ګډون پراساس نورو پیرودونکو ته ډاټا لیږل کیږي.
د MQTT سرور.
زموږ په قضیه کې، موږ به یو خورا مناسب خدمت وکاروو کوم چې د وړیا تعرفې پلان لري (ښکلی بلی) ، کوم چې به د خپل کوچني "سمارټ کور" سیسټم پلي کولو اړتیاوې په بشپړ ډول پوښي.

راځئ چې په سایټ کې راجستر کړو او سرور ته د لاسرسي لپاره اړین معلومات ترلاسه کړو. کله چې د مراجعینو ترتیب کول، تاسو باید منظم پورټ وکاروئ (پرته SSL او TLS).

غوښتنلیک په Android.
زموږ غوښتنلیک به د مایکرو کنټرولر لپاره د کنټرول پینل په توګه عمل وکړي ، او د esp8266 څخه ترلاسه شوي ټول معلومات به ترلاسه او ښکاره کړي.
غوښتنلیک ویل کیږي او یو چمتو شوی mqtt پیرودونکی دی چې د لږ شمیر خورا اسانه ویجټونو سره. تاسو کولی شئ د غوښتنلیک کارولو څرنګوالي په اړه د نورو جزیاتو لپاره ویډیو وګورئ.
ایس پي ۸۲۶۶.
ماډل د Arduino پروګرام کولو چاپیریال کې فلش شوی، مګر زه غواړم یادونه وکړم چې ماډل د Arduino په وروستي نسخو کې د فرم ویئر سره ستونزې لري، نو زه د 1.6.4 نسخه کارولو وړاندیز کوم.
د مثال په توګه، یو LED (8266 پن) او د ds5b18 تودوخې سینسر (20 پن) د esp2 سره وصل دی.
څرنګه چې د LED کنټرول لپاره دا اړینه ده چې ډاټا ترلاسه کړئ، د esp سره نښلولو وروسته باید اړونده "ټیسټ/لیډ" موضوع کې ګډون وکړي، که نه نو ټول لیږل شوي ډاټا به زموږ د مایکرو کنټرولر لخوا تیریږي.
د تودوخې ډیټا لیږلو لپاره ، تاسو ګډون ته اړتیا نلرئ ، مګر کله چې د تودوخې ارزښتونه واستوئ ، تاسو باید هغه موضوع په ګوته کړئ چې دا ډاټا به ورته ځي.
لاندې د مفصلو نظرونو سره یو خاکه ده.
سکیچ Esp8266_mqtt.ino// Светодиод подлкючен к 5 пину
// Датчик температуры ds18b20 к 2 пину
#شامل کړئ
#شامل کړئ
#شامل کړئ
#شامل کړئ
#ONE_WIRE_BUS 2 تعریف کړئ
یو وایر یو وایر (ONE_WIRE_BUS)؛
د ډالاس د تودوخې سینسرونه (&oneWire)؛
const char *ssid = "هوايي ډګر"؛ // د وای فای لاسرسي نقطې نوم
const char *pass = "پاسورډ"؛ // د لاسرسي نقطې څخه پټنوم
د const چار *mqtt_server = "سرور"؛ // د MQTT سرور نوم
const int mqtt_port = 11140؛ // د MQTT سرور سره د نښلولو لپاره پورټ
const char *mqtt_user = "ننوتل"؛ // د سرور څخه لاګونه
const char *mqtt_pass = "پاس"؛ // د سرور پټنوم
#BUFFER_SIZE 100 تعریف کړئ
بول لیډ سټیټ = غلط؛
انټ ټي ايم = ۳۰۰؛
د لامبو درجه حرارت = 0؛
// د سرور څخه د معلوماتو ترلاسه کولو لپاره فعالیت
باطل کال بیک (const MQTT::Publish&pub)
{
Serial.print(pub.topic()); // د موضوع نوم د سریال پورټ ته واستوئ
سیریل.پرنټ(" => ");
Serial.print(pub.payload_string()); // د ترلاسه شوي معلوماتو ارزښت سریال پورټ ته واستوئ
د سټرینګ پیلوډ = pub.payload_string();
if(String(pub.topic()) == "test/led") // وګورئ چې ایا معلومات له هغه موضوع څخه راغلي چې موږ ورته اړتیا لرو
{
int stled = payload.toInt(); // ترلاسه شوي معلومات د عدد ډول ته واړوئ
ډیجیټل رایټ (5، سټلډ)؛ // د ترلاسه شوي معلوماتو ارزښتونو پورې اړه لري LED فعال یا بند کړئ
}
}
د وای فای مراجعین؛
د پب سب کلینټ مراجع (wclient، mqtt_server، mqtt_port)؛
باطل تنظیم () {
سینسرونه. پیل ();
سریال.بګین (115200)؛
ځنډ (10)؛
Serial.println ()؛
Serial.println ()؛
پن موډ (5 ، OUTPUT)؛
}
باطل لوپ () {
// وای فای سره وصل شئ
که (وای فای. حالت () != WL_CONNECTED) {
سیریل.پرنټ("سره نښلول");
سریال.پرنټ(ssid);
سریال.پرنټ ایل این ("...")؛
وای فای.بیګن(ایس ایس آی ډي، پاس)؛
که چیرې (WiFi.waitForConnectResult() != WL_CONNECTED)
بېرته
سیریل.پرنټ ایل این ("وای فای سره وصل شوی")؛
}
// د MQTT سرور سره وصل شئ
که (وای فای. حالت () == WL_CONNECTED) {
که (!client.connected()) {
Serial.println("د MQTT سرور سره نښلول");
که (client.connect(MQTT::Connect("arduinoClient2")
.سیټ_اوت(mqtt_کاروونکی، mqtt_پاس))) {
سیریل.پرنټ ایل این ("د MQTT سرور سره وصل دی")؛
client.set_callback(بېرته زنګ وهل)؛
client.subscribe("test/led"); // د LED لپاره د معلوماتو سره موضوع ته ګډون وکړئ
} else {
Serial.println("د MQTT سرور سره وصل نشو");
}
}
که (client.connected()) {
مراجع.لوپ()؛
ټیمپ سینډ ()؛
}
}
} // د اصلي لوپ پای
// د تودوخې سینسر څخه د لوستلو لیږلو لپاره فعالیت
باطل ټیمپ سینډ () {
که (tm==0)
{
sensors.requestTemperatures(); // موږ د سینسر څخه د تودوخې ارزښت ترلاسه کوو
د فلوټ حرارت = سینسرونه.getTempCByIndex(0);
client.publish("test/temp",String(temp)); // د تودوخې سینسر لپاره موضوع ته د تودوخې ارزښت واستوئ
سیریل.پرنټ ایل این (ټیمپ)؛
tm = 300؛ // د تودوخې ارزښتونو لیږلو ترمنځ وقفه شاوخوا 3 ثانیې
}
ټم--;
ځنډ (10)؛
}
د پایلې په توګه، موږ د ریموټ کنټرول او ډیټا څارنې لپاره یو مناسب وسیله ترلاسه کوو چې زده کول خورا اسانه دي او حتی پیل کونکي یې کارولی شي.
ویډیو د کنټرول سیسټم عملیات څرګندوي

د سیسټم تنظیم کولو لپاره تفصيلي ویډیو لارښوونې

د MQTT پروتوکول له لارې د esp8266 کنټرول کارولو لپاره یو له اختیارونو څخه

د انټرنیټ له لارې د LED پټې کنټرول

که تاسو د دې موادو په اړه کومه پوښتنه لرئ، زه وړاندیز کوم چې د ویډیو دویمه برخه وګورئ، چیرې چې مواد په روښانه توګه وړاندې کیږي.
آرشیف د مثال څخه د سکیچ سره د مایکرو کنټرولر فلش کولو لپاره سکیچ او ټول اړین کتابتونونه لري.
مهرباني وکړئ په یاد ولرئ چې د ESP8266WiFi.h کتابتون په دې آرشیف کې شامل نه دی؛ دا د Arduino چاپیریال کې د بورډ مدیر له لارې نصب شوی.
د MQTT سرور -
د IoT MQTT ډشبورډ اپلیکیشن لینک -
ستاسو د پاملرنې څخه مننه.
سرچینه: www.habr.com
