Სარჩევი:
ვიდეო: Arduino– ს მტვრის ნაწილაკების მონიტორინგის სადგური: 4 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
თქვენ საკმაოდ მარტივად შეგიძლიათ შექმნათ წვრილმანი ნივთების ინტერნეტი, რომელიც აკვირდება თქვენს სახლში მტვრის დაბინძურებას 50 დოლარზე ნაკლებ ფასად და მიიღებთ შეტყობინებას, როდესაც მტვრის დონე ძალიან მაღალი იქნება, ასე რომ თქვენ შეძლებთ ოთახის ვენტილაციას, ან შეგიძლიათ განათავსოთ იგი გარეთ და მიიღოთ შეტყობინება, თუ ეს უსაფრთხოა გარეთ გასვლა, თუ თქვენ ცხოვრობთ ძლიერ დაბინძურებულ ადგილას.
მე ეს გავაკეთე, როგორც სკოლის პროექტი, ამიტომ არ მქონდა საკმარისი დრო, რომ მეპოვა სერვისი, რომელიც მიიღებდა MQTT შეტყობინებებს და გამოგიგზავნით მათ შეტყობინებების ან წერილების მსგავსად.
ასევე გაითვალისწინეთ, რომ სენსორის მუდმივი ჩართვა შეამცირებს გულშემატკივართა სიცოცხლეს.
ნაბიჯი 1: საჭირო ნაწილები
რაც დაგჭირდება
- არდუინო უნო
- Arduino Ethernet ფარი
- ნაწილაკების ლაზერული სენსორი (ჩვეულებრივ $ 10-$ 30 იბეიზე/ალიექსპრესზე)
- ტემპერატურისა და ტენიანობის DHT11 სენსორი (სურვილისამებრ)
- პურის დაფა
- ჯუმბერის კაბელები
ნაბიჯი 2: ნაწილების შეკრება
პირველ რიგში, თქვენ უნდა ჩართოთ Ethernet ფარი Arduino– ზე
PM სენსორს აქვს მრავალი მავთული, მაგრამ ჩვენ გვჭირდება VCC, GND, TX, RX.
შეაერთეთ VCC და GND შესაბამისად + და - პურის დაფაზე.
Arduino– ს აქვს ტექნიკური RX და TX ქინძისთავები, მაგრამ ჩვენ გამოვიყენებთ RX და TX პინების პროგრამულ ემულაციას, შესაბამისად, 2 და 3 ქინძისთავებზე. შეაერთეთ სენსორის RX Arduino– ს TX– ზე და სენსორის TX Arduino– ს RX– ს.
თუ თქვენ აპირებთ გამოიყენოთ ტემპერატურის სენსორი, ჩართეთ VCC და GND ხაზები + და - Breadboard– ზე და მონაცემთა ხაზი pin 7 – ზე.
ნაბიჯი 3: კოდი
თქვენ შეგიძლიათ დააინსტალიროთ MQTT ბროკერი ჟოლოს პიზე ან კომპიუტერზე, რომელზეც ყოველთვის სახლში ხართ, ან გამოიყენოთ ღრუბლოვანი MQTT სერვისი, როგორიცაა Cloud MQTT. შემდეგ შეგიძლიათ დაწეროთ სკრიპტი, რომელიც აგზავნის მონაცემებს HTTP– ით IFTT ვებჰუკზე, რადგან ისინი ჯერ კიდევ არ უჭერენ მხარს MQTT ვებგვერდებს და ადგენენ შეტყობინებებს, როდესაც თქვენს სახლში მტვრის დონე ძალიან მაღალია.
არდუინოს საჰაერო სადგური
#ჩართეთ |
#ჩართეთ |
#ჩართეთ |
#ჩართეთ |
#ჩართეთ |
#ჩართეთ |
#ჩართეთ |
#ჩართეთ |
#defineDHT11_PIN7 |
#განსაზღვრეთRX_PIN2 |
#განსაზღვრეთTX_PIN3 |
IPAddress ip (169, 169, 100, 98); |
ბაიტი მაკ = { |
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 |
}; |
constchar *mqtt_server = "m23.cloudmqtt.com"; |
შეზღუდვა mqtt_port = 11895; |
constchar *mqtt_user = "jhetjewk"; |
constchar *mqtt_pass = "QB2p9PiMV6pn"; |
constchar *mqtt_client_name = "arduinoClient1"; // კლიენტის კავშირებს არ შეიძლება ჰქონდეთ იგივე კავშირის სახელი |
EthernetClient ethClient; |
PubSubClient კლიენტი (ethClient); |
პროგრამული უზრუნველყოფა სერიული pm სერიული (RX_PIN, TX_PIN); |
dht DHT; |
int pm1; |
int pm2_5; |
int pm10; |
ხელმოუწერელი id; |
// ფაილის myFile; |
სიმებიანი s; |
StaticJsonBuffer <200> jsonBuffer; |
JsonObject & root = jsonBuffer.createObject (); |
voidsetup () { |
სერიული. დასაწყისი (57600); |
pmSerial.begin (9600); |
id = 0; |
pm1 = 0; |
pm2_5 = 0; |
pm10 = 0; |
if (Ethernet.begin (mac) == 0) |
{ |
Serial.println ("ვერ მოხერხდა Ethernet- ის კონფიგურაცია DHCP გამოყენებით"); |
// მცდელობა ფიქსირებული ip დამატებით |
Ethernet.begin (mac, ip); |
} |
client.setServer (mqtt_server, mqtt_port); |
client.setCallback (გამოძახება); |
დაგვიანება (2000); |
Serial.println (Ethernet.localIP ()); |
client.connect ("arduinoClient", mqtt_user, mqtt_pass); |
Serial.print ("rc ="); |
Serial.print (client.state ()); |
Serial.print ("\ n"); |
} |
voidloop () { |
ინდექსი = 0; |
char ღირებულება; |
char previousValue; |
თუ (! client.connected ()) |
{ |
if (client.connect ("arduinoClient", mqtt_user, mqtt_pass)) { |
Serial.println ("დაკავშირებული"); |
} |
} |
ხოლო (pmSerial.available ()) { |
მნიშვნელობა = pmSerial.read (); |
თუ ((ინდექსი == 0 && მნიშვნელობა! = 0x42) || (ინდექსი == 1 && მნიშვნელობა! = 0x4 დ)) { |
Serial.println ("მონაცემთა სათაურის პოვნა შეუძლებელია."); |
დაბრუნების; |
} |
თუ (ინდექსი == 4 || ინდექსი == 6 || ინდექსი == 8 || ინდექსი == 10 || ინდექსი == 12 || ინდექსი == 14) { |
previousValue = მნიშვნელობა; |
} |
elseif (ინდექსი == 5) { |
pm1 = 256 * previousValue + მნიშვნელობა; |
root ["pm1"] = abs (pm1); |
} |
elseif (ინდექსი == 7) { |
pm2_5 = 256 * previousValue + მნიშვნელობა; |
ფესვი ["pm2_5"] = აბს (pm2_5); |
} |
elseif (ინდექსი == 9) { |
pm10 = 256 * წინა ღირებულება + მნიშვნელობა; |
root ["pm10"] = abs (pm10); |
} |
elseif (ინდექსი> 15) { |
შესვენება; |
} |
ინდექსი ++; |
} |
ხოლო (pmSerial.available ()) pmSerial.read (); |
int chk = DHT.read11 (DHT11_PIN); |
თუ (DHT.temperature == -999 || DHT.humidity == -999) { |
root ["ტემპერატურა"] = "N/A"; |
root ["ტენიანობა"] = "N/A"; |
} სხვა { |
ფესვი ["ტემპერატურა"] = DHT.temperature; |
ფესვი ["ტენიანობა"] = DHT. ტენიანობა; |
} |
sendResults (); |
id ++; |
დაგვიანება (5000); |
} |
voidsendResults () { |
// გამოაქვეყნეთ MQTT– ში |
char jsonChar [100]; |
root.printTo (jsonChar); |
Serial.println (client.publish ("arduino", jsonChar)); |
// გამართვა სერიალზე |
root.printTo (სერიული); |
Serial.print ('\ n'); |
} |
// ამუშავებს გამოწერილ თემასთან დაკავშირებულ შეტყობინებებს |
voidcallback (char* თემა, ბაიტი* დატვირთვა, ხელმოუწერელი სიგრძე) { |
} |
ნახვა rawair_quality.ino უმასპინძლა with ერთად GitHub
ნაბიჯი 4: შეიკრიბეთ ყუთი
მე უბრალოდ გამოვიყენე ყუთი, რომელსაც გარშემო ვიწექი და გავხსენი ხვრელი სენსორისთვის ჰაერის შესასვლელად და ამოვიღე ხვრელი კაბელების გასასვლელად (თუმცა ის ძალიან დიდი იყო).
მე გამოვიყენე წებოვანი ბალიშები სენსორის ყუთში მიმაგრებისთვის, სენსორის შესასვლელი ხვრელის გასწორება ყუთზე გაბურღული ხვრელისთვის.
საბოლოოდ, ჩავრთე Ethernet და დენის კაბელები.
გირჩევთ:
DIY ამინდის სადგური და WiFi სენსორული სადგური: 7 ნაბიჯი (სურათებით)
DIY ამინდის სადგური და WiFi სენსორული სადგური: ამ პროექტში მე გაჩვენებთ თუ როგორ უნდა შექმნათ ამინდის სადგური WiFi სენსორულ სადგურთან ერთად. სენსორული სადგური ზომავს ადგილობრივი ტემპერატურისა და ტენიანობის მონაცემებს და აგზავნის მას WiFi– ით ამინდის სადგურზე. ამის შემდეგ ამინდის სადგური აჩვენებს
ნაწილაკების Photon IoT პირადი ამინდის სადგური: 4 ნაბიჯი (სურათებით)
ნაწილაკების Photon IoT პირადი ამინდის სადგური:
ნაწილაკების დაბინძურებისათვის ჰაერის ხარისხის მონიტორინგის სისტემა: 4 ნაბიჯი
ჰაერის ხარისხის მონიტორინგის სისტემა ნაწილაკების დაბინძურებისათვის: შესავალი: 1 ამ პროექტში მე ვაჩვენებ, თუ როგორ უნდა ავაშენოთ ნაწილაკების დეტექტორი მონაცემების ჩვენებით, მონაცემთა სარეზერვო ასლი SD ბარათზე და IOT. ვიზუალურად ნეოპიქსელების ბეჭდის ჩვენება მიუთითებს ჰაერის ხარისხზე. 2 ჰაერის ხარისხი სულ უფრო მნიშვნელოვანი პრობლემაა
მტვრის რუფლერი (სუმოს ბოტი): 4 ნაბიჯი
მტვრის რუფლერი (Sumo Bot): ინსტრუმენტებისა და მასალების სია მტვრის რუფლერის ასაგებად გამოყენებული ინსტრუმენტები და მასალები ძალიან პირდაპირი და ადვილად მოსაპოვებელია. ელექტრონიკა: ბატარეის პაკეტი, უწყვეტი ბრუნვის მაღალი ბრუნვის სერვისები (x3), მიმღები და დისტანციური. ქაფის ბირთვის 3x2 'ფურცელი x-a
როგორ ავაშენოთ კომფორტის მონიტორინგის სენსორული სადგური: 10 ნაბიჯი (სურათებით)
როგორ ავაშენოთ კომფორტის მონიტორინგის სენსორული სადგური: ეს ინსტრუქცია აღწერს ეგრეთ წოდებული კომფორტის მონიტორინგის სადგურის დიზაინი და მშენებლობა, გარემოს პირობების კომბინირებული სენსორული მოწყობილობა, რომელიც შემუშავებულია TUK– ში, Technische Universität Kais გარემოს ჩამონტაჟებული გარემოს განყოფილებაში