- బ్లూటూత్ తక్కువ శక్తి (BLE) ఎలా భిన్నంగా ఉంటుంది?
- NRF24L01 మాడ్యూల్ యొక్క BLE సామర్థ్యం
- భాగాలు అవసరం
- NRF24L01 మాడ్యూల్తో ప్రారంభమవుతుంది
- ఆర్డునో
- BLE కమ్యూనికేషన్ కోసం ఆర్డునోతో nRF24L01 ను ఇంటర్ఫేసింగ్
బ్లూటూత్ లో ఎనర్జీ (BLE) బ్లూటూత్ యొక్క సంస్కరణ మరియు ఇది క్లాసిక్ బ్లూటూత్ యొక్క చిన్న, అత్యంత ఆప్టిమైజ్ చేసిన సంస్కరణగా ఉంది. దీనిని స్మార్ట్ బ్లూటూత్ అని కూడా అంటారు. తక్కువ ఖర్చు, తక్కువ బ్యాండ్విడ్త్, తక్కువ శక్తి మరియు తక్కువ సంక్లిష్టత కోసం ప్రత్యేకంగా సాధ్యమైనంత తక్కువ విద్యుత్ వినియోగాన్ని దృష్టిలో ఉంచుకుని BLE రూపొందించబడింది. ESP32 లో అంతర్నిర్మిత BLE సామర్థ్యాలు ఉన్నాయి, అయితే Arduino వంటి ఇతర మైక్రోకంట్రోలర్ల కొరకు, nRF24L01 ఉపయోగించవచ్చు. స్మార్ట్ఫోన్లు, కంప్యూటర్ మొదలైన ఇతర బ్లూటూత్ పరికరాలకు డేటాను పంపడానికి ఈ RF మాడ్యూల్ను BLE మాడ్యూల్గా కూడా ఉపయోగించవచ్చు.
ఇక్కడ ఈ ట్యుటోరియల్లో nRF24L01 ఉపయోగించి BLE ద్వారా ఏదైనా డేటాను ఎలా పంపించాలో ప్రదర్శిస్తాము. మేము BH ద్వారా Arduino మరియు nRF మాడ్యూల్ ఉపయోగించి DHT11 నుండి స్మార్ట్ఫోన్కు ఉష్ణోగ్రత రీడింగులను పంపుతాము.
బ్లూటూత్ తక్కువ శక్తి (BLE) ఎలా భిన్నంగా ఉంటుంది?
BLE దాని విద్యుత్ వినియోగ లక్షణాల కారణంగా స్వీకరించబడింది, ఎందుకంటే ఇది కేవలం నాణెం కణాన్ని ఉపయోగించి ఎక్కువ కాలం నడపగలిగింది. ఇతర వైర్లెస్ ప్రమాణాలతో పోల్చితే, స్మార్ట్ఫోన్లు, టాబ్లెట్లు మరియు మొబైల్ కంప్యూటింగ్లో అసాధారణమైన అనువర్తనాల కారణంగా BLE యొక్క వేగవంతమైన వృద్ధి మరింత వేగంగా సాగింది.
NRF24L01 మాడ్యూల్ యొక్క BLE సామర్థ్యం
BLE అదే 2.4 GHz ISM బ్యాండ్ను 250Kbps నుండి 2Mbps వరకు బాడ్ రేటుతో ఉపయోగిస్తుంది, ఇది చాలా దేశాలలో అనుమతించబడుతుంది మరియు పారిశ్రామిక మరియు వైద్య అనువర్తనాలకు వర్తించవచ్చు. బ్యాండ్ 2400 MHz నుండి 2483.5 MHz వరకు ప్రారంభమవుతుంది మరియు ఇది 40 ఛానెల్లుగా విభజించబడింది. వీటిలో మూడు ఛానెల్లను 'అడ్వర్టైజింగ్' అని పిలుస్తారు మరియు వాటి గురించి సమాచారంతో ప్రకటనల ప్యాకెట్లను పంపడానికి పరికరాలు ఉపయోగిస్తాయి కాబట్టి ఇతర BLE పరికరాలు కనెక్ట్ అవుతాయి. ఈ ఛానెల్లు మొదట బ్యాండ్ యొక్క దిగువ ఎగువ భాగంలో మరియు బ్యాండ్ మధ్యలో ఎంపిక చేయబడ్డాయి, ఇవి అనేక ఛానెల్లకు అంతరాయం కలిగించే జోక్యాన్ని నివారించాయి. BLE గురించి మరింత తెలుసుకోవడానికి, ఈ ట్యుటోరియల్ని అనుసరించండి.
ఈ ట్యుటోరియల్ NRF24L01 మాడ్యూల్ను BLE ట్రాన్స్సీవర్గా ఎలా ఉపయోగించాలో వివరిస్తుంది. ఆర్డ్యూనో ట్యుటోరియల్తో nRF24L01 ను ఇంటర్ఫేసింగ్లో RF మాడ్యూల్గా NRF24L01 పై ట్యుటోరియల్ ఇప్పటికే వివరించబడింది. ఈ రోజు ఈ మాడ్యూల్ యొక్క BLE కార్యాచరణ సెన్సార్ డేటాను స్మార్ట్ ఫోన్కు పంపడం ద్వారా వివరించబడుతుంది. ఇక్కడ ఈ nRF24L01 మాడ్యూల్ Arduino మైక్రోకంట్రోలర్తో ఇంటర్ఫేస్ చేయబడుతుంది మరియు DHT11 సెన్సార్ ఉష్ణోగ్రత డేటా అధికారిక నోర్డిక్ BLE ఆండ్రాయిడ్ అనువర్తనానికి పంపబడుతుంది.
భాగాలు అవసరం
హార్డ్వేర్:
- ఆర్డునో UNO
- nRF24L01 BLE మాడ్యూల్
- DHT11 ఉష్ణోగ్రత మరియు తేమ సెన్సార్
- జంపర్స్
సాఫ్ట్వేర్:
- Arduino IDE
- నోర్డిక్ BLE ఆండ్రాయిడ్ అప్లికేషన్ (BLE కోసం nRF టెంప్ 2.0 లేదా మొబైల్ కోసం nRF కనెక్ట్)
NRF24L01 మాడ్యూల్తో ప్రారంభమవుతుంది
NRF24L01 గుణకాలు ట్రాన్స్సీవర్ మాడ్యూల్స్, అంటే ప్రతి మాడ్యూల్ డేటాను పంపగలదు మరియు స్వీకరించగలదు కాని అవి సగం-డ్యూప్లెక్స్ కాబట్టి అవి ఒకేసారి డేటాను పంపవచ్చు లేదా స్వీకరించవచ్చు. మాడ్యూల్ నార్డిక్ సెమీ కండక్టర్ల నుండి సాధారణ nRF24L01 IC ను కలిగి ఉంది, ఇది డేటా ప్రసారం మరియు రిసెప్షన్కు బాధ్యత వహిస్తుంది. ఎస్పిఐ ప్రోటోకాల్ ఉపయోగించి ఐసి కమ్యూనికేట్ చేస్తుంది మరియు అందువల్ల ఏదైనా మైక్రోకంట్రోలర్లతో సులభంగా ఇంటర్ఫేస్ చేయవచ్చు. లైబ్రరీలు తక్షణమే అందుబాటులో ఉన్నందున ఇది ఆర్డునోతో చాలా సులభం అవుతుంది. చాట్ రూమ్ను సృష్టించడానికి మరియు సర్వో మోటార్లు వైర్లెస్గా నియంత్రించడానికి మేము ఇప్పటికే ఆర్డునోతో nRF24L01 మాడ్యూల్ని ఉపయోగించాము.
ప్రామాణిక nRF24L01 మాడ్యూల్ యొక్క పిన్అవుట్లు క్రింద చూపించబడ్డాయి:
మాడ్యూల్ ఆపరేటింగ్ వోల్టేజ్లో 1.9 వి నుండి 3.6 వి (సాధారణంగా 3.3 వి) వరకు ఉంటుంది మరియు సాధారణ ఆపరేషన్ సమయంలో కేవలం 12 ఎంఏ మాత్రమే తక్కువ విద్యుత్తును వినియోగిస్తుంది, ఇది బ్యాటరీ సామర్థ్యాన్ని కలిగిస్తుంది మరియు అందువల్ల కాయిన్ కణాలపై కూడా నడుస్తుంది. ఆపరేటింగ్ వోల్టేజ్ 3.3 వి అయినప్పటికీ, చాలా పిన్స్ 5 వి టాలరెంట్ మరియు అందువల్ల ఆర్డునో వంటి 5 వి మైక్రోకంట్రోలర్లతో నేరుగా ఇంటర్ఫేస్ చేయవచ్చు. ఈ మాడ్యూళ్ళను ఉపయోగించడం యొక్క మరొక ప్రయోజనం ఏమిటంటే, ప్రతి మాడ్యూల్ 6 పైప్లైన్లను కలిగి ఉంటుంది. అర్థం, ప్రతి మాడ్యూల్ డేటాను ప్రసారం చేయడానికి లేదా స్వీకరించడానికి 6 ఇతర మాడ్యూళ్ళతో కమ్యూనికేట్ చేయగలదు. ఇది IoT అనువర్తనాలలో స్టార్ లేదా మెష్ నెట్వర్క్లను సృష్టించడానికి మాడ్యూల్ను అనుకూలంగా చేస్తుంది. అలాగే అవి 125 ప్రత్యేకమైన ఐడిల విస్తృత చిరునామా పరిధిని కలిగి ఉన్నాయి, అందువల్ల క్లోజ్డ్ ఏరియాలో మనం 125 మాడ్యూళ్ళను ఒకదానితో ఒకటి జోక్యం చేసుకోకుండా ఉపయోగించవచ్చు.
ఆర్డునో
BLE కమ్యూనికేషన్ కోసం ఆర్డునోతో nRF24L01 ను ఇంటర్ఫేసింగ్
NRF24L01 SPI పై పనిచేస్తుంది, కాబట్టి ఇంటర్ఫేసింగ్ SPI ప్రోటోకాల్ను ఉపయోగిస్తుంది. పూర్తి కోడ్ మరియు వీడియో ఈ ట్యుటోరియల్ చివరిలో జత చేయబడుతుంది. Android అనువర్తన గైడ్ కూడా వీడియోలో వివరించబడింది. ఇక్కడ nRF24L01 మాడ్యూల్ నార్డిక్ యొక్క స్మార్ట్ఫోన్ అనువర్తనంతో కమ్యూనికేట్ చేయడానికి ఉపయోగించబడుతుంది .మొదట అవసరమైన లైబ్రరీలను చేర్చండి. లైబ్రరీలో nRF24L01 ఆదేశాలను యాక్సెస్ చేయడానికి RF24, DHT11 ఆదేశాలను యాక్సెస్ చేయడానికి DHT11 లైబ్రరీ మరియు BLE ఫంక్షన్లను ఉపయోగించడానికి BTLE లైబ్రరీ ఉన్నాయి.
# చేర్చండి
DHT11 మరియు BLE మాడ్యూల్ కోసం పిన్స్ మరియు ఫంక్షన్లను నిర్వచించండి మరియు ప్రారంభించండి. మేము DHT11 ను ఉపయోగిస్తున్నందున DHT రకం DHT11 గా ప్రారంభించబడింది. DHT GPIO పిన్ 4 కి అనుసంధానించబడి ఉంది మరియు nRF మాడ్యూల్ యొక్క CE మరియు CSN పిన్స్ వరుసగా పిన్ 9 మరియు 10 కి అనుసంధానించబడి ఉన్నాయి.
# DHTPIN ని నిర్వచించండి # DHTTYPE DHT11 DHT22 DHT dht (DHTPIN, DHTTYPE) ను నిర్వచించండి ; RF24 రేడియో (9, 10); BTLE btle (& రేడియో);
9600 వద్ద సీరియల్ పోర్టును ప్రారంభించండి, మీరు ఏదైనా పోర్టును ఎంచుకోవచ్చు. అప్పుడు DHT సెన్సార్ను ప్రారంభించండి మరియు BTLE ను బ్లూటూత్ లోకల్ నేమ్తో గరిష్టంగా 8 అక్షరాల పొడవుతో ప్రారంభించండి.
సీరియల్.బెగిన్ (9600); dht.begin (); btle.begin ("CD టెంప్");
లూప్ మీద ఉష్ణోగ్రతను చదివి ఫ్లోట్ వేరియబుల్ టెంప్లో సేవ్ చేయండి. DHT దాని శక్తిని కోల్పోతే లేదా unexpected హించనిది ఏదైనా జరిగితే దోష సందేశాన్ని చూపించడానికి డీబగ్ లైన్ జోడించండి.
ఫ్లోట్ టెంప్ = dht.readTemperature (); // (ఇస్నాన్ (హెచ్) - ఇస్నాన్ (టి)) {సీరియల్.ప్రింట్ల్న్ (ఎఫ్ (" డిహెచ్టి సెన్సార్ నుండి చదవడం విఫలమైంది!") ఉంటే ఉష్ణోగ్రత డేటాను చదవండి; తిరిగి; }
విలువను బఫర్కు సేవ్ చేసి, BLE మాడ్యూల్కు అన్వయించండి. ఉష్ణోగ్రత విలువను BLE మాడ్యూల్కు పంపండి. BLE మాడ్యూల్ ఉష్ణోగ్రత డేటాను ప్రచారం చేస్తుంది. Android అనువర్తనం BLE మాడ్యూల్ను శోధించి సెన్సార్ డేటాను అందుకోగలదు.
nrf_service_data buf; buf.service_uuid = NRF_TEMPERATURE_SERVICE_UUID; buf.value = BTLE:: to_nRF_Float (టెంప్); if (! btle.advertise (0x16, & buf, sizeof (buf))) { Serial.println ("BTLE విఫలమైంది..!"); }
పూర్తి చేసినప్పుడు, తదుపరి ఛానెల్కు హాప్ చేయండి.
btle.hopChannel ();
DHT సెన్సార్ డాక్యుమెంటేషన్ ఒక పఠనం తర్వాత కనీసం 2 సెకన్ల ఆలస్యాన్ని ఉంచాలని సిఫారసు చేస్తుంది కాబట్టి, 2 సెకన్ల ఆలస్యాన్ని జోడించండి.
ఆలస్యం (2000);
అప్లోడ్ చేసి, స్మార్ట్ఫోన్ను nRF మాడ్యూల్తో జత చేసిన తరువాత, మీరు క్రింద చూపిన విధంగా BLE ఆండ్రాయిడ్ అప్లికేషన్ కోసం nRF టెంప్ 2.0 పై విలువలను పొందడం ప్రారంభిస్తారు. Android అనువర్తనంలో డేటాను జత చేయడం మరియు పొందడం యొక్క పూర్తి విధానం కూడా వీడియోలో వివరించబడింది:
ఇది BLE nRF24L01 ఉపయోగించి సెన్సార్ డేటాను నార్డిక్ ఆండ్రాయిడ్ యాప్కు ప్రకటించడంపై పూర్తి ట్యుటోరియల్ను పూర్తి చేస్తుంది. మీకు ఏమైనా ఇబ్బంది ఉంటే క్రింద వ్యాఖ్యానించండి లేదా మా ఫోరమ్కు రాయండి. NRF24L02 గురించి మరింత అన్వేషించడానికి, మీరు Arduino, nRF24L01 మరియు ప్రాసెసింగ్ ఉపయోగించి ప్రైవేట్ చాట్ రూమ్ను సృష్టించడానికి కూడా ప్రయత్నించవచ్చు.