Სარჩევი:
- ნაბიჯი 1: მასალები
- ნაბიჯი 2: სენსორის არჩევა
- ნაბიჯი 3: LM35
- ნაბიჯი 4: DS18B20
- ნაბიჯი 5: ESP8266 კოდი
- ნაბიჯი 6: ESP8266 კოდი: LM35 მომხმარებელი
- ნაბიჯი 7: ESP8266 კოდი: DS18B20 მომხმარებელი
- ნაბიჯი 8: ESP8266 პატარა ხრიკი
- ნაბიჯი 9: პირველად ოპერაცია
- ნაბიჯი 10: დასკვნა
ვიდეო: WiFi ტემპერატურის ჟურნალი (ESP8266– ით): 11 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
გამარჯობა, მიხარია აქ რომ გხედავ. ვიმედოვნებ, რომ ამ ინსტრუქციებში ნახავთ სასარგებლო ინფორმაციას. მოგერიდებათ გამომიგზავნეთ წინადადებები, კითხვები,… აქ არის ძირითადი მონაცემები და პროექტის სწრაფი მიმოხილვა. მობილური მომხმარებლებისთვის: ვიდეო. გამაგებინეთ რას ფიქრობთ პროექტის შესახებ კომენტარების განყოფილებაში, მადლობა. მე ახლახანს შევიძინე NodeMcu (esp8266 დაფუძნებული) დაფა მხოლოდ იმისთვის, რომ ვცადო, ასე რომ ეს არ არის ნამდვილად მოწინავე პროექტი. მაგრამ ის მუშაობს და ეს არის ის, რაც მე მჭირდება, ასე რომ ნორმალურია. ამ მონაცემების ჩამწერი ძირითადი ფუნქციაა შეაგროვოს ტემპერატურა და შეინახოს იგი სერვერზე. ეს საშუალებას აძლევს მომხმარებლებს შეამოწმონ მონაცემები და გრაფიკები ინტერნეტში, მაშინაც კი, როდესაც ისინი არ არიან ლოგერის იმავე ადგილას (მაგალითად, მეტეოროლოგიური სადგურისთვის). კიდევ ერთი სასარგებლო თვისება არის OTA განახლება, რომელიც შედის კოდში და საშუალებას აძლევს მომხმარებელს მარტივად განაახლოს და დააკონფიგურიროს პროგრამული უზრუნველყოფა. მე გავაანალიზებ ორ სენსორს და მათთან დაკავშირებულ შეძენის მეთოდს, რათა შევაფასო ყველა დადებითი და უარყოფითი მხარე.
სპოილერი: ცოტაოდენი ტესტირების შემდეგ აღმოვაჩინე, რომ ციფრული სენსორი, როგორიცაა DS18B20, არის საუკეთესო გამოსავალი, რადგან ის გვთავაზობს სტაბილურობას და უფრო მაღალ სიზუსტეს. ის უკვე წყალგაუმტარია და კაბელთან ერთად.
ნაბიჯი 1: მასალები
ეს არის მინიმალური პროექტი მხოლოდ რამდენიმე გარე კომპონენტით, ამისათვის BOM სია მართლაც მოკლე იქნება. თუმცა, ვნახოთ რა მასალაა მოთხოვნილი:
- NodeMcu V3 (ან ნებისმიერი თავსებადი ESP8266 μ პროცესორი);
- RGB led (საერთო ანოდი);
- რეზისტორები led (1x10Ω, 1x22Ω, 1x100Ω, 1x10kΩ)
- DS18B20 (მაქსიმალური ინტეგრირებული თერმომეტრი);
- LM35 (ტეხასის ინსტრუმენტის თერმომეტრი);
- გარე ბატარეა (სურვილისამებრ);
- საკაბელო;
- კონექტორი (უფრო "მოწინავე" გახადოს);
- ყუთი (სურვილისამებრ, ისევ რომ გახადოს ის უფრო "მოწინავე");
- Led მფლობელი (სურვილისამებრ);
შენიშვნა: როგორც ვთქვი, თქვენ უნდა აირჩიოთ ორი მეთოდიდან ერთი. თუ აირჩევთ LM35 თერმომეტრს, დაგჭირდებათ რამდენიმე სხვა კომპონენტი:
- Attiny45/85;
- AVR პროგრამისტი (ან Arduino როგორც ISP);
- რეზისტორი (1x1kΩ, 1x2kΩ, 1x10kΩ, 1x18kΩ)
- 2.54 მმ ზოლიანი კონექტორი (სურვილისამებრ)
- დიოდი (2x1N914)
- პერფორბორდი ან PCB;
ნაბიჯი 2: სენსორის არჩევა
სენსორის არჩევა შეიძლება იყოს რთული ნაბიჯი: დღეს არის მრავალი გადამცემი (TI გთავაზობთ 144 სხვადასხვა ელემენტს) როგორც ანალოგურ, ასევე ციფრულ სხვადასხვა ტემპერატურის დიაპაზონში, სიზუსტესა და საქმეში. ანალოგური სენსორები (46 ნაწილი ხელმისაწვდომია TI– დან): დადებითი:
- მონაცემთა ჩამწერი ადვილად შეიძლება შეიცვალოს ტემპერატურიდან სხვა რაოდენობაზე (ძაბვა, დენი,…);
- შეიძლება ცოტა იაფი იყოს;
- მარტივი გამოსაყენებლად, რადგან არ საჭიროებს რაიმე განსაკუთრებულ ბიბლიოთეკას;
მინუსები:
- მოითხოვეთ ADC (რომელსაც შეუძლია გავლენა იქონიოს გაზომვის სიზუსტეზე) და სხვა გარე კომპონენტები. ვინაიდან esp8266– ს აქვს მხოლოდ ერთი ADC (და არა ნამდვილად ზუსტი) მე გირჩევთ გამოიყენოთ გარე.
- საჭიროა გამოყოფილი კაბელი ხმაურის უარყოფით, რადგან ნებისმიერ გამომწვევ ძაბვას შეუძლია შეცვალოს შედეგი.
ცოტაოდენი ფიქრის შემდეგ გადავწყვიტე გამოვიყენო LM35, ხაზოვანი სენსორი +10mV/° C მასშტაბის ფაქტორით 0.5 ° C სიზუსტით და ძალიან დაბალი დენი (დაახლოებით 60uA) საოპერაციო ძაბვით 4V– დან 30V– მდე. უფრო დეტალური ინფორმაციისთვის გირჩევთ ნახოთ მონაცემთა ფურცელი: LM35.
ციფრული სენსორები (რეკომენდირებულია) დადებითი:
თითქმის ნებისმიერი გარე კომპონენტია საჭირო;
ინტეგრირებული ADC
მინუსები:
მოითხოვეთ ბიბლიოთეკა ან პროგრამული უზრუნველყოფა ციფრული სიგნალის დეკოდირებისთვის (I2C, SPI, Serial, One Wire,…);
Უფრო ძვირი;
მე ავირჩიე DS18B20, რადგან ვიპოვე Amazon– ის 5 წყალგაუმტარი სენსორის კომპლექტი და რადგან ის ფართოდ არის დოკუმენტირებული ინტერნეტში. მთავარი მახასიათებელია 9-12 ბიტიანი გაზომვა, 1 მავთულის ავტობუსი, 3.0-დან 5.5-მდე ძაბვა, 0.5 ° C სიზუსტე. კიდევ ერთხელ, უფრო დეტალურად აქ არის მონაცემთა ფურცელი: DS18B20.
ნაბიჯი 3: LM35
მოდით გავაანალიზოთ როგორ განვახორციელე გარე ADC და სხვა ფუნქცია LM35 თერმომეტრისთვის. ვიპოვე კაბელი სამი მავთულით, ერთი დამცავი და ორი გარეშე. მე გადავწყვიტე დავამატო გამშლელი კონდენსატორი სენსორის მახლობლად ძაბვის სტაბილიზაციისათვის. ანალოგური ტემპერატურის ციფრულზე გადასაყვანად, მე გამოვიყენე Attiny85 მიკროპროცესორი dip8 პაკეტში (კიდევ უფრო მეტი ინფორმაციისთვის იხილეთ მონაცემთა ცხრილი: attiny85). ჩვენთვის ყველაზე მნიშვნელოვანი არის 10 ბიტიანი ADC (ნამდვილად არ არის საუკეთესო, მაგრამ საკმაოდ ზუსტი ჩემთვის). Esp8266– თან დასაკავშირებლად გადავწყვიტე გამოვიყენო სერიული კომუნიკაცია იმის გათვალისწინებით, რომ esp8266 მუშაობს 3.3 ვ და attiny85 5V– ზე (რადგან მას სჭირდება სენსორის ჩართვა). ამის მისაღწევად, მე გამოვიყენე მარტივი ძაბვის გამყოფი (იხ. სქემა). უარყოფითი ტემპერატურის წასაკითხად ჩვენ უნდა დავამატოთ გარე კომპონენტები (2x1N914 და 1x18k რეზისტორი), ვინაიდან არ მინდა გამოვიყენო უარყოფითი კვების წყარო. აქ არის კოდი: TinyADC საცავი. შენიშვნა: ამ კოდის შესადგენად დაგჭირდებათ ინსტალაცია attiny to ide (ჩადეთ ეს ვარიანტი: https://drazzy.com/package_drazzy.com_index.json), თუ არ იცით როგორ გააკეთოთ ეს, უბრალოდ მოძებნეთ Google- ში. ან ატვირთეთ.hex ფაილი პირდაპირ.
ნაბიჯი 4: DS18B20
მე შევიძინე ეს სენსორები ამაზონიდან (5 ღირს დაახლოებით 10 €). ჩამოვიდა უჟანგავი ფოლადის საფარით და კაბელი 1 მ სიგრძით. ამ სენსორს შეუძლია დააბრუნოს 9-12 ბიტიანი ტემპერატურის მონაცემები. ბევრი სენსორი შეიძლება ჩართული იყოს ერთსა და იმავე პინში, ვინაიდან ყველა მათგანს აქვს უნიკალური ID. DS18B20- ის esp8266- ზე დასაერთებლად შეგიძლიათ უბრალოდ მიჰყევით სქემატურს (მეორე ფოტო). მას შემდეგ, რაც მე გადავწყვიტე, რომ ჩემს ხე -ტყეს ექნებოდა სამი ზონდი, მე უნდა განვასხვავო რომელია რომელი. ამიტომ ვიფიქრე, რომ მათ მივცე ფერი, რომელიც დაკავშირებულია პროგრამული უზრუნველყოფის საშუალებით მათ მისამართზე. მე გამოვიყენე თერმომცირებადი მილი (მესამე ფოტო).
ნაბიჯი 5: ESP8266 კოდი
რადგან მე ახალი ვარ ამ სამყაროში, გადავწყვიტე ბევრი ბიბლიოთეკა გამოვიყენო. როგორც შესავალში ვთქვით, ძირითადი მახასიათებლებია:
- OTA განახლება: თქვენ არ გჭირდებათ esp8266 თქვენს კომპიუტერში ჩართვა ყოველ ჯერზე, როდესაც გჭირდებათ კოდის ატვირთვა (ეს უნდა გააკეთოთ მხოლოდ პირველად);
- უკაბელო მენეჯერი, თუ უკაბელო ქსელი იცვლება, თქვენ არ გჭირდებათ ესკიზის ხელახლა ჩატვირთვა. თქვენ უბრალოდ შეგიძლიათ კვლავ დააკონფიგურიროთ esp8266 წვდომის წერტილთან დამაკავშირებელი ქსელის პარამეტრები;
- Thingspeak მონაცემთა გადაცემა;
- ორივე LM35 და DS18B20 მხარდაჭერილია;
- მარტივი მომხმარებლის ინტერფეისი (RGB led მიუთითებს სასარგებლო ინფორმაციას);
გთხოვთ, ბოდიში მომიხადოთ, რადგან ჩემი პროგრამული უზრუნველყოფა არ არის საუკეთესო და ნამდვილად არ არის კარგად მოწესრიგებული. მოწყობილობაზე ატვირთვამდე, თქვენ უნდა შეცვალოთ ზოგიერთი პარამეტრი, რათა მოერგოს კოდს თქვენს პარამეტრს. აქ შეგიძლიათ ჩამოტვირთოთ პროგრამული უზრუნველყოფა. საერთო LM35 და DS18B20 კონფიგურაცია თქვენ უნდა შეცვალოთ პინის განსაზღვრა, ნიშანი, არხის ნომერი, მომხმარებელი და პაროლი OTA განახლებისთვის. ხაზი 15 -დან 23 -მდე.
#განსაზღვრეთ წითელი YOURPINHERE #განსაზღვრეთ მწვანე YOURPINHERE
#განსაზღვრეთ ლურჯი YOURPINHERE const char* host = "აირჩიეთ მასპინძლის მისამართი"; // ნამდვილად არ არის საჭირო შეგიძლიათ დატოვოთ esp8266-webupdate const char* update_path = "/firmware"; // განახლების მისამართის შეცვლა ex: 192.168.1.5/firmware const char* update_username = "YOURUSERHERE"; const char * update_password = "YOURPASSWORDHERE; unsigned long myChannelNumber = CHANNELNUMBERHERE; const char * myWriteAPIKey =" WRITEAPIHERE ";
ნაბიჯი 6: ESP8266 კოდი: LM35 მომხმარებელი
თქვენ უნდა დააკავშიროთ დამცავი დაფა esp8266– თან, ADC ერთეულის დასაყენებლად გამოიყენეთ VU pin და G pin. თქვენ უნდა აირჩიოთ რომელი პინის გამოყენება გსურთ სერიული კომუნიკაციისთვის (რომ ტექნიკური სერიალი იყოს თავისუფალი გამართვის მიზნით). Tx pin უნდა იყოს არჩეული, მაგრამ ნამდვილად არ გამოიყენება. (ხაზი 27). პროგრამული უზრუნველყოფა სერიული mySerial (RXPIN, TXPIN); თავზე თქვენ უნდა დაამატოთ: #define LM35USER
ნაბიჯი 7: ESP8266 კოდი: DS18B20 მომხმარებელი
როგორც პირველი ოპერაცია, თქვენ უნდა დაადგინოთ მოწყობილობის მისამართი თითოეული სენსორისთვის. შეადგინეთ და დაპროგრამეთ ეს კოდი esp– ზე და მოძებნეთ სერიული შედეგები. კოდი შეგიძლიათ იხილოთ აქ (მოძებნეთ ეს სათაური გვერდზე: «წაიკითხეთ ინდივიდუალური DS18B20 შიდა მისამართები»). შეაერთეთ მხოლოდ ერთი სენსორი მისამართის მისაღებად, შედეგები უნდა იყოს მსგავსი (შემთხვევითი რიცხვი აქ! როგორც მაგალითი): 0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12 შემდეგ თქვენ უნდა შეცვალოთ ჩემი კოდი სექციაში " კონფიგურაცია DS18B20 "(სტრიქონი 31 -დან 36 -მდე)":
#განსაზღვრეთ ONE_WIRE_BUS ONEWIREPINHERE #განსაზღვრეთ TEMPERATURE_PRECISION TEMPBITPRECISION // (9 -დან 12 -მდე) #განსაზღვრეთ დაგვიანება Dallas READINTERVAL // (მილიწამებში, მინიმალურია 15 წთ ან 15000 მსს) 0x9, xx, 0x1x, xx 0x12}; // შეცვალეთ თქვენი მისამართით DeviceAddress redSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // შეცვალეთ თქვენი მისამართით DeviceAddress greenSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // შეცვალეთ თქვენი მისამართით თავზე თქვენ უნდა დაამატოთ: #define DSUSER
ნაბიჯი 8: ESP8266 პატარა ხრიკი
ცოტაოდენი ტესტირების შემდეგ აღმოვაჩინე, რომ თუ თქვენ დაინსტალირებთ esp8266 პროგრამირების გარეშე, ის არ გაუშვებს კოდს, სანამ ერთჯერ არ დააწკაპუნებთ გადატვირთვაზე. ამ საკითხის გადასაჭრელად, ცოტაოდენი კვლევის შემდეგ აღმოვაჩინე, რომ თქვენ უნდა დაამატოთ გამწევი რეზისტორი 3.3 ვ-დან D3- მდე. ეს ეტყვის პროცესორს, რომ ჩატვირთოს კოდი ფლეშ მეხსიერებიდან. ამ მეთოდით, D3 პირდაპირ შეიძლება გამოყენებულ იქნას მონაცემთა შეყვანისთვის DS18B20 სენსორებისთვის.
ნაბიჯი 9: პირველად ოპერაცია
თუ კოდი სწორად ატვირთეთ, მაგრამ არასოდეს იყენებთ Wifi მენეჯერის ბიბლიოთეკას, დროა დააკონფიგურიროთ თქვენი wifi კავშირი. დაელოდეთ სანამ დაინახავთ RGB led ციმციმს უფრო სწრაფად ვიდრე ადრე, შემდეგ მოძებნეთ თქვენი მობილურით ან კომპიუტერით wifi ქსელი სახელწოდებით "AutoConnectAp" და დაუკავშირდით. კავშირის შემდეგ, გახსენით ვებ ბრაუზერი და შეიყვანეთ 192.168.4.1, თქვენ ნახავთ wifi მენეჯერის GUI ინტერფეისს (იხილეთ ფოტოები) და დააჭირეთ ღილაკს "Wifi კონფიგურაცია". დაელოდეთ esp8266 Wi -Fi ქსელების მოსაძებნად და შეარჩიეთ სასურველი. შეიყვანეთ პაროლი და დააჭირეთ "შენახვა". Esp8266 გადატვირთულია (არ მაინტერესებს RGB ამჯერად, რადგან გამოუშვებს შემთხვევით ინფორმაციას) და დაუკავშირდება ქსელს.
ნაბიჯი 10: დასკვნა
საბოლოო ჯამში, აქ არის გრაფიკი, რომელიც აღებულია მონაცემთა დამგროვებლისგან, ჩემი საყინულე ტემპერატურის შესვლისას. ნარინჯისფერში არის DS18B20 და ლურჯში LM35 და მისი წრე. თქვენ ხედავთ ყველაზე დიდ განსხვავებას სიზუსტეში ციფრულიდან ანალოგურ სენსორზე (ჩემი ცუდი "ADC ჩართვით"), რომელიც იძლევა არაფიზიკურ მონაცემებს. შეჯამებით, თუ გსურთ შექმნათ ეს ლოგერი მე გირჩევთ გამოიყენოთ DS18B20 ციფრული ტემპერატურის სენსორი რადგან უფრო ადვილი წასაკითხი და თითქმის "ჩართვა და თამაში", ის უფრო სტაბილური და ზუსტია, ის მუშაობს 3.3 ვ -ზე და მოითხოვს მხოლოდ ერთ პინს ბევრ სენსორზე. მადლობა ყურადღებისთვის, ვიმედოვნებ, რომ ეს პროექტი კარგია თქვენთვის და თქვენ ვიპოვე სასარგებლო ინფორმაცია. და ვისაც სურს გააცნობიეროს ის, ვისურვებდი რომ მივაწოდო ყველა საჭირო ინფორმაცია. თუ არ შემიძლია ყველაფრის კითხვა, სიამოვნებით ვპასუხობ ყველა კითხვას. ვინაიდან მე არ ვარ ინგლისურენოვანი, თუ რამე არასწორია ან გასაგები, გთხოვთ შემატყობინოთ. თუ მოგეწონათ ეს პროექტი, გთხოვთ მიეცით ხმა კონკურსებს და/ან დატოვეთ კომენტარი. ეს გამამხნევებს, რომ გავაგრძელო ახალი შინაარსის განახლება და გამოქვეყნება. Გმადლობთ.
გირჩევთ:
წვრილმანი ადგილი ოთხფეხა რობოტის მსგავსად (შენობის ჟურნალი V2): 9 ნაბიჯი
DIY Spot Like Quadruped Robot (შენობის ჟურნალი V2): ეს არის შენობის ჟურნალი დეტალური ინსტრუქციით როგორ ავაშენოთ https://www.instructables.com/DIY-Spot-Like-Quadru…robot dog v2. Follow Robolab youtube საიტი დამატებითი ინფორმაციისთვის. https://www.youtube.com/robolab19 ეს არის ჩემი პირველი რობოტი და მე მაქვს
შექმენით პირადი აქტივობის ჟურნალი: 6 ნაბიჯი
ააშენეთ პირადი აქტივობის ჟურნალი: ლონდონელ ჩემს მეგობარს, პოლს, სურდა ეპოვა თავისი საკვების, საქმიანობისა და ადგილმდებარეობის თვალყურის დევნება ერთ დაფაზე. სწორედ მაშინ გაჩნდა იდეა შექმნას მარტივი ვებ ფორმა, რომელიც მონაცემებს აგზავნიდა საინფორმაციო დაფაზე. ის ორივე ვებ – გვერდს აყენებდა
Tiny ESP8266 ტემპერატურის ჟურნალი (Google Sheets): 15 ნაბიჯი
Tiny ESP8266 ტემპერატურის ჟურნალი (Google Sheets): ეს არის სახელმძღვანელო, თუ როგორ უნდა შექმნათ თქვენი საკუთარი, აბსოლუტურად პატარა WiFi ჩართული ტემპერატურის ჟურნალი. იგი დაფუძნებულია ESP-01 მოდულსა და ციფრული ტემპერატურის სენსორზე DS18B20, შეფუთულია მჭიდროდ 3D ბეჭდვით ჩანთაში 200 mAh ლითიუმის ბატარეით და მიკრო U
ტემპერატურის კითხვა LM35 ტემპერატურის სენსორის გამოყენებით Arduino Uno– ით: 4 ნაბიჯი
ტემპერატურის კითხვა LM35 ტემპერატურის სენსორის გამოყენებით Arduino Uno– ით: გამარჯობა ბიჭებო ამ ინსტრუქციებში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ LM35 არდუინოსთან ერთად. Lm35 არის ტემპერატურის სენსორი, რომელსაც შეუძლია წაიკითხოს ტემპერატურის მნიშვნელობები -55 ° C– დან 150 ° C– მდე. ეს არის 3 ტერმინალური მოწყობილობა, რომელიც უზრუნველყოფს ტემპერატურის პროპორციულ ანალოგიურ ძაბვას. მაღალი
ESP32 NTP ტემპერატურის ზონდის მომზადების თერმომეტრი Steinhart-Hart კორექციით და ტემპერატურის სიგნალიზაციით .: 7 ნაბიჯი (სურათებით)
ESP32 NTP ტემპერატურის ზონდის მომზადების თერმომეტრი Steinhart-Hart კორექციით და ტემპერატურის სიგნალიზაციით: ჯერ კიდევ მოგზაურობთ " მომავალი პროექტის ", ", " ESP32 NTP ტემპერატურის ზონდის მომზადების თერმომეტრის Steinhart-Hart კორექციით და ტემპერატურის სიგნალიზაციით " არის ინსტრუქცია, რომელიც გვიჩვენებს, თუ როგორ დავამატო NTP ტემპერატურის ზონდი, პიეზო ბ