Სარჩევი:
- მარაგები
- ნაბიჯი 1: წრის შექმნა
- ნაბიჯი 2: ჩაწერეთ CPU ტემპერატურა ThingSpeak– ით
- ნაბიჯი 3: მიიღეთ პროცესორის ტემპერატურა ჟოლოს პიდან პითონის გამოყენებით
- ნაბიჯი 4: ვენტილატორის კონტროლი ტემპერატურის მიხედვით
- ნაბიჯი 5: საბოლოო პითონის კოდი
- ნაბიჯი 6: მონაცემების მონიტორინგი Thingspeak Cloud– ის საშუალებით
- ნაბიჯი 7: გაუშვით პითონის სკრიპტი გაშვებისას
ვიდეო: ჟოლოს Pi გულშემატკივრის ჭკვიანი კონტროლი Python & Thingspeak– ის გამოყენებით: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
Მოკლე აღწერა
სტანდარტულად, ვენტილატორი პირდაპირ არის დაკავშირებული GPIO– სთან - ეს გულისხმობს მის მუდმივ მუშაობას. გულშემატკივართა შედარებით მშვიდი მუშაობის მიუხედავად, მისი უწყვეტი მოქმედება არ არის აქტიური გაგრილების სისტემის ეფექტური გამოყენება. ამავე დროს, გულშემატკივართა მუდმივი მოქმედება შეიძლება უბრალოდ იყოს შემაშფოთებელი. ასევე, თუ Raspberry Pi გამორთულია, ვენტილატორი კვლავ იმუშავებს, თუ დენი ჩართულია.
ეს სტატია აჩვენებს, თუ როგორ, მარტივი და არა რთული მანიპულაციების გამოყენებით, გადააქციეთ არსებული გაგრილების სისტემა ჭკვიანად, რომელიც ჩართული იქნება მხოლოდ მაშინ, როდესაც პროცესორს ეს ნამდვილად სჭირდება. ვენტილატორი ჩართული იქნება მხოლოდ მაშინ, როდესაც არსებობს მძიმე გამოყენება, რითაც მცირდება გულშემატკივართა ენერგიის მოხმარება და ხმაური. ასევე გახანგრძლივება გულშემატკივართა სიცოცხლე, როდესაც ის არ არის საჭირო.
რასაც თქვენ ისწავლით
როგორ განვახორციელოთ პითონის სკრიპტი, რომ გავაკონტროლოთ გულშემატკივარი ჟოლოს პროცესორის ამჟამინდელ ტემპერატურაზე, On-Off კონტროლის გამოყენებით ტემპერატურის ჰისტერეზით. როგორ გადაიტანოთ მონაცემები თქვენი RaspberryPi– დან Things Speak Cloud– ში.
მარაგები
კომპონენტები, რომლებიც დაგჭირდებათ ამ პროექტისთვის, არის შემდეგი
- Raspberry Pi 4 კომპიუტერული მოდელი B 4GB
- NPN ტრანზისტორი S8050330ohms რეზისტორი
- ჯავშანი ალუმინის მეტალის ქეისი ორმაგი გულშემატკივრით ჟოლოს პიისთვის
- ჯუმბერის კაბელები
- პურის დაფა
ნაბიჯი 1: წრის შექმნა
წრე საკმაოდ მარტივია. გულშემატკივართა დენი გათიშულია NPN ტრანზისტორის გამოყენებით. ამ კონფიგურაციაში, ტრანზისტორი მოქმედებს როგორც დაბალი მხარის გადამრთველი. რეზისტორი საჭიროა მხოლოდ GPIO- ს საშუალებით დენის შეზღუდვისთვის. Raspberry Pi– ს GPIO– ს აქვს მაქსიმალური მიმდინარე გამომავალი 16 mA. მე გამოვიყენე 330 ოჰმი, რომელიც გვაძლევს ბაზის დენს დაახლოებით (5-0.7)/330 = 13mA. მე შევარჩიე NPN ტრანზისტორი S8050, ამიტომ ორივე გულშემატკივრიდან 400mA დატვირთვის შეცვლა არ არის პრობლემა.
ნაბიჯი 2: ჩაწერეთ CPU ტემპერატურა ThingSpeak– ით
ThingSpeak არის პლატფორმა პროექტებისთვის, რომელიც ემყარება ნივთების ინტერნეტს. ეს პლატფორმა საშუალებას გაძლევთ შექმნათ პროგრამები სენსორებიდან შეგროვებული მონაცემების საფუძველზე. ThingSpeak– ის ძირითადი მახასიათებლებია: მონაცემთა რეალურ დროში შეგროვება, მონაცემთა დამუშავება და ვიზუალიზაცია. ThingSpeak API არა მხოლოდ მონაცემების გაგზავნის, შენახვისა და წვდომის საშუალებას გაძლევთ, არამედ მათ დამუშავების სხვადასხვა სტატისტიკურ მეთოდს იძლევა.
ThingSpeak– ს შეუძლია ინტეგრირება მოახდინოს პოპულარულ მოწყობილობებსა და სერვისებში, როგორიცაა:
- არდუინო
- ჟოლო პიი
- oBridge / RealTime.io
- ელექტრო აკუმულატორი
- მობილური და ვებ პროგრამები
- Სოციალური ქსელები
- მონაცემთა ანალიზი MATLAB– ში
სანამ დავიწყებთ, გჭირდებათ ანგარიში ThingSpeak– ში.
- გადადით შემდეგ ბმულზე და დარეგისტრირდით ThingSpeak– ზე.
- ანგარიშის გააქტიურების შემდეგ შედით სისტემაში.
- გადადით არხებზე -> ჩემი არხები
- დააჭირეთ ღილაკს ახალი არხი.
- შეიყვანეთ იმ მონაცემების სახელი, აღწერა და ველები, რომელთა ატვირთვაც გსურთ
- დააჭირეთ ღილაკს არხის შენახვა თქვენი ყველა პარამეტრის შესანახად.
ჩვენ გვჭირდება API გასაღები, რომელსაც მოგვიანებით დავამატებთ პითონის კოდს, რათა ჩვენი პროცესორის ტემპერატურა ავტვირთოთ Thingspeak ღრუბელში.
დააწკაპუნეთ API გასაღებების ჩანართზე, რათა მიიღოთ ჩაწერის API გასაღები
მას შემდეგ რაც თქვენ გაქვთ ჩაწერის API გასაღები, ჩვენ თითქმის მზად ვართ ატვირთოთ ჩვენი მონაცემები.
ნაბიჯი 3: მიიღეთ პროცესორის ტემპერატურა ჟოლოს პიდან პითონის გამოყენებით
სკრიპტი დაფუძნებულია პროცესორის ტემპერატურის აღდგენაზე, რომელიც ხდება ყოველ წამს. მისი მიღება შესაძლებელია ტერმინალიდან vcgencmd ბრძანების გაშვებით ღონისძიების_ტემპერატურის პარამეტრით.
vcgencmd ღონისძიება_თემპი
Subprocess.check_output () ბიბლიოთეკა გამოიყენებოდა ბრძანების შესასრულებლად და შემდეგ რეგულარული გამოხატვის გამოყენებით დაბრუნებული სტრიქონიდან ფაქტობრივი მნიშვნელობის ამოსაღებად.
ქვეპროცესების იმპორტი check_output
საწყისი იმპორტიდან findalldef get_temp (): temp = check_output (["vcgencmd", "ღონისძიება_ ტემპი"]). დეკოდირება () temp = float (findall ('\ d+\. / d+', temp) [0]) დაბრუნება (temp) ამობეჭდვა (get_temp ())
ტემპერატურის მნიშვნელობის მოპოვების შემდეგ, მონაცემები უნდა გაიგზავნოს ThingSpeak ღრუბელში. გამოიყენეთ თქვენი ჩაწერის API გასაღები, რომ შეცვალოთ myApi ცვლადი ქვემოთ პითონის კოდში.
urllib იმპორტის მოთხოვნიდან
ხელახალი იმპორტისგან findall დროიდან იმპორტი ძილის ქვეპროცესებიდან იმპორტი check_output myAPI = '################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "masë_temp"]). დეკოდირება () temp = float (findall (' / d+\. / d+', temp) [0]) დაბრუნება (temp) try: while True: temp = get_temp () conn = request.urlopen (baseURL + '& field1 = % s' % (temp)) print (str (temp)) conn.close () sleep (1) გარდა KeyboardIntruptrupt: print ("გასვლა დაჭერით Ctrl+C")
ნაბიჯი 4: ვენტილატორის კონტროლი ტემპერატურის მიხედვით
ქვემოთ ნაჩვენები პითონის სკრიპტი ახორციელებს ლოგიკას, რომელიც ჩართავს ვენტილატორს, როდესაც ტემპერატურა იმატებს tempOn– ზე და გამორთულია მხოლოდ მაშინ, როდესაც ტემპერატურა იკლებს ბარიერის ქვემოთ. ამ გზით, გულშემატკივარი სწრაფად არ დაიხურება და გამორთულია.
იმპორტი RPi. GPIO როგორც GPIO
იმპორტი sys საწყისი ხელახალი იმპორტი findall დროიდან ძილის ძიება ქვეპროცესებიდან იმპორტი check_output def get_temp (): temp = check_output (["vcgencmd", "ღონისძიება_ ტემპი"]). დეკოდირება () temp = float (findall ('\ d+\. / d+ ', temp) [0]) დაბრუნება (temp) სცადეთ: GPIO.setwarnings (False) tempOn = 50 ბარიერი = 10 controlPin = 14 pinState = ყალბი GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, საწყისი = 0) ხოლო მართალია: temp = get_temp () თუ temp> tempOn და არა pinState ან temp <tempOn - ბარიერი და pinState: pinState = არა pinState GPIO.output (controlPin, pinState) print (str (temp) + "" + str (pinState)) sleep (1) KeyboardIntruptrupt: print ("Exit pressed Ctrl+C") გარდა: print ("Other გამონაკლისი") print ("--- Start Exception Data:") traceback.print_exc (limit = 2, file = sys.stdout) print ("--- Exception Exception Data:") საბოლოოდ: print ("CleanUp") GPIO.cleanup () print ("პროგრამის დასასრული")
ნაბიჯი 5: საბოლოო პითონის კოდი
მთავარი პითონის კოდი შეგიძლიათ იხილოთ ჩემს GitHub ანგარიშზე შემდეგ ბმულზე. დაიმახსოვრე, რომ ჩაწერო შენი ჩაწერის API გასაღები.
- შედით თქვენს ჟოლოს PI დაფაზე
- გაუშვით შემდეგი ბრძანება ტერმინალზე
python3 cpu.py
ნაბიჯი 6: მონაცემების მონიტორინგი Thingspeak Cloud– ის საშუალებით
გარკვეული პერიოდის შემდეგ, გახსენით თქვენი არხი ThingSpeak– ზე და თქვენ დაინახავთ ტემპერატურის ატვირთვას Thingspeak ღრუბელში რეალურ დროში.
ნაბიჯი 7: გაუშვით პითონის სკრიპტი გაშვებისას
ამისათვის, /etc/rc.local ფაილის ბოლოს:
sudo nano /etc/rc.local
თქვენ უნდა განათავსოთ სკრიპტის დაწყების ბრძანება ხაზის გასასვლელის წინ 0:
sudo python /home/pi/cpu.py &
& სიმბოლოს არსებობა ბრძანების ბოლოს სავალდებულოა, ვინაიდან ეს არის დროშა პროცესის ფონის დასაწყებად. გადატვირთვის შემდეგ სკრიპტი ავტომატურად გააქტიურდება და გულშემატკივარი ჩართული იქნება მითითებული პირობების დაკმაყოფილებისას.
გირჩევთ:
Google ასისტენტზე დაფუძნებული LED კონტროლი ჟოლოს Pi გამოყენებით: 3 ნაბიჯი
Google ასისტენტი დაფუძნებული LED კონტროლი Raspberry Pi- ის გამოყენებით: ჰეი! ამ პროექტში ჩვენ განვახორციელებთ Google ასისტენტით დაფუძნებულ LED- ის კონტროლს Raspberry Pi 4 -ის გამოყენებით პითონში HTTP- ის გამოყენებით. თქვენ შეგიძლიათ შეცვალოთ LED ნათურა (ცხადია არა სიტყვასიტყვით, თქვენ დაგჭირდებათ სარელეო მოდული მათ შორის) ან ნებისმიერი სხვა სახლი
ჟოლოს Pi კონტროლი Matlab– ის გამოყენებით: 5 ნაბიჯი
ჟოლოს Pi კონტროლი Matlab– ის გამოყენებით: ჰეი, ეს სამეურვეო არის თქვენი უსათაურო ჟოლოს პი აკონტროლოთ matlab– ის გამოყენებით. შეიძლება დაგჭირდეთ matlab- ის დაყენება უახლეს ვერსიაზე ჟოლოს ახალი დაფის მხარდასაჭერად
მოძრაობის კონტროლი ჟოლოს პი და LIS3DHTR, 3 ღერძიანი ამაჩქარებელი, პითონის გამოყენებით: 6 ნაბიჯი
მოძრაობის კონტროლი ჟოლოს Pi და LIS3DHTR, 3 ღერძიანი აქსელერომეტრით, პითონის გამოყენებით: სილამაზე გარშემორტყმულია ჩვენთვის, მაგრამ ჩვეულებრივ, ჩვენ უნდა ვიაროთ ბაღში, რომ ეს ვიცოდეთ. - რუმი როგორც განათლებული ჯგუფი, როგორც ჩანს, ჩვენ ვხარჯავთ ჩვენი ენერგიის უმეტესი ნაწილის მუშაობას კომპიუტერებსა და მობილურ ტელეფონებზე. ამიტომ, ჩვენ ხშირად ვუშვებთ ჩვენს კეთილდღეობას
IoT დაფუძნებული ჭკვიანი მებაღეობა და ჭკვიანი სოფლის მეურნეობა ESP32– ის გამოყენებით: 7 ნაბიჯი
IoT დაფუძნებული ჭკვიანი მებაღეობა და ჭკვიანი სოფლის მეურნეობა ESP32– ის გამოყენებით: მსოფლიო იცვლება დროთა განმავლობაში და სოფლის მეურნეობაც. დღესდღეობით, ხალხი აერთიანებს ელექტრონიკას ყველა სფეროში და სოფლის მეურნეობა არ არის გამონაკლისი. ელექტრონიკის ეს შერწყმა სოფლის მეურნეობაში ეხმარება ფერმერებს და ადამიანებს, რომლებიც მართავენ ბაღებს. ამ
სიკაშკაშის კონტროლი PWM დაფუძნებული LED კონტროლი Push ღილაკების, ჟოლოს Pi და Scratch გამოყენებით: 8 ნაბიჯი (სურათებით)
სიკაშკაშის კონტროლი PWM დაფუძნებული LED კონტროლი Push Buttons, Raspberry Pi და Scratch გამოყენებით: მე ვცდილობდი მეპოვა გზა იმის ახსნა, თუ როგორ მუშაობდა PWM ჩემს მოსწავლეებზე, ამიტომ მე დავაყენე საკუთარი თავი ამოცანა ვცდილობდი გავაკონტროლო LED სიკაშკაშე 2 ღილაკის გამოყენებით - ერთი ღილაკი გაზრდის LED- ს სიკაშკაშეს და მეორე აფერხებს მას. წინსვლისთვის