Სარჩევი:
- ნაბიჯი 1: კომპონენტები:
- ნაბიჯი 2: ძირითადი სენსორი: ნიადაგის ტენიანობა FC 28
- ნაბიჯი 3: MQTT- ის გაგება: დისტანციური მონაცემების გამოქვეყნებისთვის
- ნაბიჯი 4: MQTT: MQTT საბროკერო ანგარიშის შექმნა
- ნაბიჯი 5: MQTT: ინსტანციის შექმნა
- ნაბიჯი 6: MQTT: ინფორმაცია შემთხვევის შესახებ
- ნაბიჯი 7: MQTT: მომხმარებლის დამატება
- ნაბიჯი 8: MQTT: ACL წესის მინიჭება
- ნაბიჯი 9: ნოდემკუ: კონფიგურაცია
- ნაბიჯი 10: ნოდემკუ: ატვირთეთ ლუას სკრიპტები ნოდემკუში ESPlorer_1– ით
- ნაბიჯი 11: ნოდემკუ: ატვირთეთ ლუას სკრიპტები ნოდემკუში ESPlorer_II– ით
- ნაბიჯი 12: ნოდემკუ: ატვირთეთ ლუას სკრიპტები ნოდემკუში ESPlorer_III– ით
- ნაბიჯი 13: ნოდემკუ: არდუინოს კონფიგურაცია ნოდემკუსთან სასაუბროდ
- ნაბიჯი 14: ნოდემკუ: MQTT კლიენტის დაყენება Android- ში
- ნაბიჯი 15: დამატებითი ნაბიჯები: Nokia LCD 5110 -თან მუშაობა
- ნაბიჯი 16: საბოლოო შეკრება
ვიდეო: მონიტორინგი თქვენს ბაღში: 16 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
გააკონტროლეთ თქვენი ბაღი ნებისმიერი ადგილიდან, გამოიყენეთ ადგილობრივი ეკრანი ნიადაგის მდგომარეობის მონიტორინგისთვის ადგილობრივად ან გამოიყენეთ მობილური დისტანციური მონიტორინგისთვის. წრე იყენებს ნიადაგის ტენიანობის სენსორს, ტემპერატურასა და ტენიანობასთან ერთად, რათა გააცნობიეროს ნიადაგის გარემო პირობები.
ნაბიჯი 1: კომპონენტები:
- არდუინო უნო
- ნოდემკუ
- ტემპერატურისა და ტენიანობის სენსორი DHT 11
- ნიადაგის ტენიანობის სენსორი - FC28
- ბატარეის ბანკი 10000mah (არდუინოს და ნოდემკუს გააქტიურებისათვის)
- Nokia LCD 5110
- რეზიდენტი (5 x 10k, 1 x 330ohms)
- პოტენომეტრი მბრუნავი ტიპი (LCD სიკაშკაშის შესაცვლელად) 0-100K
- ჯუმბერის მავთულები
- პურის დაფა
ნაბიჯი 2: ძირითადი სენსორი: ნიადაგის ტენიანობა FC 28
ტენიანობის გასაზომად, ჩვენ ვიყენებთ ნიადაგის ტენიანობის სენსორს FC 28, რომლის ძირითადი პრინციპი ასეთია:-
FC-28 ნიადაგის ტენიანობის სენსორის მახასიათებლები შემდეგია: შეყვანის ძაბვა: 3.3-5V
გამომავალი ძაბვა: 0 - 4.2V
შეყვანის დენი: 35mA
გამომავალი სიგნალი: როგორც ანალოგური, ასევე ციფრული
FC-28 ნიადაგის ტენიანობის სენსორს აქვს ოთხი ქინძისთავები: VCC: სიმძლავრე
A0: ანალოგური გამომავალი
D0: ციფრული გამომავალი
GND: გრუნტი
სენსორის ანალოგიურ რეჟიმში დასაკავშირებლად, ჩვენ უნდა გამოვიყენოთ სენსორის ანალოგური გამომავალი. ნიადაგის ტენიანობის სენსორიდან FC-28– ის ანალოგური გამოყვანისას, სენსორი გვაძლევს მნიშვნელობას 0 – დან 1023 – მდე. ტენიანობა იზომება პროცენტულად, ამიტომ ჩვენ ამ მნიშვნელობებს დავხატავთ 0 – დან 100 – მდე და შემდეგ ჩვენ ვაჩვენებთ ამ მნიშვნელობებს სერიული მონიტორი. თქვენ შეგიძლიათ დააყენოთ ტენიანობის მნიშვნელობების სხვადასხვა დიაპაზონი და ამის მიხედვით ჩართოთ ან გამორთოთ წყლის ტუმბო.
მოდული ასევე შეიცავს პოტენომეტრს, რომელიც განსაზღვრავს ბარიერის მნიშვნელობას. ამ ბარიერის მნიშვნელობას შეადარებს LM393 შედარება. გამომავალი LED ნათდება და იკლებს ამ ბარიერის მნიშვნელობის შესაბამისად.
ნიადაგის ტენიანობის სენსორთან ურთიერთობის კოდი მიიღება შემდგომი ნაბიჯებით
ნაბიჯი 3: MQTT- ის გაგება: დისტანციური მონაცემების გამოქვეყნებისთვის
სანამ შემდგომ მუშაობას დავიწყებდეთ, მოდით გავარკვიოთ IOT– ის მონაცემთა დისტანციური გამოქვეყნება
MQTT ნიშნავს MQ Telemetry Transport. ეს არის გამოქვეყნების/გამოწერის, უკიდურესად მარტივი და მსუბუქი შეტყობინებების პროტოკოლი, რომელიც შექმნილია შეზღუდული მოწყობილობებისთვის და დაბალი გამტარუნარიანობით, მაღალი შეყოვნებით ან არასაიმედო ქსელებისთვის. დიზაინის პრინციპებია ქსელის გამტარუნარიანობის და მოწყობილობის რესურსების მოთხოვნების მინიმუმამდე შემცირება, ასევე საიმედოობისა და მიწოდების უზრუნველყოფის გარკვეული ხარისხის მცდელობა. ეს პრინციპები ასევე გამოდის, რომ პროტოკოლი იდეალური გახდება დაკავშირებული მოწყობილობების "მანქანა-მანქანამდე" (M2M) ან "ნივთების ინტერნეტი" სამყაროში და მობილური აპლიკაციებისთვის, სადაც გამტარუნარიანობა და ბატარეის სიმძლავრე პრიმიტიულია.
წყარო:
MQTT [1] (MQ Telemetry Transport ან Message Queuing Telemetry Transport) არის ISO სტანდარტი (ISO/IEC PRF 20922) [2] გამოქვეყნება-გამოწერაზე დაფუძნებული შეტყობინებების პროტოკოლი. ის მუშაობს TCP/IP პროტოკოლის თავზე. იგი შექმნილია დისტანციურ ადგილებთან კავშირებისთვის, სადაც საჭიროა "მცირე კოდის ნაკვალევი" ან ქსელის გამტარობა შეზღუდულია.
წყარო:
ნაბიჯი 4: MQTT: MQTT საბროკერო ანგარიშის შექმნა
არსებობს სხვადასხვა MQTT საბროკერო ანგარიში, ამ გაკვეთილისთვის მე გამოვიყენე cloudmqtt (https://www.cloudmqtt.com/)
CloudMQTT მართულია Mosquitto სერვერები ღრუბელში. Mosquitto ახორციელებს MQ Telemetry Transport პროტოკოლს, MQTT, რომელიც ითვალისწინებს შეტყობინებების გაცემის მსუბუქი მეთოდებს გამოქვეყნების/გამოწერის შეტყობინებების რიგის მოდელის გამოყენებით.
შემდეგი ნაბიჯები უნდა შესრულდეს cloudmqtt ანგარიშის საბროკეროდ დასაყენებლად
- შექმენით ანგარიში და შედით მართვის პანელში
- დააჭირეთ შექმნა+ ახალი ინსტანციის შესაქმნელად
- დასაწყებად, ჩვენ უნდა დარეგისტრირდეთ მომხმარებელთა გეგმაზე, ჩვენ შეგვიძლია ვცადოთ CloudMQTT უფასოდ CuteCat გეგმით.
- "ინსტანციის" შექმნის შემდეგ, შემდეგი ნაბიჯი არის მომხმარებლის შექმნა და შემდგომში მომხმარებლისთვის ნებართვის მინიჭება შეტყობინებებზე წვდომისათვის (ACL წესების საშუალებით)
MQTT საბროკერო ანგარიშის cloudmqtt– ში დაყენების სრულ გზამკვლევს შეგიძლიათ მიჰყევით ბმულს: -
ყველა ზემოთ ჩამოთვლილი ნაბიჯი სათითაოდ არის მოთავსებული შემდეგ სლაიდებში
ნაბიჯი 5: MQTT: ინსტანციის შექმნა
მე შევქმენი შემთხვევა სახელწოდებით "myIOT"
გეგმა: საყვარელი გეგმა
ნაბიჯი 6: MQTT: ინფორმაცია შემთხვევის შესახებ
მაგალითი დაუყოვნებლივ არის გათვალისწინებული რეგისტრაციის შემდეგ და თქვენ შეგიძლიათ ნახოთ მაგალითის დეტალები, როგორიცაა კავშირის ინფორმაცია, დეტალების გვერდზე. თქვენ ასევე შეგიძლიათ მიაღწიოთ მენეჯმენტის ინტერფეისს იქიდან. ზოგჯერ თქვენ უნდა გამოიყენოთ კავშირის მითითებული URL
ნაბიჯი 7: MQTT: მომხმარებლის დამატება
შექმენით მომხმარებელი სახელით "nodemcu_12" და მიეცით პაროლი
ნაბიჯი 8: MQTT: ACL წესის მინიჭება
ახალი მომხმარებლის შექმნის შემდეგ (nodemcu_12) შეინახეთ ახალი მომხმარებელი, ახლა შემდგომი ACL უნდა მიეწოდოს ახალ მომხმარებელს. თანდართულ სურათზე ჩანს, რომ მე მივეცი მომხმარებელს როგორც კითხვის, ასევე წერის წვდომა.
გთხოვთ გაითვალისწინოთ: თემა უნდა დაემატოს როგორც ნაჩვენებია ფორმატში (ეს დამატებით საჭიროა კვანძიდან MQTT კლიენტზე წასაკითხად და წერისთვის)
ნაბიჯი 9: ნოდემკუ: კონფიგურაცია
ამ კონკრეტულ პროექტში მე გამოვიყენე nodemcu Knewron Technologies– დან, მეტი ინფორმაციის მიღება შეგიძლიათ ბმულის მიხედვით: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)
როგორც ჩანს, NodeMCU არის eLua– ზე დაფუძნებული firmware ESP8266 WiFi SOC– ისთვის Espressif– დან. Nodemcu საწყისი knowron არის დატვირთული firmware, ამიტომ ჩვენ უბრალოდ უნდა ჩავტვირთოთ პროგრამული უზრუნველყოფა კერძოდ: -
- init.lua
- setup.lua
- config.lua
- app.lua
ყველა ზემოთ ჩამოთვლილი ლუას სკრიპტის გადმოწერა შესაძლებელია Github– დან ბმულით: ჩამოტვირთეთ Github– დან
ზემოთ მოყვანილი lua სკრიპტებიდან შეცვალეთ config.lua სკრიპტები MQTT მასპინძლის სახელით, პაროლით, wifi ssid და ა.
იმისათვის, რომ გადმოვწეროთ ზემოთ ჩამოთვლილი სკრიპტები nodemcu– ზე, ჩვენ უნდა გამოვიყენოთ ისეთი ინსტრუმენტები, როგორიცაა „ESPlorer“, დამატებითი ინფორმაციისათვის მიმართეთ დოკუმენტებს:
ESPlorer– თან მუშაობა აღწერილია შემდეგ ეტაპზე
ნაბიჯი 10: ნოდემკუ: ატვირთეთ ლუას სკრიპტები ნოდემკუში ESPlorer_1– ით
- დააწკაპუნეთ განახლების ღილაკზე
- შეარჩიეთ COM (კომუნიკაცია) პორტი და სიჩქარე (ხშირად გამოიყენება 9600)
- დააწკაპუნეთ გახსნაზე
ნაბიჯი 11: ნოდემკუ: ატვირთეთ ლუას სკრიპტები ნოდემკუში ESPlorer_II– ით
ნაბიჯი 12: ნოდემკუ: ატვირთეთ ლუას სკრიპტები ნოდემკუში ESPlorer_III– ით
შენახვისა და შედგენის ღილაკი გამოაგზავნის ოთხივე ლუას სკრიპტს nodemcu– ზე, მას შემდეგ რაც ეს nodemcu მზად იქნება ისაუბროს ჩვენს arduino– სთან.
შეაგროვეთ ჩიპის პირადობის მოწმობის ინფორმაცია:
ყველა ნოდემკუს აქვს ჩიპის ID (ალბათ არა.), ამ ჩიპის პირადობის მოწმობა დამატებით საჭიროა MQTT ბროკერისთვის შეტყობინების გამოსაქვეყნებლად, რათა ვიცოდეთ ჩიპის ID- ს შესახებ დააჭირეთ ღილაკს Chip id "ESPlorer" - ში
ნაბიჯი 13: ნოდემკუ: არდუინოს კონფიგურაცია ნოდემკუსთან სასაუბროდ
ქვემოთ მოყვანილი კოდი განსაზღვრავს ნიადაგის ტენიანობას, ტემპერატურასა და ტენიანობას და შემდგომ აჩვენებს მონაცემებს nokia LCD 5110 – ზე და სერიულად.
არდუინოს კოდი
ვიდრე დაკავშირება Arduino RX --- Nodemcu TX
Arduino TX --- Nodemcu RX
ზემოაღნიშნული კოდი ასევე მოიცავს რბილი სერიული ბიბლიოთეკის გამოყენების გზებს, რომლითაც DO ქინძისთავები ასევე შეიძლება გამოყენებულ იქნას სერიული ქინძისთავებად, მე გამოვიყენე RX/TX ქინძისთავები nodemcu სერიულ პორტთან დასაკავშირებლად.
სიფრთხილე: ვინაიდან nodemcu მუშაობს 3.3V– ით, გირჩევთ გამოიყენოთ დონის ცვლადი, თუმცა მე პირდაპირ ვუკავშირდები ყოველგვარი დონის შემამცირებლის გარეშე და შესრულება ზუსტად ეჩვენება ზემოთ მითითებულ პროგრამას.
ნაბიჯი 14: ნოდემკუ: MQTT კლიენტის დაყენება Android- ში
Android კლიენტთან მობილურით ინფორმაციის სანახავად ბოლო ნაბიჯი:-
არსებობს MQTT android პროგრამის მრავალფეროვნება, მე გამოვიყენე Google Play– დან შემდეგი ბმულით:
.https://play.google.com/store/apps/details?
Android აპლიკაციის კონფიგურაცია საკმაოდ მარტივია და თქვენ უნდა დააკონფიგურიროთ შემდეგი
- MQTT მასპინძლის მისამართი პორტთან ერთად
- MQTT მომხმარებლის სახელი და მისამართი
- MQTT საბროკერო კვანძის მისამართი
ზემოაღნიშნული დეტალების დამატების შემდეგ, დააკავშირეთ პროგრამა, თუ პროგრამა დაკავშირებულია MQTT ბროკერთან, მაშინ ყველა შესვლის სტატუსი / სერიული კომუნიკაციის მონაცემები arduino– დან გამოჩნდება როგორც ჟურნალი.
ნაბიჯი 15: დამატებითი ნაბიჯები: Nokia LCD 5110 -თან მუშაობა
ქვემოთ მოცემულია პინის კონფიგურაცია LCD 5110– ისთვის
1) RST - გადატვირთვა
2) CE - ჩიპის ჩართვა
3) D/C - მონაცემები/ბრძანების შერჩევა
4) DIN - სერიული შეყვანა
5) CLK - საათის შეყვანა
6) VCC - 3.3V
7) LIGHT - უკანა განათების კონტროლი
8) GND - გრუნტი
როგორც ზემოთ იყო ნაჩვენები, შეუერთეთ arduino– ს LCD 5110 – თან ზემოთ, თანმიმდევრობით 1-10 K რეზისტორით.
ქვემოთ მოცემულია LCD 5110– ის დამაკავშირებელი კავშირები Arduino uno– სთვის
- CLK - Arduino ციფრული პინი 3
- DIN - Arduino ციფრული პინი 4
- D/C - Arduino ციფრული პინი 5
- RST - Arduino ციფრული პინი 6
- CE - Arduino ციფრული პინ 7
LCD 5110-ის შემდგომი "BL" პინი შეიძლება გამოყენებულ იქნას პოტენციმეტრთან ერთად (0-100K) LCD სიკაშკაშის გასაკონტროლებლად
ბიბლიოთეკა, რომელიც გამოიყენება ზემოთ კოდისთვის არის: - ჩამოტვირთეთ PCD8544 ქვემოთ მითითებული ბმულიდან
DHT11- ის, ტემპერატურისა და ტენიანობის სენსორის არდუინოსთან ინტეგრაცია შეგიძლიათ იხილოთ DHT11 ბმულიდან.
ნაბიჯი 16: საბოლოო შეკრება
ბოლო ნაბიჯი არის ყველა ზემოთ ჩამოთვლილი ყუთში სასურველია, მიწოდებისთვის მე გამოვიყენე 10000mah powerbank როგორც არდუინოს ასევე ნოდემკუს ენერგიაზე.
ჩვენ ასევე შეგვიძლია გამოვიყენოთ კედლის ბუდე დამტენი დიდი ხნის განმავლობაში, სურვილის შემთხვევაში.
გირჩევთ:
GPS მონიტორინგი OLED ჩვენების პროექტით: 5 ნაბიჯი (სურათებით)
GPS მონიტორინგი OLED ჩვენების პროექტით: გამარჯობა ყველას, ამ სწრაფ სტატიაში მე გაგიზიარებთ ჩემს პროექტს: ATGM332D GPS მოდული SAMD21J18 მიკროკონტროლით და SSD1306 OLED 128*64 დისპლეით, მე ავაშენე სპეციალური PCB მისთვის Eagle Autodesk– ზე და დავპროგრამე Atmel studio 7.0 და ASF გამოყენებით
Lizard Terrarium– ის მონიტორინგი Adosia IoT WiFi კონტროლერის გამოყენებით + მოძრაობის ამოცნობა: 17 ნაბიჯი (სურათებით)
Lizard Terrarium– ის მონიტორინგი Adosia IoT WiFi Controller + Motion Detect– ის გამოყენებით: ამ გაკვეთილში ჩვენ გაჩვენებთ, თუ როგორ უნდა ავაშენოთ უბრალო ხვლიკის ტერარიუმი მუჭა ტყავის კვერცხებისთვის, რომლებიც ჩვენ შემთხვევით აღმოვაჩინეთ და შევაწუხეთ გარე მებაღეობისას. ჩვენ გვინდა, რომ კვერცხები უსაფრთხოდ გამოირჩეოდეს, ასე რომ, ჩვენ ყველაფერს გავაკეთებთ არის შევქმნათ უსაფრთხო სივრცე პლასტმასის გამოყენებით
ESP8266 ნოდემკუს ტემპერატურის მონიტორინგი DHT11– ის გამოყენებით ადგილობრივ ვებ სერვერზე - მიიღეთ ოთახის ტემპერატურა და ტენიანობა თქვენს ბრაუზერში: 6 ნაბიჯი
ESP8266 ნოდემკუს ტემპერატურის მონიტორინგი DHT11– ის გამოყენებით ადგილობრივ ვებ სერვერზე | მიიღეთ ოთახის ტემპერატურა და ტენიანობა თქვენს ბრაუზერში: გამარჯობა ბიჭებო, დღეს ჩვენ შევქმნით ტენიანობას & ტემპერატურის მონიტორინგის სისტემა ESP 8266 NODEMCU & DHT11 ტემპერატურის სენსორი. ტემპერატურა და ტენიანობა მიიღება DHT11 Sensor & ბრაუზერში ჩანს, რომელი ვებ გვერდი იქნება მართული
ტემპერატურისა და ტენიანობის მონიტორინგი ჟოლოს პი: 6 ნაბიჯი (სურათებით)
ტემპერატურისა და ტენიანობის მონიტორინგი ჟოლოს პი გამოყენებით: ზაფხული მოდის და ის, ვინც არ აქვს კონდიციონერი, მზად უნდა იყოს ატმოსფეროს ხელით გასაკონტროლებლად. ამ პოსტში მე აღწერს თანამედროვე გზას ადამიანის კომფორტისთვის ყველაზე მნიშვნელოვანი პარამეტრების გაზომვის: ტემპერატურა და ტენიანობა. ტ
სახლის/ოფისის ოთახის ტემპერატურის მონიტორინგი თქვენს სამუშაო მაგიდაზე: 4 ნაბიჯი
სახლის/ოფისის ოთახის ტემპერატურის მონიტორინგი თქვენს სამუშაო მაგიდაზე: ოთახების ან ოფისების მონიტორინგისთვის, სადაც ჩვენ შეგვიძლია გამოვიყენოთ ეს პროექტი და ეს არის ნაჩვენები ამდენი დეტალით, როგორიცაა გრაფიკი, რეალურ დროში ტემპერატურა და მრავალი სხვა. ჩვენ ვიყენებთ: https://thingsio.ai/ პირველ რიგში, ჩვენ უნდა გავაკეთოთ ანგარიში ამ IoT პლატფორმაზე