Arduino బోర్డ్లో Wi-Fi మాడ్యూల్ను మౌంట్ చేసిన తర్వాత, మొబైల్ ఫోన్ మరియు Arduino మధ్య Wi-Fi కమ్యూనికేషన్ను కనెక్ట్ చేయడానికి మొబైల్ ఫోన్లో ఈ యాప్ను ఆపరేట్ చేసిన తర్వాత, బటన్ను నొక్కడాన్ని గుర్తించడానికి మొబైల్ ఫోన్లో అందించిన 10 బటన్లను నొక్కడం. కావలసిన ఆపరేషన్ చేయడానికి Arduino. అనుమతించే అనువర్తనం
- సింగిల్ బటన్: 10
(ప్రతి బటన్ నొక్కినప్పుడు డేటా Arduinoకి పంపబడుతుంది)
బటన్ 1: '0' (హెక్సాడెసిమల్ 30) బటన్ 2: '1' (హెక్సాడెసిమల్ 31)
బటన్ 3: '2' (హెక్సాడెసిమల్ 32) బటన్ 4: '3' (హెక్సాడెసిమల్ 33)
బటన్ 5: ‘4’ (హెక్సాడెసిమల్ 34) బటన్ 6: ‘5’ (హెక్సాడెసిమల్ 35)
బటన్ 7: ‘6’ (హెక్సాడెసిమల్ 36) బటన్ 8: ‘7’ (హెక్సాడెసిమల్ 37)
బటన్ 9: ‘8’ (హెక్సాడెసిమల్ 38) బటన్ 10: ‘9’ (హెక్సాడెసిమల్ 39)
(Arduino లో ప్రోగ్రామ్ యొక్క ఉదాహరణ)
Arduino యొక్క డిజిటల్ పోర్ట్ 5కి కనెక్ట్ చేయబడిన LED బటన్ 1ని ఒకసారి నొక్కినప్పుడు ఆన్ అవుతుంది మరియు మళ్లీ నొక్కినప్పుడు ఆఫ్ అవుతుంది. (చర్యను టోగుల్ చేయండి)
///// Wi-Fi ద్వారా LED లను నియంత్రించడం
మొదటి భాగంలో SoftwareSerial.hని చేర్చండి.
SoftwareSerial esp8266(2,3);
శూన్యమైన సెటప్()
{
సీరియల్. ప్రారంభం(9600);
esp8266.begin(9600); // బాడ్ రేటు esp
పిన్మోడ్(5, అవుట్పుట్);
డిజిటల్ రైట్ (, తక్కువ);
sendData("AT+RST\r\n",2000); // మాడ్యూల్ రీసెట్
sendData("AT+CWMODE=2\r\n",1000); // AP (యాక్సెస్ పాయింట్)గా సెట్ చేయబడింది
sendData("AT+CIFSR\r\n",1000); // ip చిరునామా పొందండి
sendData("AT+CIPMUX=1\r\n",1000); // బహుళ కనెక్షన్లకు సెట్ చేయబడింది
sendData("AT+CIPSERVER=1,80\r\n",1000); పోర్ట్ 80లో సర్వర్
}
శూన్య లూప్()
{
if(esp8266.available()) // esp సందేశాన్ని పంపుతున్నట్లయితే
{
if(esp8266.find("+IPD,"))
{
ఆలస్యం (200); // మొత్తం సీరియల్ డేటాను చదవండి
int connectionId = esp8266.read();
esp8266.find("?");
int సంఖ్య = esp8266.read();
ఉంటే(సంఖ్య==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
ఇతర డిజిటల్ రైట్ (5, హై);
}
// ఆదేశాన్ని మూసివేయండి
String closeCommand = "AT+CIPCLOSE=";
CloseCommand += connectionId; // కనెక్షన్ ఐడిని అటాచ్ చేయండి
క్లోజ్కమాండ్ += "\r\n";
sendData(closeCommand,1000); // దగ్గరి కనెక్షన్
}
}
}
String sendData(స్ట్రింగ్ కమాండ్, const int సమయం ముగిసింది)
{
స్ట్రింగ్ ప్రతిస్పందన = "";
esp8266.print(కమాండ్); // చదివిన అక్షరాన్ని esp8266కి పంపండి
దీర్ఘ పూర్ణాంక సమయం = మిల్లీస్();
అయితే ( (సమయం+ సమయం ముగిసింది) > మిల్లీస్())
{
అయితే(esp8266.అందుబాటులో())
{
// espలో స్వీకరించబడిన డేటా ఉంటే, దానిని సీరియల్గా పంపండి
చార్ c = esp8266.read(); // తదుపరి అక్షరాన్ని చదవండి
స్పందన+=c;
}
}
తిరిగి ప్రతిస్పందన;
}
అప్డేట్ అయినది
5 డిసెం, 2024