- వర్కింగ్ మరియు థింగ్స్పీక్ సెటప్:
- సర్క్యూట్ రేఖాచిత్రం:
- రాస్ప్బెర్రీ పై కాన్ఫిగరేషన్ మరియు పైథాన్ ప్రోగ్రామ్:
తేమ, ఉష్ణోగ్రత మరియు పీడనం ఏదైనా వాతావరణ కేంద్రం నిర్మించడానికి మరియు పర్యావరణ పరిస్థితులను కొలవడానికి మూడు ప్రాథమిక పారామితులు. మేము ఇంతకుముందు ఆర్డునో ఉపయోగించి మినీ వెదర్ స్టేషన్ను నిర్మించాము మరియు ఈసారి మేము వాతావరణ స్టేషన్ను రాస్ప్బెర్రీ పైతో విస్తరిస్తున్నాము. ఈ ఐయోటి ఆధారిత ప్రాజెక్ట్ ప్రస్తుత తేమ, ఉష్ణోగ్రత మరియు పీడన పారామితులను ఎల్సిడితో పాటు రాస్ప్బెర్రీ పై ఉపయోగించి ఇంటర్నెట్ సర్వర్లో చూపించాలని లక్ష్యంగా పెట్టుకుంది, ఇది రాస్ప్బెర్రీ పై వాతావరణ కేంద్రంగా మారుతుంది. మీరు ఈ సెటప్ను ఎక్కడైనా ఇన్స్టాల్ చేయవచ్చు మరియు ప్రపంచంలోని ఎక్కడైనా ఇంటర్నెట్ ద్వారా ఆ ప్రదేశం యొక్క వాతావరణ పరిస్థితులను పర్యవేక్షించవచ్చు, ఇది ప్రస్తుత డేటాను చూపించడమే కాకుండా గత విలువలను గ్రాఫ్స్ రూపంలో చూపిస్తుంది.
ఉష్ణోగ్రతను గ్రహించడానికి మేము DHT11 తేమ & ఉష్ణోగ్రత సెన్సార్ మరియు బారోమెట్రిక్ ఒత్తిడిని కొలవడానికి BM180 ప్రెజర్ సెన్సార్ మాడ్యూల్ను ఉపయోగించాము. ఈ సెల్సియస్ స్కేల్ థర్మామీటర్ మరియు శాతం స్కేల్ తేమ మీటర్ ఒక ఎల్సిడి డిస్ప్లే ద్వారా పరిసర ఉష్ణోగ్రత మరియు తేమను ప్రదర్శిస్తుంది మరియు బారోమెట్రిక్ పీడనం మిల్లీబార్ లేదా హెచ్పిఎ (హెక్టోపాస్కల్) లో ప్రదర్శించబడుతుంది. ఈ డేటా అంతా ఇంటర్నెట్ ద్వారా ప్రపంచంలో ఎక్కడి నుండైనా ప్రత్యక్ష పర్యవేక్షణ కోసం థింగ్స్పీక్ సర్వర్కు పంపబడుతుంది. ఈ ట్యుటోరియల్ చివరిలో ఇచ్చిన డెమన్స్ట్రేషన్ వీడియో మరియు పైథాన్ ప్రోగ్రామ్ను తనిఖీ చేయండి.
వర్కింగ్ మరియు థింగ్స్పీక్ సెటప్:
ఈ ఐయోటి ఆధారిత ప్రాజెక్టులో నాలుగు విభాగాలు ఉన్నాయి. మొదట DHT11 సెన్సార్ తేమ & ఉష్ణోగ్రత డేటాను మరియు BM180 సెన్సార్ వాతావరణ పీడనాన్ని కొలుస్తుంది. రెండవది, రాస్ప్బెర్రీ పై సింగిల్ వైర్ ప్రోటోకాల్ మరియు BM180 ప్రెజర్ సెన్సార్ యొక్క అవుట్పుట్ను I2C ప్రోటోకాల్ ఉపయోగించి DHT11 సెన్సార్ మాడ్యూల్ యొక్క అవుట్పుట్ను చదువుతుంది మరియు రెండు సెన్సార్ విలువలను శాతం (తేమ), సెల్సియస్ స్కేల్ (ఉష్ణోగ్రత), హెక్టోపాస్కల్ లేదా మిల్లిబార్ (ప్రెజర్) లో తగిన సంఖ్యలో సంగ్రహిస్తుంది.. మూడవదిగా, రాస్ప్బెర్రీ పై 3 యొక్క అంతర్నిర్మిత Wi-Fi ని ఉపయోగించి ఈ విలువలు థింగ్స్పీక్ సర్వర్కు పంపబడతాయి. చివరకు థింగ్స్పీక్ డేటాను విశ్లేషిస్తుంది మరియు దానిని గ్రాఫ్ రూపంలో చూపిస్తుంది. ఈ విలువలను స్థానికంగా ప్రదర్శించడానికి LCD కూడా ఉపయోగించబడుతుంది.
IoT ఆధారిత ప్రాజెక్టులకు థింగ్స్పీక్ చాలా మంచి సాధనాన్ని అందిస్తుంది. థింగ్స్పీక్ వెబ్సైట్ను ఉపయోగించడం ద్వారా, థింగ్స్పీక్ అందించిన ఛానెల్లు మరియు వెబ్పేజీలను ఉపయోగించి, మేము మా డేటాను పర్యవేక్షించవచ్చు మరియు ఇంటర్నెట్ ద్వారా మా సిస్టమ్ను నియంత్రించవచ్చు. థింగ్స్పీక్ సెన్సార్ల నుండి డేటాను 'సేకరిస్తుంది', ప్రతిచర్యను ప్రేరేపించడం ద్వారా డేటాను 'విశ్లేషించండి మరియు విజువలైజ్ చేయండి' మరియు 'యాక్ట్స్'. థింగ్స్పీక్కు డేటాను పంపడం గురించి మేము ఇంతకుముందు వివరంగా వివరించాము, మీరు అక్కడ తనిఖీ చేయవచ్చు. ఈ రాస్ప్బెర్రీ పై వెదర్ స్టేషన్ కోసం థింగ్స్పీక్ ఉపయోగించమని ఇక్కడ క్లుప్తంగా వివరిస్తున్నాము.
మొదట మీరు థింగ్స్పీక్ వెబ్సైట్లో ఖాతాను సృష్టించి, అందులో 'క్రొత్త ఛానెల్ని' సృష్టించాలి. క్రొత్త ఛానెల్లో మీరు పర్యవేక్షించదలిచిన డేటా కోసం మీరు కొన్ని ఫీల్డ్లను నిర్వచించాలి, ఈ ప్రాజెక్ట్ మాదిరిగానే మేము తేమ, ఉష్ణోగ్రత మరియు పీడన డేటా కోసం మూడు ఫీల్డ్లను సృష్టిస్తాము.
ఇప్పుడు 'API కీలు' టాబ్ పై క్లిక్ చేసి , రైట్ అండ్ రీడ్ API కీలను సేవ్ చేయండి, ఇక్కడ మనం రైట్ కీని మాత్రమే ఉపయోగిస్తున్నాము. మీరు ఈ కీని కోడ్లోని 'కీ' వేరియబుల్లో కాపీ చేయాలి.
దాని తరువాత, 'డేటా దిగుమతి / ఎగుమతి' పై క్లిక్ చేసి , నవీకరణ ఛానల్ ఫీడ్ GET అభ్యర్థన URL ను కాపీ చేయండి, అంటే:
api.thingspeak.com/update?api_key=30BCDSRQ52AOI3UA&field1=0
ఇప్పుడు మన పైథాన్ కోడ్లో “api.thingspeak.com” ను తెరవడానికి ఈ 'ఫీడ్ గెట్ రిక్వెస్ట్ URL' అవసరం, ఆపై ఈ ఫీడ్ అభ్యర్థనను ఉపయోగించి ప్రశ్న స్ట్రింగ్గా పంపండి. డేటాను పంపే ముందు వినియోగదారు ఈ ప్రశ్నలో ఉష్ణోగ్రత, తేమ మరియు పీడన డేటాను నమోదు చేయాలి ప్రోగ్రామ్లోని వేరియబుల్స్ ఉపయోగించి స్ట్రింగ్, ఈ వ్యాసం చివర కోడ్లో తనిఖీ చేయండి.
URL = 'https://api.thingspeak.com/update?api_key=%s'% key finalURL = URL + "& field1 =% s & field2 =% s"% (humi, temp) + "& field3 =% s"% (ఒత్తిడి)
DHT11 యొక్క పని DHT11 నుండి డేటాను పొందటానికి సింగిల్ వైర్ సీరియల్ కమ్యూనికేషన్ మీద ఆధారపడి ఉంటుంది. రాస్ప్బెర్రీ పైతో DHT11 ను ఇంటర్ఫేస్ చేయడానికి ఇక్కడ మేము AdaFruit DHT11 లైబ్రరీని ఉపయోగించాము. రాస్ప్బెర్రీ పై ఇక్కడ DHT11 నుండి తేమ మరియు ఉష్ణోగ్రత డేటాను మరియు BMP180 సెన్సార్ నుండి వాతావరణ పీడనాన్ని సేకరించి 16x2 LCD మరియు థింగ్స్పీక్ సర్వర్కు పంపుతుంది. థింగ్స్పీక్ డేటాను గ్రాఫ్ రూపంలో క్రింద ప్రదర్శిస్తుంది:
మీరు DHT11 సెన్సార్ మరియు ఆర్డునోతో దాని ఇంటర్ఫేసింగ్ గురించి ఇక్కడ మరింత తెలుసుకోవచ్చు.
సర్క్యూట్ రేఖాచిత్రం:
రాస్ప్బెర్రీ పై కాన్ఫిగరేషన్ మరియు పైథాన్ ప్రోగ్రామ్:
మేము ప్రోగ్రామ్ కోసం ఇక్కడ పైథాన్ భాషను ఉపయోగిస్తున్నాము. కోడింగ్ చేయడానికి ముందు, వినియోగదారు రాస్ప్బెర్రీ పైని కాన్ఫిగర్ చేయాలి. రాస్ప్బెర్రీ పైతో ప్రారంభించడానికి మరియు పైలో రాస్పియన్ జెస్సీ OS ని ఇన్స్టాల్ చేయడం మరియు కాన్ఫిగర్ చేయడం కోసం మీరు మా మునుపటి ట్యుటోరియల్లను తనిఖీ చేయవచ్చు.
మొదట రాస్ప్బెర్రీ పైలో ఈ ప్రాజెక్ట్ను అమలు చేయడానికి మేము అడాఫ్రూట్ పైథాన్ DHT సెన్సార్ లైబ్రరీ ఫైళ్ళను వ్యవస్థాపించాలి. ఇది చేయుటకు మనం ఇచ్చిన ఆదేశాలను పాటించాలి:
sudo apt-get install git-core sudo apt-get update git clone https://github.com/adafruit/Adafruit_Python_DHT.git cd Adafruit_Python_DHT sudo apt-get install బిల్డ్-ఎసెన్షియల్ పైథాన్-దేవ్ సుడో పైథాన్ సెటప్.
దీని తరువాత, వినియోగదారు RPi సాఫ్ట్వేర్ కాన్ఫిగరేషన్లోకి వెళ్లడం ద్వారా రాస్ప్బెర్రీ పై I2C ని ప్రారంభించాలి:
sudo raspi-config
అప్పుడు 'అడ్వాన్స్ ఆప్షన్స్' కి వెళ్లి, 'I2C' ఎంచుకుని, 'ఎనేబుల్' చేయండి.
ఈ ప్రాజెక్ట్ యొక్క ప్రోగ్రామింగ్ భాగం అన్ని కార్యకలాపాలను నిర్వహించడానికి చాలా ముఖ్యమైన పాత్ర పోషిస్తుంది. మొదట మేము అవసరమైన అన్ని లైబ్రరీలను చేర్చుకుంటాము, వేరియబుల్స్ ప్రారంభించండి మరియు LCD మరియు DHT11 కోసం పిన్లను నిర్వచించండి.
దిగుమతి sys దిగుమతి RPi.GPIO గా GPIO దిగుమతి os దిగుమతి Adafruit_DHT దిగుమతి urllib2 దిగుమతి smbus దిగుమతి సమయం ctypes దిగుమతి c_short # రిజిస్టర్ చిరునామా regCall = 0xAA……………..
లో డెఫ్ main (): ఫంక్షన్ కోడ్ క్రింద కొనసాగిస్తునే, సర్వర్కు డేటాను పంపడం మరియు LCD పైగా ప్రదర్శించవచ్చు కోసం ఉపయోగిస్తారు , అయితే లూప్.
def main (): 'సిస్టమ్ రెడీ…' URL = 'https://api.thingspeak.com/update?api_key=%s'% కీ ప్రింట్ "వేచి ఉండండి…." అయితే నిజం: (హ్యూమి, టెంప్. = URL + "& field1 =% s & field2 =% s"% (humi, temp) + "& field3 =% s"% (ఒత్తిడి) ప్రింట్ ఫైనల్ URL s = urllib2.urlopen (finalURL); ప్రింట్ హ్యూమి + "" + టెంప్ + "" + ప్రెజర్ s.close () time.sleep (10)
LCD కోసం, డెఫ్ lcd_init () ఫంక్షన్ నాలుగు బిట్ మోడ్ లో LCD ప్రారంభించడం ఉపయోగిస్తారు, డెఫ్ lcdcmd (చ) ఫంక్షన్ LCD వరకు కమాండ్ పంపడం, ఉపయోగిస్తారు డెఫ్ lcddata (చ) ఫంక్షన్ LCD డేటా పంపడం మరియు ఉపయోగిస్తారు డెఫ్ lcdstring (Str ) ఫంక్షన్ డేటా స్ట్రింగ్ను LCD కి పంపడానికి ఉపయోగించబడుతుంది. మీరు ఇచ్చిన ఫంక్షన్లలో ఈ ఫంక్షన్లన్నింటినీ తనిఖీ చేయవచ్చు.
ఇచ్చిన డెఫ్ రీడ్డిహెచ్టి () ఫంక్షన్ DHT11 సెన్సార్ చదవడానికి ఉపయోగించబడుతుంది:
def readDHT (): humi, temp = Adafruit_DHT.read_retry (Adafruit_DHT.DHT11, DHTpin) return (str (int (humi)), str (int (temp)))
BM180 సెన్సార్ నుండి పఠనం పీడనం కోసం def readBmp180 ఫంక్షన్ ఉపయోగించబడుతుంది. BM180 సెన్సార్ కూడా ఉష్ణోగ్రతను ఇవ్వగలదు కాని ఇక్కడ మనం ఒత్తిడిని లెక్కించడానికి మాత్రమే ఉపయోగించాము.
def readBmp180 (addr = deviceAdd): value = bus.read_i2c_block_data (addr, regCall, 22) # క్రమాంకనం డేటాను చదవండి # బైట్ డేటాను పద విలువలకు మార్చండి AC1 = convert1 (విలువ, 0) AC2 = convert1 (విలువ, 2) AC3 = convert1 (విలువ, 4) AC4 = convert2 (విలువ, 6)……………………..
కాబట్టి ఇది ప్రాథమిక రాస్ప్బెర్రీ పై వాతావరణ కేంద్రం, గాలి వేగం, నేల ఉష్ణోగ్రత, ప్రకాశం (లక్స్), వర్షపాతం, గాలి నాణ్యత మొదలైన వివిధ వాతావరణ సంబంధిత పారామితులను కొలవడానికి మీరు దీన్ని మరింత విస్తరించవచ్చు.