Სარჩევი:

როგორ გააკონტროლოთ ლუდის დუღილის ტემპერატურა და სიმძიმე თქვენი სმარტფონიდან: 4 ნაბიჯი (სურათებით)
როგორ გააკონტროლოთ ლუდის დუღილის ტემპერატურა და სიმძიმე თქვენი სმარტფონიდან: 4 ნაბიჯი (სურათებით)

ვიდეო: როგორ გააკონტროლოთ ლუდის დუღილის ტემპერატურა და სიმძიმე თქვენი სმარტფონიდან: 4 ნაბიჯი (სურათებით)

ვიდეო: როგორ გააკონტროლოთ ლუდის დუღილის ტემპერატურა და სიმძიმე თქვენი სმარტფონიდან: 4 ნაბიჯი (სურათებით)
ვიდეო: How to Cook Any Fried Rice BETTER THAN TAKEOUT 2024, ივლისი
Anonim
როგორ გააკონტროლოთ ლუდის დუღილის ტემპერატურა და სიმძიმე თქვენი სმარტფონიდან
როგორ გააკონტროლოთ ლუდის დუღილის ტემპერატურა და სიმძიმე თქვენი სმარტფონიდან

როდესაც ლუდი დუღს, ყოველდღიურად უნდა აკონტროლოთ მისი სიმძიმე და ტემპერატურა. ამის დავიწყება ადვილია და შეუძლებელია, თუ შორს ხარ.

გუგლის შემდეგ, მე ვიპოვე რამდენიმე გადაწყვეტილება გრავიტაციის ავტომატური მონიტორინგისთვის (ერთი, ორი, სამი). ერთ -ერთი მათგანი, ძალიან ჭკვიანური კონცეფციით, სახელწოდებით Tilt. Tilt მიედინება თქვენს ლუდში და ზომავს საკუთარ დახრის კუთხეს. ეს კუთხე დამოკიდებულია სითხის სიმკვრივეზე და, შესაბამისად, შეუძლია გაზომოს ლუდის სიმძიმე.

Tilt– ს გააჩნია მობილური აპლიკაცია, რომელიც აკავშირებს მას და შეუძლია მონაცემების განთავსება ნებისმიერ ვებ სერვისზე. პრობლემა ის არის, რომ თქვენ უნდა იყოთ შორს Tilt– დან, რომ შეძლოთ ამის გაკეთება. ასევე არსებობს Raspberry Pi პროგრამა, რომელიც მუშაობს Tilt– ით.

ნაბიჯი 1: დახრის მონაცემების მიღება პითონში

დახრის მონაცემების მიღება პითონში
დახრის მონაცემების მიღება პითონში

მე უკვე ვიყენებ Raspberry Pi– ს სარდაფის ტემპერატურის მონიტორინგისთვის და ღრუბლის მართვის პანელის სერვისს cloud4rpi.io. თუ ტილტს შეუძლია ისაუბროს Raspberry Pi– სთან, შესაძლებელი უნდა იყოს cloud4rpi– სთან დაკავშირება. Tilt იყენებს უკაბელო პროტოკოლს, ასე რომ თქვენ დაგჭირდებათ Raspberry Pi უკაბელო ჩიპით (Rasbperry Pi 3 ან Zero W).

საბედნიეროდ, არსებობს GitHub repo Tilt პროგრამისთვის რამდენიმე ნიმუშით. Https://github.com/baronbrew/tilt-scan– ის დათვალიერებისას თქვენ ხედავთ, რომ Tilt სხვებს უყურებს როგორც BLE iBeacon, „ფერი“კოდირებულია UUID– ში, ხოლო ტემპერატურა და სიმძიმე არის ძირითად და უმცირეს ბაიტებში.

მათი ნიმუშის კოდი არის Node.js– ისთვის და მე მაქვს პითონის კონტროლის პროგრამა cloud4rpi შაბლონზე დაფუძნებული

ასე რომ, მე უნდა მივიღო Tilt მონაცემები პითონში. გუგლის შემდეგ, ვიპოვე https://github.com/switchdoclabs/iBeacon-Scanner-- პითონის iBeacon სკანერი. ეს არის პროგრამა და არა ბიბლიოთეკა, ამიტომ მე შევცვალე ის, რათა სტრიქონის ნაცვლად დავიბრუნო ლექსიკონი. მე ასევე დავწერე Tilt- ის სპეციფიკური მოდული, რომ მივიღო პირველი ნაპოვნი Tilt- ის ფერი, ტემპერატურა და სიმძიმე (მე მაქვს მხოლოდ ერთი) და მარტივი სატესტო პროგრამა, რათა შევამოწმო, შეუძლია თუ არა ჩემი დახრის ნახვა:

იმპორტის დროიმპორტი იმპორტი დახრილობა

მართალია:

res = tilt.getFirstTilt () ბეჭდვა res time.sleep (2)

გაუშვით და შეამოწმეთ რომ მუშაობს. ახლა შემიძლია ჩავრთო ის ჩემს საკონტროლო პროგრამაში. მე უკვე მაქვს პითონის პროგრამა, რომელიც დაკავშირებულია cloud4rpi.io– სთან, მაგრამ ნება მომეცით ვაჩვენო როგორ გავაკეთო ეს ნულიდან.

ნაბიჯი 2: მოწყობილობის დაკავშირება ღრუბელთან

მოწყობილობის დაკავშირება ღრუბელთან
მოწყობილობის დაკავშირება ღრუბელთან
მოწყობილობის დაკავშირება ღრუბელთან
მოწყობილობის დაკავშირება ღრუბელთან

ჯერ შედით cloud4rpi.io– ში, შემდეგ შექმენით ახალი მოწყობილობა.

თქვენ მოგეცემათ მოწყობილობის ნიშანი და ინსტალაციის ინსტრუქცია. Raspberry Pi– სთვის მიჰყევით ინსტრუქციას აქ https://docs.cloud4rpi.io/start/rpi/-დარწმუნდით, რომ თქვენი სისტემა განახლებულია:

sudo apt განახლება && sudo apt განახლება

დააინსტალირეთ წინაპირობები:

sudo apt დააინსტალირეთ git python python-pip

დააინსტალირეთ cloud4rpi პითონის პაკეტები:

sudo pip დააინსტალირეთ cloud4rpi

შემდეგ მიიღეთ Raspberry Pi– ს პითონის აპლიკაციის ნიმუში (საკონტროლო საქაღალდეში):

git კლონი https://github.com/cloud4rpi/cloud4rpi-raspberryp… კონტროლი

cd კონტროლი

შეცვალეთ control.py - მიუთითეთ თქვენი მოწყობილობის ნიშანი ხაზში

DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

ამოიღეთ არასაჭირო ჩანაწერები მოწყობილობის ცვლადი დეკლარაციიდან, დატოვეთ მხოლოდ CPUTemp მოწყობილობის კავშირის შესამოწმებლად:

# განათავსეთ ცვლადი დეკლარაციები ცვლადი = {'CPU Temp': {'type': 'numeric', 'bind': rpi.cpu_temp}}

ახლა გააკეთე საცდელი გაშვება:

sudo python control.py

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

ნაბიჯი 3: მონაცემების გაგზავნა ღრუბელში

მონაცემთა გაგზავნა ღრუბელში
მონაცემთა გაგზავნა ღრუბელში

ახლა ჩვენ უნდა შევცვალოთ კონტროლი. Py Tilt– ის ფერის, ტემპერატურისა და სიმძიმის წასაკითხად და ანგარიშისთვის. შედეგი ასე გამოიყურება:

os იმპორტიდან uname დან სოკეტიდან იმპორტი gethostname იმპორტი sys იმპორტი დრო იმპორტი cloud4rpi იმპორტი rpi იმპორტი დახრილი

# განათავსეთ თქვენი მოწყობილობის ნიშანი აქ. ნიშნის მისაღებად, # დარეგისტრირდით https://cloud4rpi.io და შექმენით მოწყობილობა. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

# მუდმივები

DATA_SENDING_INTERVAL = 60 # წმ DIAG_SENDING_INTERVAL = 600 # წმ POLL_INTERVAL = 0.5 # 500 ms

შუქურა = {}

def F2C (გრადუსი F):

დაბრუნება (გრადუსი F - 32) / 1.8

def getTemp ():

დაბრუნება F2C (int (შუქურა ['Temp']))) თუ შუქურა სხვა არცერთი

def getGravity ():

დაბრუნების შუქურა ['გრავიტაცია'] თუ სხვა შუქურა არ არის

def main ():

# განათავსეთ ცვლადი დეკლარაციები აქ

ცვლადები = {'გრავიტაცია': {'ტიპი': 'რიცხვითი', 'bind': getGravity}, 'ლუდის ტემპერატურა': {'type': 'numeric', 'bind': getTemp}}

დიაგნოსტიკა = {

"CPU Temp": rpi.cpu_temp, "IP მისამართი": rpi.ip_address, "მასპინძელი": gethostname (), "ოპერაციული სისტემა": "". შეერთება (უსახელო ())}

მოწყობილობა = cloud4rpi.connect (DEVICE_TOKEN)

device.declare (ცვლადები) device.declare_diag (დიაგნოსტიკა)

device.publish_config ()

# დასძენს 1 წამიანი შეფერხება მოწყობილობის ცვლადების შექმნის უზრუნველსაყოფად

დრო. ძილი (1)

სცადე:

data_timer = 0 diag_timer = 0 ხოლო True: თუ data_timer <= 0: global beacon beacon = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL

თუ diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL

დრო. ძილი (POLL_INTERVAL)

diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL

გარდა კლავიატურის უწყვეტი:

cloud4rpi.log.info ("კლავიატურის შეფერხება მიღებულია. გაჩერება …")

გამონაკლისის გარდა e:

error = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("ERROR! %s %s", error, sys.exc_info () [0])

საბოლოოდ:

sys.exit (0)

თუ _name_ == '_ მთავარი_':

მთავარი ()

ახლა გაუშვით ხელით, რომ ნახოთ მუშაობს თუ არა:

sudo python control.py

თუ ყველაფერი კარგადაა, თქვენ იხილავთ თქვენს ცვლადებს ინტერნეტში.

სისტემის გაშვებისას control.py სისტემის გაშვებისას დააინსტალირეთ როგორც სერვისი. Cloud4rpi გთავაზობთ ინსტალაციის სკრიპტს service_install.sh ამისათვის. მე ჩავრთე ის ჩემს რეპოში. Control.py- ს, როგორც სერვისის დასაყენებლად, გაუშვით

sudo bash service_install.sh control.py

ახლა თქვენ შეგიძლიათ დაიწყოთ | stop | გადატვირთეთ ეს სერვისი ბრძანების გაშვებით

sudo systemctl დაწყება cloud4rpi.service

სერვისი ინარჩუნებს თავის წინა მდგომარეობას ენერგიაზე, ასე რომ, თუ ის მუშაობდა, ის იმუშავებს გადატვირთვის ან ენერგიის დაკარგვის შემდეგ.

ნაბიჯი 4: საბოლოო შედეგი

Საბოლოო შედეგი
Საბოლოო შედეგი

ეს არის ის, ახლა მე მაქვს ჩემი Tilt პარამეტრები, რომლებიც იგზავნება ღრუბელში, ასე რომ შემიძლია დავაყენო ლამაზი ღრუბლოვანი პანელი. გადადით https://cloud4rpi.io/control-panels და შექმენით ახალი მართვის პანელი, დაამატეთ ვიჯეტი და შეარჩიეთ/Gravity და ლუდის ტემპერატურა, როგორც მონაცემთა წყარო. ახლა შემიძლია დავაკვირდე რა ხდება მაშინაც კი, თუ სახლიდან შორს ვარ.

კოდი, რომელიც მე გადავიწერე და დავწერე, აქ არის: https://github.com/superroma/tilt-cloud4rpi. ის შორს არის სრულყოფილებისაგან, ის მუშაობს მხოლოდ ერთი დახრით, მას არ აინტერესებს მოწყობილობის "ფერი", რაც არ უნდა იყოს ის და მე საერთოდ არ ვარ პითონის ბიჭი, ამიტომ მისასალმებელია შესწორებები, წინადადებები ან ჩანგლები !

გირჩევთ: