Orodha ya maudhui:
- Hatua ya 1: Sehemu Zinazohitajika
- Hatua ya 2: Kusanya Sehemu
- Hatua ya 3: Kanuni
- Hatua ya 4: Kusanya Sanduku
Video: Kituo cha Ufuatiliaji wa Chembe za Arduino Powered: 4 Hatua (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Unaweza kuunda kwa urahisi mtandao wa diy wa vitu ambavyo vinachunguza uchafuzi wa vumbi nyumbani kwako kwa chini ya $ 50 na ujulishwe wakati kiwango cha vumbi kinakuwa juu sana ili uweze kuinua chumba, au unaweza kuiweka nje na ujulishwe ikiwa ni salama kwenda nje ikiwa unaishi katika eneo lililochafuliwa sana.
Nilifanya hii kama mradi wa shule, kwa hivyo sikuwa na wakati wa kutosha kupata huduma ambayo itachukua ujumbe wa MQTT na kukutumia kama arifa au barua pepe.
Pia kumbuka kuwa kuweka sensor wakati wote itapunguza maisha ya shabiki.
Hatua ya 1: Sehemu Zinazohitajika
Nini utahitaji
- Arduino Uno
- Ngao ya Ethernet ya Arduino
- Sensor ya laser ya kawaida (kawaida huenda kwa $ 10- $ 30 kwenye eBay / aliexpress)
- Joto la DHT11 na sensorer ya unyevu (hiari)
- Bodi ya mkate
- Kamba za jumper
Hatua ya 2: Kusanya Sehemu
Kwanza, unahitaji kuziba ngao ya ethernet kwenye Arduino
Sensor ya PM ina waya nyingi, lakini zile tunazohitaji ni VCC, GND, TX, RX.
Unganisha VCC na GND kwa + na - kwenye ubao wa mkate mtawaliwa.
Arduino ina vifaa vya RX na TX pini, lakini tutatumia uigaji wa programu ya pini za RX na TX kwenye pini 2 na 3 mtawaliwa. Chomeka RX ya sensa kwa TX ya Arduino na TX ya sensa kwa RX ya Arduino.
Ikiwa utatumia sensa ya joto, ingiza laini za VCC na GND kwa + na - kwenye Breadboard na laini ya data kubandika 7.
Hatua ya 3: Kanuni
Unaweza kufunga broker ya MQTT kwenye pi ya rasipiberi au kompyuta ambayo umekuwa ukiwa nyumbani kila wakati, au utumie huduma ya MQTT ya wingu, kama Cloud MQTT. Kisha unaweza kuandika hati inayotuma data kama HTTP kwa webhook ya IFTT, kwani bado haziunga mkono viboreshaji vya MQTT na kuweka arifa za wakati viwango vya vumbi nyumbani kwako viko juu sana.
Kituo cha hewa cha Arduino
# pamoja |
# pamoja |
# pamoja |
# pamoja |
# pamoja |
# pamoja |
# pamoja |
# pamoja |
# fafanuaDHT11_PIN7 |
# fafanuaRX_PIN2 |
# fafanuaTX_PIN3 |
Anwani ya IP (169, 169, 100, 98); |
byte mac = { |
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 |
}; |
constchar * mqtt_server = "m23.cloudmqtt.com"; |
mjumbe mqtt_port = 11895; |
constchar * mqtt_user = "jhetjewk"; |
constchar * mqtt_pass = "QB2p9PiMV6pn"; |
constchar * mqtt_client_name = "arduinoClient1"; // Muunganisho wa mteja hauwezi kuwa na jina sawa la unganisho |
Mteja wa wateja wa Ethernet; |
Mteja wa PubSubClient (ethClient); |
SoftwareSerial pmSerial (RX_PIN, TX_PIN); |
dht DHT; |
int pm1; |
int pm2_5; |
int pm10; |
kitambulisho kisichosainiwa; |
// Faili myFile; |
Kamba s; |
StaticJsonBuffer <200> jsonBuffer; |
JsonObject & mzizi = jsonBuffer.createObject (); |
voidetup () { |
Serial. Kuanza (57600); |
pmSerial.anza (9600); |
id = 0; |
jioni1 = 0; |
jioni2_5 = 0; |
jioni10 = 0; |
ikiwa (Ethernet. mwanzo (mac) == 0) |
{ |
Serial.println ("Imeshindwa kusanidi Ethernet kwa kutumia DHCP"); |
// jaribio na fasta ip addr |
Ethernet. Kuanza (mac, ip); |
} |
mteja.setServer (mqtt_server, mqtt_port); |
mteja.setCallback (kupiga simu tena); |
kuchelewa (2000); |
Serial.println (Ethernet.localIP ()); |
mteja.connect ("arduinoClient", mqtt_user, mqtt_pass); |
Serial.print ("rc ="); |
Serial.print (mteja.state ()); |
Serial.print ("\ n"); |
} |
voidloop () { |
intindex = 0; |
thamani ya char; |
char uliopitaValue; |
ikiwa (! mteja. imeunganishwa ()) |
{ |
ikiwa (mteja.connect ("arduinoClient", mqtt_user, mqtt_pass)) { |
Serial.println ("imeunganishwa"); |
} |
} |
wakati (pmSerial. Inapatikana ()) { |
thamani = pmSerial.read (); |
ikiwa ((index == 0 && value! = 0x42) || (index == 1 && value! = 0x4d)) { |
Serial.println ("Haiwezi kupata kichwa cha data."); |
kurudi; |
} |
ikiwa (index == 4 || index == 6 || index == 8 || index == 10 || index == 12 || index == 14) { |
uliopitaValue = thamani; |
} |
elseif (index == 5) { |
pm1 = 256 * thamani ya awali + Thamani; |
mzizi ["pm1"] = abs (pm1); |
} |
elseif (index == 7) { |
pm2_5 = 256 * thamani ya awali + Thamani; |
mzizi ["pm2_5"] = abs (pm2_5); |
} |
elseif (index == 9) { |
pm10 = 256 * iliyopita Thamani + ya thamani; |
mzizi ["pm10"] = abs (pm10); |
} |
elseif (faharisi> 15) { |
kuvunja; |
} |
index ++; |
} |
wakati (pmSerial. Inapatikana ()) pmSerial.read (); |
int chk = DHT.read11 (DHT11_PIN); |
ikiwa (DHT.temperature == -999 || DHT.humidity == -999) { |
mzizi ["joto"] = "N / A"; |
mzizi ["unyevu"] = "N / A"; |
} mwingine { |
mzizi ["joto"] = joto la DHT. |
mzizi ["unyevu"] = unyevu wa DHT; |
} |
tuma Matokeo (); |
kitambulisho ++; |
kuchelewesha (5000); |
} |
Matokeo ya voidsend () { |
// kuchapisha kwa MQTT |
char jsonChar [100]; |
mzizi.printTo (jsonChar); |
Serial.println (mteja.publish ("arduino", jsonChar)); |
// utatuzi kwa serial |
mzizi.printTo (Serial); |
Serial.print ('\ n'); |
} |
// Hushughulikia ujumbe uliowasili kwenye mada zilizosajiliwa |
voidcallback (mada ya char *, baiti * mzigo, urefu usiotiwa saini) { |
} |
mtazamo rawair_quality.ino mwenyeji na ❤ na GitHub
Hatua ya 4: Kusanya Sanduku
Nilitumia sanduku tu ambalo nilikuwa nimelala karibu na kuchimba shimo kwa sensorer kupata hewa na kukata shimo kwa nyaya kutoka (ingawa ilikuwa kubwa sana).
Nilitumia pedi za gundi kushikilia sensorer kwenye sanduku, nikilinganisha shimo la kuingiza la sensorer na shimo lililopigwa kwenye sanduku.
Mwishowe, niliingiza nyaya za ethernet na umeme.
Ilipendekeza:
Kikapu cha Kunyongwa cha Kituo cha hali ya hewa cha juu: Hatua 11 (na Picha)
Kikapu cha kunyongwa cha Kituo cha hali ya hewa ya juu: Halo kila mtu! Katika chapisho hili la blogi ya T3chFlicks, tutakuonyesha jinsi tulivyotengeneza kikapu kizuri cha kunyongwa. Mimea ni nyongeza safi na nzuri kwa nyumba yoyote, lakini inaweza kuchosha haraka - haswa ikiwa unakumbuka tu kuyamwagilia wakati wako
Kituo cha Hali ya Hewa cha NaTaLia: Kituo cha Hali ya Hewa ya Arduino Inayotumiwa Imefanywa kwa Njia Sahihi: Hatua 8 (na Picha)
Kituo cha Hali ya Hewa cha NaTaLia: Kituo cha Hali ya Hewa ya Arduino Inayotumiwa Imefanywa kwa Njia Sawa: Baada ya mwaka 1 wa kufanikiwa katika maeneo 2 tofauti ninashiriki mipango yangu ya mradi wa kituo cha hali ya hewa na kuelezea jinsi ilibadilika kuwa mfumo ambao unaweza kuishi kwa muda mrefu vipindi kutoka kwa nguvu ya jua. Ukifuata
Kituo cha hali ya hewa cha DIY na Kituo cha Sensorer cha WiFi: Hatua 7 (na Picha)
Kituo cha hali ya hewa cha DIY na Kituo cha Sensor cha WiFi: Katika mradi huu nitakuonyesha jinsi ya kuunda kituo cha hali ya hewa pamoja na kituo cha sensorer cha WiFi. Kituo cha sensorer hupima data ya joto na unyevu wa ndani na kuipeleka, kupitia WiFi, kwa kituo cha hali ya hewa. Kituo cha hali ya hewa kisha kinaonyesha t
Kutumia Kijijini Kina waya bila kutumia 2.4Ghz NRF24L01 Module Na Arduino - Nrf24l01 4 Channel / 6 Kituo cha Mpokeaji wa Kituo cha Quadcopter - Helikopta ya Rc - Ndege ya Rc Kutumia Arduino: Hatua 5 (na Picha)
Kutumia Kijijini Kina waya bila kutumia 2.4Ghz NRF24L01 Module Na Arduino | Nrf24l01 4 Channel / 6 Channel Transmitter kipokeaji cha Quadcopter | Helikopta ya Rc | Ndege ya Rc Kutumia Arduino: Kuendesha gari la Rc | Quadcopter | Drone | Ndege ya RC | Boti ya RC, siku zote tunahitaji kipokezi na mtumaji, tuseme kwa RC QUADCOPTER tunahitaji kipitishaji na mpokeaji wa kituo 6 na aina hiyo ya TX na RX ni ya gharama kubwa sana, kwa hivyo tutafanya moja kwenye yetu
Kituo cha Umeme cha Dorm / Supu ya Kituo cha kuchaji cha NiMH: Hatua 3
Kituo cha Umeme cha Dorm / Kituo cha kuchaji cha NiMH kilichopikwa: Nina kituo cha umeme. Nilitaka kubana kila kitu kilichotozwa kwenye benchi moja ya kazi na kuwa na nafasi ya kuuza / nk juu yake. Orodha ya vitu vya nguvu: Simu ya rununu (imevunjika, lakini inachaji betri zangu za simu, kwa hivyo kila wakati imechomekwa ndani na kuchapisha chargi