Სარჩევი:

NodeMCU - MQTT ძირითადი მაგალითი: 4 ნაბიჯი
NodeMCU - MQTT ძირითადი მაგალითი: 4 ნაბიჯი

ვიდეო: NodeMCU - MQTT ძირითადი მაგალითი: 4 ნაბიჯი

ვიდეო: NodeMCU - MQTT ძირითადი მაგალითი: 4 ნაბიჯი
ვიდეო: ESP8266 Diesel Injector Purging Station - PWM NodeMCU pump flow Control (Subtittled) 2024, ივლისი
Anonim
Image
Image

ეს გაკვეთილი აჩვენებს MQTT პროტოკოლის ძირითად გამოყენებას NodeMCU დაფაზე.ჩვენ ვიყენებთ MQTTBox– ს, როგორც MQTT კლიენტს აქ და ჩვენ გამოვიყენებთ NodeMCU– ს შემდეგი ოპერაციების დასასრულებლად:

გამოაქვეყნეთ "გამარჯობა სამყარო" თემაზე "outTopic" ყოველ ორ წამში. გამოიწერეთ თემა "inTopic", დაბეჭდეთ ნებისმიერი მიღებული შეტყობინება. იგი მიიჩნევს, რომ მიღებული დატვირთვები არის სტრიქონები და არა ორობითი. თუ გამოწერილი შეტყობინება არის "1", აანთეთ ბორტზე LED. გამორთეთ საბორტო LED, თუ გამოწერის შეტყობინება არის "0".

მომზადება: Osoyoo NodeMCU x1

USB კაბელი x1

კომპიუტერი x1

Arduino IDE (ვერსია 1.6.4+)

შეაერთეთ NodeMCU კომპიუტერთან USB კაბელის საშუალებით.

ნაბიჯი 1: ბიბლიოთეკის დაყენება

ბიბლიოთეკის ინსტალაცია
ბიბლიოთეკის ინსტალაცია
ბიბლიოთეკის ინსტალაცია
ბიბლიოთეკის ინსტალაცია

დააინსტალირეთ PubSubClientlibrary

ჩვენ გვჭირდება MQTT საბოლოო ბიბლიოთეკის დაყენება (PubSubClient) MQTT ბროკერთან დასაკავშირებლად, გთხოვთ გადმოწეროთ ბიბლიოთეკა შემდეგი ბმულიდან:

გახსენით ფაილი ზემოთ, გადაიტანეთ გახსნილი საქაღალდე Arduino IDE ბიბლიოთეკის საქაღალდეში.

გახსენით Arduino IED, თქვენ შეგიძლიათ იპოვოთ "pubsubclient" სვეტში "მაგალითები".

დააინსტალირეთ MQTT კლიენტი:

ჩვენ გამოვიყენებთ MQTTBox– ს, როგორც MQTT კლიენტს. გთხოვთ გადმოწეროთ:

ნაბიჯი 2: კოდი

კოდი
კოდი
კოდი
კოდი

გახსენით Arduino IDE–> ფაილი–> მაგალითი–> pubsubclient–> mqtt esp8266, თქვენ მიიღებთ კოდის ნიმუშს.

შეცვალეთ კოდი თქვენი WiFi და MQTT პარამეტრების შესაბამისად შემდეგი ოპერაციებისთვის: 1) ცხელი წერტილის კონფიგურაცია: იპოვეთ კოდის ქვემოთ, ჩაწერეთ თქვენი საკუთარი ssid და პაროლი იქ.

const char* ssid = "your_hotspot_ssid"; const char* პაროლი = "your_hotspot_password";

2) MQTT სერვერის მისამართის დაყენება, აქ ჩვენ ვიყენებთ უფასო MQTT ბროკერს "broker.mqtt-dashboard.com". თქვენ შეგიძლიათ გამოიყენოთ თქვენი საკუთარი MQTT ბროკერის URL ან IP მისამართი mqtt_server ღირებულების ზემოთ დასადგენად. თქვენ ასევე შეგიძლიათ გამოიყენოთ რამდენიმე ცნობილი უფასო MQTT სერვერი პროექტის შესამოწმებლად, როგორიცაა "broker.mqtt-dashboard.com", "iot.eclipse.org" და ა.

const char* mqtt_server =”საბროკერო.mqtt-dashboard.com”;

3) MQTT კლიენტის პარამეტრები თუ თქვენი MQTT ბროკერი მოითხოვს clientID, მომხმარებლის სახელი და პაროლის ავთენტიფიკაციას, თქვენ უნდა

შეცვლა

თუ (client.connect (clientId.c_str ()))

დან

if (client.connect (clientId, userName, passWord)) // განათავსეთ თქვენი clientId/userName/passWord აქ

თუ არა, უბრალოდ შეინახეთ ისინი ნაგულისხმევად. ამის შემდეგ შეარჩიეთ შესაბამისი დაფის ტიპი და პორტის ტიპი ქვემოთ, შემდეგ კი ატვირთეთ ესკიზი NodeMCU- ში.

  • დაფა:”NodeMCU 0.9 (ESP-12 მოდული)”
  • პროცესორის სიხშირე:”80 MHz” Flash ზომა:”4M (3M SPIFFS)”
  • ატვირთვის სიჩქარე:”115200
  • პორტი: შეარჩიეთ თქვენი სერიული პორტი თქვენი NodeMCU– სთვის

ნაბიჯი 3: MQTT კლიენტის (MQTTBOX) კონფიგურაცია

MQTT კლიენტის (MQTTBOX) კონფიგურაცია
MQTT კლიენტის (MQTTBOX) კონფიგურაცია
MQTT კლიენტის (MQTTBOX) კონფიგურაცია
MQTT კლიენტის (MQTTBOX) კონფიგურაცია
MQTT კლიენტის (MQTTBOX) კონფიგურაცია
MQTT კლიენტის (MQTTBOX) კონფიგურაცია
MQTT კლიენტის (MQTTBOX) კონფიგურაცია
MQTT კლიენტის (MQTTBOX) კონფიგურაცია

ამ ნაბიჯში ჩვენ ვაჩვენებთ როგორ შევქმნათ MQTT კლიენტი MQTTBox– ზე.

გახსენით თქვენი MQTTBox და დააჭირეთ ლურჯ ღილაკს ახალი MQTT კლიენტის დასამატებლად.

დააკონფიგურირეთ MQTT CLIENT SETTINGS ქვემოთ:

  • MQTT კლიენტის სახელი - შეარჩიეთ თქვენთვის სასურველი სახელი
  • პროტოკოლი - აირჩიეთ "mqtt/tcp"
  • მასპინძელი - ჩაწერეთ თქვენი "mqtt_server" ამ სვეტში, დარწმუნდით, რომ ეს იგივეა, რაც თქვენი ესკიზი. (ჩვენ ვიყენებთ "broker.mqtt-dashboard.com" აქ)
  • შეინახეთ სხვა პარამეტრები ნაგულისხმევად
  • დააწკაპუნეთ თქვენი ცვლილებების შესანახად.

შემდეგი, თქვენ ავტომატურად შეხვალთ ახალ გვერდზე. თუ ყველა ზემოთ კონფიგურაცია სწორია, "არ არის დაკავშირებული" შეიცვლება "დაკავშირებულია", თქვენი MQTT კლიენტის სახელი და მასპინძლის სახელი ნაჩვენები იქნება ამ გვერდის ზედა ნაწილში.

თემის პარამეტრი: დარწმუნდით, რომ თქვენი MQTT კლიენტის გამოქვეყნების თემა იგივეა, რაც თქვენი Arduino ესკიზის გამოწერის თემა (inTopic აქ. დარწმუნდით, რომ თქვენი MQTT კლიენტის გამოწერის თემა იგივეა, რაც თქვენი Arduino ესკიზის გამოქვეყნების თემა (გარეგანი თემა აქ.

ნაბიჯი 4: პროგრამის მუშაობის შედეგი

პროგრამის მიმდინარე შედეგი
პროგრამის მიმდინარე შედეგი
პროგრამის მიმდინარე შედეგი
პროგრამის მიმდინარე შედეგი
პროგრამის მიმდინარე შედეგი
პროგრამის მიმდინარე შედეგი
პროგრამის მიმდინარე შედეგი
პროგრამის მიმდინარე შედეგი

გადმოტვირთვის დასრულების შემდეგ, თუ wifi ცხელი წერტილის სახელი და პაროლი დაყენებულია და MQTT ბროკერი დაკავშირებულია, გახსენით სერიული მონიტორი, სერიულ მონიტორზე დაინახავთ გამოქვეყნების შეტყობინებას „hello world“.

შემდეგ გახსენით MQTT კლიენტი და გამოაქვეყნეთ დატვირთვა „1“თემაზე, ეს NodeMCU მიიღებს ამ შეტყობინებებს „inTopic“- ის გამოწერით და LED განათდება.

გამოაქვეყნეთ დატვირთვა "0" ამ თემაზე, NodeMCU LED გამორთული იქნება.

გირჩევთ: