У овом упутству научимо како да шаљемо е-пошту са ПИЦ микроконтролера помоћу познатог ВиФи модула ЕСП8266. Овај водич користи ПИЦ16Ф877А ИЦ и МПЛАБКС и КСЦ8 компајлер за програмирање.
На крају овог водича моћи ћете да шаљете е-пошту са било ког уобичајеног ИД-а е-поште, као што је Гмаил, иахоо итд., На било који други е-маил ИД. Стога овај водич претпоставља да имате неко основно знање о модулима ЕСП8266-01 и ПИЦ микроконтролерима. Ако не, следећи водичи ће вам помоћи
- Први кораци са ЕСП8266
- Повезивање ЕСП8266 са ПИЦ-ом
Па кренимо…
Припрема са вашим ИД-ом е-поште:
Када се одлучите са ког ИД-а поште желите да пошаљете е-пошту, следите кораке у наставку
1. корак: Посетите хттпс://ввв.смтп2го.цом/ и пријавите се као нови корисник. Унесите своје име, е-маил адресу и лозинку свог е-маил ИД-а са којег желите да пошаљете пошту.
Овај водич користи ИД поште: асвинтхцд @ гмаил.цом и Пассворд: цирцуитдигест.
Корак 2: Кликните на регистрацију и на ваш унети ИД поште биће вам послата порука за верификацију. У овом случају то је асвинтхцд @ гмаил.цом. Отворите пошту и кликните на „АКТИВИРАЈ РАЧУН“
Корак 3: Можда ће поново затражити лозинку, ако се затражи унесите претходну лозинку. У овом случају то је „склопни дигест“. Тада ћете бити пријављени на веб локацију СМПТ2ГО. То је то, сада је ваша адреса е-поште спремна за слање поште путем модула ЕСП8266.
Корак 4: Последњи корак је кодирање ИД-а е-поште и лозинке у основни 64 формат користећи ову веб страницу хттпс://ввв.басе64енцоде.орг/. Користићемо ово у нашем програму ПИЦ
У овом случају кодиране вредности ће изгледати као што је приказано у доњој табели.
Параметар |
Уобичајени формат |
Кодирано у бази 64 |
ИД поште |
асвинтхцд @ гмаил.цом |
ИКСН3аВ50аГНкКГдтИВлсЛмНвбК == |
Лозинка |
цирцуитдигест |
И2лиИ3ВпдГРпЗ2ВздА == |
Припрема хардвера:
Комплетна шема пројекта приказана је у наставку.
ЛЦД екран се овде користи у сврху отклањања грешака. Није обавезно да ово повежете. Програм ће радити добро и без ЛЦД екрана. Ако желите да сазнате више о шемама, посетите овај водич. (Повезивање ПИЦ-а са ЕСП-ом).
Можете једноставно да саставите ово коло на плочи и затим наставите са програмирањем.
Програмирање вашег ПИЦ-а за слање е-поште:
Да би се е-пошта послала са ЕСП8266, секвенца АТ наредби мора бити послата на ЕСП модул. За слање е-поште са ЕСП8266 потребно је следити следеће кораке.
- Поставите модул у режим АП + СТА (приступна тачка и станица)
- Повежите се са приступном тачком да бисте добили интернет везу
- Омогућите више веза
- Покрените сервер на било ком одређеном порту
- Успоставите ТЦП везу са веб локацијом СМПТ2ГО
- Дођите до одељка за пријаву на веб локацији
- Унесите ИД е-поште и лозинку у басе64 формату
- Унесите из ИД-а поште
- Унесите на ИД поште
- Унесите предмет поште
- Унесите тело поште
- Означите крај поште
- Пошаљите маил
- Прекини ТЦП везу
То је мало дуготрајан и напоран процес, али не брините. Поједноставио сам поступак стварањем датотеке заглавља и можете га директно користити позивањем неких функција (објашњено у наставку) што овај задатак чини врло једноставним. Комплетни код заједно са датотеком заглавља можете преузети овде.
Напомена: Ако користите код у новом пројекту, обавезно преузмите датотеку заглавља и додајте га у свој пројекат.
Објаснио сам неке важне делове кода у наставку, остали делови су самообјашњиви. Али ако сумњате, слободно користите одељак за коментаре.
/ * Проверите да ли је комуникација ЕСП_ПИЦ успешна * / до {Лцд_Сет_Цурсор (1,1); Лцд_Принт_Стринг ("ЕСП није пронађен"); } вхиле (! есп8266_исСтартед ()); // сачекајте док ЕСП не пошаље „ОК“ Лцд_Сет_Цурсор (1,1); Лцд_Принт_Стринг („ЕСП је повезан“); __делаи_мс (1500); Лцд_Цлеар (); / * Да ЕСП комуникација успешна -наставити * /
Овај део кода служи за проверу да ли је успостављена одговарајућа комуникација између ПИЦ-а и ЕСП8266. Само ако би обојица могли да шаљу и примају податке путем УСАРТ-а, програм прелази на следећи корак.
есп8266_моде (3);
Ова функција ће поставити ЕСП8266 у режим 3. То значи да модул сада може да делује као приступна тачка и као сервер.
есп8266_цоннецт ("БПАС дом", "црацксун");
Ова функција се користи за повезивање модула ЕСП8266 са Вифи рутером. У овом случају „БПАС дом“ је име мог Вифи сигнала, а „црацксун“ је моја лозинка. Морате да користите своје детаље Вифи сигнала.
_есп8266_енале_МУКС (); // Омогући вишеструке везе _есп8266_цреате_сервер (); // Креирајте сервер на порту 80
Ове две функције се користе за омогућавање вишеструких веза и стварање сервера на порту 80.
_есп8266_цоннецт_СМПТ2ГО ();
Сада, користећи ову функцију, можемо успоставити ТЦП везу са СМПТ2ГО. Након успостављања везе, ова функција се такође премешта на страницу за пријављивање на веб локацији.
_есп8266_логин_маил ("ИКСН3аВ50аГНкКГдтИВлсЛмНвбК ==", "И2лиИ3ВпдГРпЗ2ВздА ==");
Помоћу ове функције унесите свој ИД е-поште и лозинку у основном 64 формату. Као што видите, ове кодиране вредности су исте као оне приказане у горњој табели. Кодиране вредности ће се разликовати у зависности од вашег е-маил ИД-а и лозинке.
_есп8266_маил_сендИД ("асвинтхцд @ гмаил.цом");
Ова функција се користи за дефинисање имена ИД-а пошиљаоца. У овом упутству шаљем пошту користећи свој Гмаил ИД као асвинтхцд @ гмаил.цом, па сам је послао као параметар.
_есп8266_маил_рецИД ("маилтоасвинтх @ гмаил.цом");
Ова функција се користи за дефинисање имена ИД-а пријемника. Желео бих да пошаљем своју пошту на други мој Гмаил налог, па сам зато параметар проследио као маилтоасивнтх @ гмаил.цом. Можете да користите жељени ИД поште
_есп8266_старт_маил ();
Ова функција упућује СМПТ2ГО сервер да ћемо уносити предмет и тело поште и припрема га за исто.
_есп8266_маил_субјецт ("Пошта са ЕСП8266");
Овом функцијом можете да дефинишете тему поште. Као пример, користио сам „пошту са ЕСП8266“ као тему поште.
_есп8266_маил_боди ("Тестирање успеха -ЦирцуитДигест");
Након уноса предмета помоћу ове функције можете ући у тело поште. Као пример поставио сам „Тестинг Суццесс –ЦирцуитДигест“ као тело своје поште.
_есп8266_Енд_маил ();
Сад кад смо унели тему и тело поште, СМПТ2ГО серверу морамо да наложимо да смо завршили са додавањем детаља у пошту. То се може учинити употребом функције
_есп8266_Енд_маил ();
_есп8266_дисцоннецт_СМПТ2ГО ();
Коначно, након слања поште, морамо да прекинемо ТЦП везу са СМПТ2ГО сервером. То се постиже коришћењем горње функције.
Рад:
Када завршите са хардвером и програмом. Једноставно убаците код у свој ПИЦ МЦУ. Затим укључите круг. Ако се све одвија према очекивањима, ваш ЛЦД би требао приказати статус процеса и на крају изговорити „Маил сент“ као што је приказано у видео снимку испод. Ваш хардвер може изгледати отприлике овако.
Једном када се на ЛЦД-у прикаже да је пошта послата, проверите да ли је у поштанском сандучету Примљено и Нежељена пошта послата пошта. Требали сте добити пошту као што је приказано доле..
То је то што сада можете да направите сопствене ИОТ пројекте читањем података сензора и слањем на свој ИД поште. Створите систем сигурносног упозорења за ваш дом или аутомобил покретањем упозорења путем поште.
Ако сумњате или заглавите у средини, љубазно користите одељак за коментаре и радо ћу вам помоћи.