- தொடங்குவதற்கு முன் நினைவில் கொள்ள வேண்டிய விஷயங்கள்
- கூறுகள் தேவை
- சுற்று வரைபடம்
- மின்னஞ்சல் அனுப்புவதற்கு SMTP2GO சேவையகத்தை அமைத்தல்
- புரோகிராமிங் ஏ.வி.ஆர் மைக்ரோகண்ட்ரோலர் அட்மேகா 16 மற்றும் ஈ.எஸ்.பி .8266
- மின்னஞ்சல் அனுப்புவதற்கு ATmega16 ஐ நிரலாக்குகிறது
- புரோகிராமிங் ESP8266 NodeMCU
Atmega16 குறைந்த விலை 8 பிட் மைக்ரோகண்ட்ரோலர் மற்றும் அதன் முந்தைய மைக்ரோகண்ட்ரோலர்களை விட அதிக எண்ணிக்கையிலான GPIO உடன் வருகிறது. இது UART, USART, SPI மற்றும் I2C போன்ற பொதுவாக பயன்படுத்தப்படும் அனைத்து தகவல் தொடர்பு நெறிமுறைகளையும் கொண்டுள்ளது. ரோபோடிக்ஸ், ஆட்டோமொபைல் மற்றும் ஆட்டோமேஷன் தொழில்களில் இது பரந்த பயன்பாடுகளைக் கொண்டுள்ளது, ஏனெனில் அதன் பரந்த சமூக ஆதரவு மற்றும் எளிமை.
IoT போன்ற டொமைனில் அதன் பயன்பாட்டு பகுதிகளை மட்டுப்படுத்தும் Wi-Fi மற்றும் புளூடூத் போன்ற வயர்லெஸ் தகவல்தொடர்பு நெறிமுறைகளில் எதையும் Atmega16 ஆதரிக்கவில்லை. இந்த வரம்பைக் கடக்க வயர்லெஸ் நெறிமுறைகளைக் கொண்ட பிற கட்டுப்படுத்திகளை இணைக்க முடியும். பரவலாகப் பயன்படுத்தப்படும் ESP8266 போன்ற வயர்லெஸ் நெறிமுறைகளை ஆதரிக்கும் பல கட்டுப்படுத்திகள் உள்ளன,
இன்று நாம் செய்யும் இடைமுகம் ESP8266 NodeMCU கொண்டு Atmega16 அது இணையதளம் மூலம் கம்பியில்லாமல் தொடர்புகொள்ள செய்ய. ESP8266 NodeMCU சமூக ஆதரவு மற்றும் எளிதில் கிடைக்கக்கூடிய நூலகங்களுடன் வைஃபை தொகுதி பரவலாகப் பயன்படுத்தப்படுகிறது. மேலும் ESP8266 NodeMCU Arduino IDE உடன் எளிதில் நிரல்படுத்தக்கூடியது. ESP8266 ஐ எந்த மைக்ரோகண்ட்ரோலருடன் இணைக்க முடியும்:
இந்த டுடோரியலில், ESP8266 NodeMCU தொகுதி மற்றும் Atmega16 ஐப் பயன்படுத்தி மின்னஞ்சல் அனுப்பப்படும். அறிவுறுத்தல்கள் Atmega16 ஆல் வழங்கப்படும் மற்றும் ESP8266 வழிமுறைகளைப் பெறும்போது, அது தேர்ந்தெடுக்கப்பட்ட மின்னஞ்சல் பெறுநருக்கு ஒரு மின்னஞ்சலை அனுப்பும். ATmega16 மற்றும் ESP8266 NodeMCU UART தொடர் தகவல்தொடர்பு மூலம் தொடர்பு கொள்ளும். எந்தவொரு தகவல்தொடர்பு நெறிமுறையும் SPme, I2C அல்லது UART போன்ற ATmega16 மற்றும் ESP8266 NodeMCU ஐ இடைமுகப்படுத்த பயன்படுத்தலாம்.
தொடங்குவதற்கு முன் நினைவில் கொள்ள வேண்டிய விஷயங்கள்
என்று குறிப்பு இந்த திட்டத்தில் பயன்படுத்தப்படும் Atmega16 மைக்ரோகண்ட்ரோலர் 5V தர்க்க நிலை வேலை ESP8266 NodeMCU 3.3V தர்க்க நிலை வேலை அதேசமயம். இரண்டு மைக்ரோகண்ட்ரோலர்களின் தர்க்க நிலைகளும் வேறுபட்டவை, அவை Atmega16 மற்றும் ESP8266 NodeMCU க்கு இடையில் சில தவறான தகவல்தொடர்புகளை ஏற்படுத்தக்கூடும் அல்லது சரியான தர்க்க நிலை பராமரிக்கப்படாவிட்டால் தரவு இழப்பும் ஏற்படலாம்.
இருப்பினும், மைக்ரோகண்ட்ரோலரின் தரவுத்தாள்கள் வழியாகச் சென்றபின், ESP8266 NodeMCU இன் அனைத்து ஊசிகளும் மின்னழுத்த மட்டத்திலிருந்து 6V வரை சகிப்புத்தன்மையுள்ளவையாக இருப்பதால் எந்தவொரு தர்க்க மட்ட மாற்றமும் இல்லாமல் இடைமுகப்படுத்த முடியும் என்பதைக் கண்டறிந்தோம். எனவே 5 வி லாஜிக் மட்டத்துடன் முன்னேறுவது நல்லது. மேலும், 2V க்கு மேலான மின்னழுத்த நிலை லாஜிக் நிலை '1' ஆகவும், ESP8266 NodeMCU 3.3 V இல் இயங்குவதாகவும் Atmega16 இன் தரவுத்தாள் தெளிவாகக் கூறுகிறது, இதன் பொருள் ESP8266 NodeMCU 3.3V ஐ கடத்துகிறது என்றால் Atmega16 அதை தர்க்க நிலை '1' ஆக எடுத்துக் கொள்ளலாம். எனவே தர்க்க நிலை மாற்றத்தைப் பயன்படுத்தாமல் தொடர்பு சாத்தியமாகும். 5 முதல் 3.3 வி வரை லாஜிக் லெவல் ஷிஃப்டரைப் பயன்படுத்த நீங்கள் சுதந்திரமாக இருந்தாலும்.
ESP8266 தொடர்பான அனைத்து திட்டங்களையும் இங்கே பாருங்கள்.
கூறுகள் தேவை
- ESP8266 NodeMCU தொகுதி
- அட்மேகா 16 மைக்ரோகண்ட்ரோலர் ஐ.சி.
- 16 மெகா ஹெர்ட்ஸ் கிரிஸ்டல் ஆஸிலேட்டர்
- இரண்டு 100nF மின்தேக்கிகள்
- இரண்டு 22pF மின்தேக்கிகள்
- புஷ் பொத்தான்
- ஜம்பர் கம்பிகள்
- ப்ரெட்போர்டு
- USBASP v2.0
- தலைமையில் (எந்த நிறமும்)
சுற்று வரைபடம்

மின்னஞ்சல் அனுப்புவதற்கு SMTP2GO சேவையகத்தை அமைத்தல்
நிரலாக்கத்தைத் தொடங்குவதற்கு முன், ESP8266 மூலம் அஞ்சல் அனுப்ப எங்களுக்கு ஒரு SMTP சேவையகம் தேவை. ஆன்லைனில் ஏராளமான SMTP சேவையகங்கள் உள்ளன. இங்கே, smtp2go.com SMTP சேவையகமாக பயன்படுத்தப்படும்.
எனவே குறியீட்டை எழுதுவதற்கு முன்பு, SMTP பயனர்பெயர் மற்றும் கடவுச்சொல் தேவைப்படும். இந்த இரண்டு நற்சான்றிதழ்களைப் பெறுவதற்கு கீழேயுள்ள படிகளைப் பின்பற்றவும், இது வெற்றிகரமாக மின்னஞ்சல்களை அனுப்ப SMTP சேவையகத்தை அமைப்பதை உள்ளடக்கும்.
படி 1: - இலவச கணக்கில் பதிவு செய்ய “SMTP2GO Free ஐ முயற்சிக்கவும்” என்பதைக் கிளிக் செய்க.

படி 2: - ஒரு சாளரம் பாப் அப் செய்யும், அங்கு நீங்கள் பெயர், மின்னஞ்சல் ஐடி மற்றும் கடவுச்சொல் போன்ற சில நற்சான்றிதழ்களை உள்ளிட வேண்டும்.

படி 3: - பதிவுசெய்த பிறகு, உள்ளிடப்பட்ட மின்னஞ்சலில் செயல்படுத்தும் கோரிக்கையைப் பெறுவீர்கள். மின்னஞ்சலில் உள்ள சரிபார்ப்பு இணைப்பிலிருந்து உங்கள் கணக்கைச் செயல்படுத்தவும், பின்னர் உங்கள் மின்னஞ்சல் ஐடி மற்றும் கடவுச்சொல்லைப் பயன்படுத்தி உள்நுழைக.
படி 4: - நீங்கள் உள்நுழைந்ததும், உங்கள் SMTP பயனர்பெயர் மற்றும் SMTP கடவுச்சொல்லைப் பெறுவீர்கள். மேலும் பயன்படுத்த உங்கள் நோட்பேடில் நினைவில் கொள்ளுங்கள் அல்லது நகலெடுக்கவும். இதற்குப் பிறகு 'பூச்சு' என்பதைக் கிளிக் செய்க.

படி 5: - இப்போது இடது அணுகல் பட்டியில், “அமைப்புகள்” என்பதைக் கிளிக் செய்து “பயனர்கள்” என்பதைக் கிளிக் செய்க. இங்கே, SMTP சேவையகம் மற்றும் PORT எண் தொடர்பான தகவல்களை நீங்கள் காணலாம். இது பொதுவாக பின்வருமாறு:

குறியீட்டு பயனர்பெயர் மற்றும் கடவுச்சொல்
இப்போது ASCII எழுத்துக்குறி தொகுப்புடன் பயனர்பெயர் மற்றும் கடவுச்சொல்லை அடிப்படை 64 குறியாக்கப்பட்ட வடிவத்தில் மாற்ற வேண்டும். மின்னஞ்சல் மற்றும் கடவுச்சொல்லை அடிப்படை 64 குறியாக்கப்பட்ட வடிவத்தில் மாற்ற BASE64ENCODE (https://www.base64encode.org/) என்ற வலைத்தளத்தைப் பயன்படுத்தவும். மேலும் பயன்படுத்த, குறியிடப்பட்ட பயனர்பெயர் மற்றும் கடவுச்சொல்லை நகலெடுக்கவும்:

இந்த படிகளை முடித்த பிறகு ESP8266 NodeMCU மற்றும் Atmega16 IC இன் நிரலாக்கத்திற்கு தொடரவும்.
புரோகிராமிங் ஏ.வி.ஆர் மைக்ரோகண்ட்ரோலர் அட்மேகா 16 மற்றும் ஈ.எஸ்.பி.8266
புரோகிராமிங்கில் இரண்டு புரோகிராம்கள் இருக்கும், ஒன்று அட்மேகா 16 அறிவுறுத்தல்களை அனுப்புபவராக செயல்படவும், இரண்டாவது ஒரு வழிமுறைகளைப் பெறுபவராக செயல்பட ESP8266 நோட்எம்சியுவுக்கு. இரண்டு நிரல்களும் இந்த டுடோரியலின் முடிவில் கொடுக்கப்பட்டுள்ளன. Arduino IDE ESP8266 ஐ எரிக்க பயன்படுகிறது மற்றும் USBasp புரோகிராமர் மற்றும் Atmga16 ஐ எரிக்க Atmel Studio பயன்படுத்தப்படுகிறது.
ஒரு புஷ் பொத்தான் மற்றும் எல்.ஈ. எல்.ஈ.டி தரவு பரிமாற்றத்தின் நிலையைக் காண்பிக்கும். எனவே புரோகிராமிங் Atmega16 ஐத் தொடங்குவோம், பின்னர் ESP8266 NodeMCU.

மின்னஞ்சல் அனுப்புவதற்கு ATmega16 ஐ நிரலாக்குகிறது
இயக்க அதிர்வெண்ணை வரையறுத்து, தேவையான அனைத்து நூலகங்களையும் சேர்த்துத் தொடங்குங்கள். பயன்படுத்தப்படும் நூலகம் அட்மல் ஸ்டுடியோ தொகுப்புடன் வருகிறது.
# F_CPU 16000000UL ஐ வரையறுக்கவும் # அடங்கும் # அடங்கும்
இதற்குப் பிறகு , ESP8266 உடன் தொடர்புகொள்வதற்கு பாட் வீதத்தை வரையறுக்க வேண்டும். பாட் வீதம் இரண்டு கட்டுப்படுத்திகளுக்கும் ஒத்ததாக இருக்க வேண்டும் என்பதை நினைவில் கொள்க, அதாவது Atmega16 மற்றும் NodeMCU. இந்த டுடோரியலில், பாட்ரேட் 9600 ஆகும்.
# BAUD_PRESCALE ஐ வரையறுக்கவும் ((( F_CPU / (USART_BAUDRATE * 16UL))) - 1)
பாட் வீத மதிப்புகளை ஏற்ற UBRRL மற்றும் UBRRH ஆகிய இரண்டு பதிவேடுகள் பயன்படுத்தப்படும். குறைந்த 8-பிட்கள் பாட் வீதம் யுபிஆர்ஆர்எல்லில் ஏற்றப்படும் மற்றும் மேல் 8 பிட்கள் பாட் வீதம் யுபிஆர்ஆர்ஹெச்சில் ஏற்றப்படும். எளிமைக்காக, UART துவக்கத்தின் செயல்பாட்டை உருவாக்கவும், அங்கு பாட் வீதம் மதிப்பால் அனுப்பப்படும். UART துவக்க செயல்பாட்டில் பின்வருவன அடங்கும்:
- UCSRB பதிவேட்டில் பரிமாற்றம் மற்றும் வரவேற்பு பிட்களை அமைத்தல்.
- பதிவேட்டில் UCSRC இல் 8-பிட் எழுத்து அளவுகளைத் தேர்ந்தெடுப்பது.
- யுபிஆர்ஆர்எல் மற்றும் யுபிஆர்ஆர்எச் பதிவேட்டில் பாட் வீதத்தின் குறைந்த மற்றும் மேல் பிட்களை ஏற்றுகிறது.
UART_init (நீண்ட USART_BAUDRATE) { UCSRB - = (1 << RXEN) - (1 << TXEN); UCSRC - = (1 << URSEL) - (1 << UCSZ0) - (1 << UCSZ1); UBRRL = BAUD_PRESCALE; UBRRH = (BAUD_PRESCALE >> 8); }
அடுத்த கட்டம் எழுத்துக்களை கடத்துவதற்கான செயல்பாட்டை அமைக்கும். இந்த படியில் வெற்று இடையகம் முடிவடையும் வரை காத்திருந்து பின்னர் யுடிஆர் பதிவேட்டில் கரி மதிப்பை ஏற்றும். கரி செயல்பாட்டில் மட்டுமே அனுப்பப்படும்.
UART_TxChar (char c) { போது (! (UCSRA & (1 <
எழுத்துக்களை மாற்றுவதற்கு பதிலாக, கீழே உள்ள சரங்களை அனுப்ப ஒரு செயல்பாட்டை உருவாக்கவும்.
UART_sendString (char * str) { கையொப்பமிடாத கரி s = 0; (str! = 0) { UART_TxChar (str); s ++; } }
இல் முக்கிய () செயல்பாடு, அழைப்பு UART_init () ஒலிபரப்பு தொடங்க. மற்றும் NodeMCU சோதனை சரம் அனுப்புவதன் மூலம் எதிரொலி சோதனை செய்ய.
UART_init (9600); UART_sendString ("TEST");
எல்.ஈ.டி மற்றும் புஷ் பட்டனுக்கான ஜி.பி.ஐ.ஓ முள் கட்டமைக்கத் தொடங்குங்கள்.
டி.டி.ஆர்.ஏ - = (1 << 0); டி.டி.ஆர்.ஏ & = ~ (1 << 1); போர்டா - = (1 << 1);
புஷ் பொத்தானை அழுத்தவில்லை என்றால், எல்.ஈ. ஐ இயக்கவும், புஷ் பொத்தானை அழுத்தினால், “SEND” கட்டளையை NodeMCU க்கு அனுப்பவும், எல்.ஈ.டி அணைக்கவும்.
if (bit_is_clear (PINA, 1)) { PORTA - = (1 << 0); _ தாமத_எம்எஸ் (20); } else { PORTA & = ~ (1 << 0); _ தாமத_எம்எஸ் (50); UART_sendString ("SEND"); _ தாமத_எம்எஸ் (1200); }
புரோகிராமிங் ESP8266 NodeMCU
புரோகிராமிங் NodeMCU இல் Atmega16 இலிருந்து கட்டளையின் வரவேற்பு மற்றும் ஒரு SMTP சேவையகத்தைப் பயன்படுத்தி மின்னஞ்சல் அனுப்புதல் ஆகியவை அடங்கும்.
முதலாவதாக, மின்னஞ்சல் அனுப்ப இணையம் பயன்படுத்தப்படும் என்பதால் வைஃபை நூலகத்தைச் சேர்க்கவும். வெற்றிகரமான இணைப்புக்கு உங்கள் WIFI ssid மற்றும் கடவுச்சொல்லை வரையறுக்கவும். SMTP சேவையகத்தையும் வரையறுக்கவும்.
#சேர்க்கிறது
இல் அமைப்பு () செயல்பாடு, அமை WiFi மற்றும் காட்சி ஐபி முகவரிக்கு 9600 போன்ற Atmega16 பாட் விகிதம் ஒத்ததாகவும் இணைப்பு பாட் விகிதம்.
சீரியல்.பெஜின் (9600); சீரியல்.பிரண்ட் ("இணைக்கிறது:"); Serial.println (ssid); WiFi.begin (ssid, password); (WiFi.status ()! = WL_CONNECTED) { தாமதம் (500); சீரியல்.பிரண்ட் ("."); }
இல் லூப் () செயல்பாடு, பெறும் வேர்ச்சொல் முள் மணிக்கு பைட்கள் படிக்க மற்றும் சரம் வடிவம் மாற்ற வேண்டும்.
if (Serial.available ()> 0) { போது (Serial.available ()> 0 && index1 <6) { தாமதம் (100); inChar = சீரியல்.ரெட் (); inData = inChar; குறியீட்டு 1 ++; inData = '\ 0'; } variable.toUpperCase (); for (byte i = 0; i <6; i ++) { variable.concat (சரம் (inData)); } சீரியல்.பிரண்ட் ("மாறி ="); Serial.println (மாறி); சீரியல்.பிரண்ட் ("indata is ="); Serial.println (inData); தாமதம் (20); } சரம் சரம் = சரம் (மாறி);
பெறும் கட்டளை பொருந்தினால், அனுப்பிய மின்னஞ்சல் () செயல்பாட்டை அழைப்பதன் மூலம் பெறுநருக்கு மின்னஞ்சல் அனுப்புங்கள்.
if (சரம் == "SEND") { sendEmail (); சீரியல்.பிரண்ட் ("அஞ்சல் அனுப்பப்பட்டது:"); Serial.println ("பெறுநர்"); Serial.println (""); }

SMTP சேவையகத்தை அமைப்பது மிகவும் முக்கியம், இதைச் செய்யாமல், எந்த மின்னஞ்சல்களையும் அனுப்ப முடியாது. தகவல்தொடர்பு போது, இரண்டு கட்டுப்படுத்திகளுக்கும் ஒத்த பாட் வீதத்தை அமைக்கவும்.
ஆகவே , ஐஓடி தகவல்தொடர்புகளுக்கு ஏஎஸ்பி 8266 ஐவிஆர் மைக்ரோகண்ட்ரோலருடன் இணைக்க முடியும். கீழே கொடுக்கப்பட்டுள்ள வேலை வீடியோவையும் சரிபார்க்கவும்.
