Како да направите сопствено дугме за повезивање на Ви-Фи помоћу ЕСП8266

Како да направите сопствено дугме за повезивање на Ви-Фи помоћу ЕСП8266

Интернет ствари има огроман потенцијал „уради сам“. Са довољно знања и неколико јефтиних компоненти, могли бисте изградити сложен систем повезаних уређаја.





Понекад, међутим, желите нешто једноставно. Без звона или звиждука, само дугме које обавља један задатак. Можда сте већ били упознати са нечим оваквим ако сте икада користили дугме Амазон Дасх за преуређивање свакодневних предмета за домаћинство.





Данас ћемо направити дугме омогућено за Ви-Фи помоћу НодеМЦУ-а и програмирати га да користи ИФТТТ за ... па, било шта! Писана упутства након видео записа, ако желите.





Шта ће вам требати

Требаћеш:

  • 1 к НодеМЦУ (ЕСП8266) плоча, доступна за 2-3 долара на АлиЕкпресс-у
  • 1 к Тастер
  • 1 к ЛЕД (опционо)
  • 1 к 220 Охм отпорник (опционално)
  • Бреадбоард и жице за повезивање
  • Микро УСБ за програмирање
  • Рачунар са инсталираним Ардуино ИДЕ -ом

Осим НодеМЦУ -а, већину ових делова требали бисте пронаћи у било ком Ардуино почетном комплету. Овај водич ће претпоставити да користите опционалну ЛЕД и отпорник, али они нису битни.



Корак 1: Подешавање кола

Постављање хардвера за овај пројекат је врло једноставно. Поставите плочу према овом дијаграму.

Љубичаста жица се причвршћује пин Д0 са једне стране дугмета. Зелена жица повезује другу страну дугмета са РСТ пин . Плава жица тече од пин Д1 на отпорник и ЛЕД. Негативна нога ЛЕД -а се причвршћује на ГНД пин НодеМЦУ -а.





Када је матична плоча постављена, требало би да изгледа отприлике овако:

најбољи начин да купите иПхоне

Ако се питате како моја ЛЕД диода иде на уземљење користећи само те ситне комаде кабла, брзо кружни курс требало би да помогне да се то разјасни! Проверите своја подешавања и повежите свој НодеМЦУ са рачунаром преко УСБ -а.





Корак 2: Постављање ИДЕ -а

Пре него што наставите са кодирањем, потребно је да се припремите. Ако већ нисте, подесите Ардуино ИДЕ да препозна вашу НодеМЦУ плочу. Можете га додати на листу својих плоча путем Датотека> Поставке .

Детаљније објашњење овог корака можете пронаћи у нашем уводном чланку о НодеМЦУ.

За овај пројекат су потребне две библиотеке. Иди на Скица> Укључи библиотеку> Управљање библиотекама . Тражити ЕСП8266ВИФИ аутора Ивана Грокхоткова и инсталирајте га. Ова библиотека је написана за успостављање Ви-Фи везе са НодеМЦУ плочом.

Следећа претрага за ИФТТТВебхоок аутора Јохн Ромкеи и инсталирајте најновију верзију. Ова библиотека је осмишљена да поједностави процес слања веб -дојавника ИФТТТ -у.

То је све што нам је потребно за припрему, кодирајмо!

Како ће Кодекс функционисати

Користићемо ЕСП8266ВИФИ библиотеку за успостављање Ви-Фи везе. Тхе ИФТТТВебхоокс библиотека упућује захтев ИФТТТ-у --- у овом случају да постави на Твиттер. Затим упутите НодеМЦУ плочу да спава када се не користи ради уштеде енергије.

Када притиснете дугме, он ће повезати Д0 и РСТ игле. Ово ресетује плочу и процес се понавља.

Већина кода у овом водичу довољно је једноставна за почетнике. Међутим, ако почињете, бит ће вам много лакше разумјети након што пратите наше Ардуино водич за почетнике .

Овај водич води кроз комаде у комадима како би вам помогао у разумевању. Ако желите да пређете директно на посао, можете пронаћи комплетан код у Пастебину . Имајте на уму да ћете и даље морати да попуните своје акредитиве за Ви-Фи и ИФТТТ у овом коду да би могао да функционише!

Корак 3: Тестирање дубоког сна

За почетак ћемо направити једноставан тест који ће показати како дубоки сан функционише. Отворите нову скицу у Ардуино ИДЕ -у. Унесите следећа два дела кода.

#include
#include
#define ledPin 5
#define wakePin 16
#define ssid 'YOUR_WIFI_SSID'
#define password 'YOUR_WIFI_PASSWORD'
#define IFTTT_API_KEY 'IFTTT_KEY_GOES_HERE'
#define IFTTT_EVENT_NAME 'IFTTT_EVENT_NAME_HERE'

Овде укључујемо наше библиотеке, заједно са дефинисањем неколико променљивих које ће нам требати у скици. Приметићете да су ледПин и вакеПин овде различито нумерисани у односу на горњи Фритзинг дијаграм. НодеМЦУ има другачији пиноут од Ардуино плоча. Ово ипак није проблем, због овог згодног дијаграма:

Сада креирајте функцију подешавања:

void setup() {
Serial.begin(115200);
while(!Serial) {
}
Serial.println(' ');// print an empty line before and after Button Press
Serial.println('Button Pressed');
Serial.println(' ');// print an empty line
ESP.deepSleep(wakePin);
}

Овде постављамо наш серијски порт и користимо вхиле петљу да сачекамо да почне. Пошто се овај код активира након притиска на дугме за ресетовање, штампамо „Дугме притиснуто“ на серијски монитор. Затим, кажемо НодеМЦУ -у да пређе у дубоки сан док се дугме које повеже вакеПин до РСТ пин је притиснут.

На крају, за тестирање, додајте ово у свој лооп () метода:

void loop(){
//if deep sleep is working, this code will never run.
Serial.println('This shouldn't get printed');
}

Обично Ардуино скице покрећу функцију петље непрекидно након подешавања. Пошто шаљемо плочу у стање мировања пре завршетка подешавања, петља се никада не покреће.

Сачувајте своју скицу и поставите је на плочу. Отворите серијски монитор и требало би да видите 'Дугме притиснуто.' Сваки пут када се дугме активира, табла се ресетује и порука се поново штампа. Функционише!

Напомена о серијском монитору

Можда сте приметили неке бесмислене ликове у серијском монитору током неких својих пројеката. То је обично због тога што серијски монитор није постављен на исту брзину преноса као и Сериал.бегин (КСКСКСКС) стопа.

Многи водичи предлажу да се за овакав пројекат започне серијска веза брзином преноса од 115200. Испробао сам многе комбинације и све су имале различите степене бесмислица пре и после серијских порука. Према различитим постовима на форумима, то би могло бити последица неисправне плоче или проблема са компатибилношћу софтвера. Пошто то не утиче превише на пројекат, бирам да се претварам да се то не дешава.

како да смањим јпег

Ако имате проблема са серијским монитором, покушајте са различитим брзинама преноса података и погледајте која вам најбоље одговара.

Корак 4: Повезивање на Ви-Фи

Сада креирајте функцију за повезивање са вашом Ви-Фи мрежом.

void connectToWifi() {
Serial.print('Connecting to: SSID NAME'); //uncomment next line to show SSID name
//Serial.print(ssid);
WiFi.begin(ssid, password);
Serial.println(' ');// print an empty line
Serial.print('Attempting to connect: ');
//try to connect for 10 seconds
int i = 10;
while(WiFi.status() != WL_CONNECTED && i >=0) {
delay(1000);
Serial.print(i);
Serial.print(', ');
i--;
}
Serial.println(' ');// print an empty line
//print connection result
if(WiFi.status() == WL_CONNECTED){
Serial.print('Connected.');
Serial.println(' ');// print an empty line
Serial.print('NodeMCU ip address: ');
Serial.println(WiFi.localIP());
}
else {
Serial.println('Connection failed - check your credentials or connection');
}
}

Ова метода покушава да се повеже на вашу мрежу десет пута са секундом између. Успех или неуспех везе се штампа на серијском монитору.

Корак 5: Позивање начина повезивања

Управо сада, цоннецтТоВифи () се никада не зове. Додајте позив својој функцији за подешавање између поруке „Притиснуто дугме“ и слања плоче на спавање.

connectToWifi();

У случају да се питате где ово одговара, требало би да изгледа овако:

На врху скице замените ссид и Лозинка променљиве са вашим акредитивима за Ви-Фи. Сачувајте своју скицу и отпремите је на плочу.

Сада, када се плоча подигне, покушаће се повезати на вашу Ви-Фи мрежу, пре него што се врати на функцију подешавања. Сада, хајде да подесимо ИФТТТ интеграцију.

Корак 6: Подешавање ИФТТТ интеграције

ИФТТТ омогућава интеграцију са широким спектром веб услуга. Користили смо га у нашем ЛЕД водичу за Ви-Фи ПЦ ​​Товер за слање упозорења сваки пут када се прими нова е-порука. Данас ћемо га користити за слање твита притиском на дугме.

Идите до Ми Апплетс страницу и изаберите Нев Апплет

Кликните на +ово и повежите се на Вебхоокс . Изаберите 'Примите веб захтев' и именујте свој догађај. Поједностави ! Забележите назив догађаја, касније ћете га морати додати у свој НодеМЦУ код. Кликните „Направи окидач“ .

Сада изаберите +то . Потражите Твиттер услугу и повежите се с њом --- морат ћете је овластити за постављање на ваш Твиттер рачун. Изаберите 'Објави твит' и изаберите своју поруку.

На следећем екрану ће се тражити да прегледате аплет. Кликните заврши. То је то!

Корак 7: Додавање ИФТТТ акредитива у код

Назад у Ардуино ИДЕ -у мораћете да додате свој ИФТТТ АПИ кључ и назив догађаја у дефинисане променљиве. Да бисте пронашли АПИ кључ, идите на Ми Апплетс и изаберите Вебхоокс под Услуге таб. Изаберите Документација за приступ вашем кључу.

Копирајте кључ и назив догађаја у свој код, замењујући привремена имена која су им постављена.

#define IFTTT_API_KEY 'IFTTT_KEY_GOES_HERE'
#define IFTTT_EVENT_NAME 'IFTTT_EVENT_NAME_HERE'

Имајте на уму да обрнути зарези морају остати, само заменити текст.

Између позива цоннецтТоВифи () и слањем плоче у стање мировања, креирајте инстанцу објекта библиотеке ИФТТТВебхоок. ЛЕД сигнализира завршетак задатка пре него што дубоки сан поново почне.

колико меморије хром треба да користи
//just connected to Wi-Fi
IFTTTWebhook hook(IFTTT_API_KEY, IFTTT_EVENT_NAME);
hook.trigger();
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
//now sending board to sleep

Окидач позива на кука објекат покреће ИФЛТ апплет и требало би да га објави на вашем Твиттер налогу. Сачувајте своју скицу и отпремите је. Сада би требало да имате потпуно функционално дугме за твитовање.

Ако вам се чини да не ради, пажљиво проверите свој код и акредитиве за грешке. Ако се заиста заглавите, преузмите цео код одозго и упоредите га са својим.

Готово! Како бисте то могли додатно побољшати?

Ово је основна верзија Ви-Фи дугмета, али постоји много начина на које се то може побољшати. Ради једноставности, УСБ веза се овде користи за напајање. Батерија би га учинила потпуно мобилним, а кућиште које држи коло било би савршен почетнички пројекат 3Д штампања.

Упркос дубоком сну, можда ћете открити да се батерија прилично брзо испразнила. Има их много Ардуино савети за уштеду енергије који помажу у оваквим пројектима. Иако је теже од овог водича, ако сте сами направили свој Ардуино који води рачуна о енергији од нуле, Ви-Фи дугме са батеријским напајањем могло би трајати месецима!

Овај пројекат би био савршен за даљински управљач за апликације паметне куће. Већ постоји знатна количина аплети за кућну аутоматизацију доступно на ИФТТТ. Када схватите основе, можете користити готово било који сензор или прекидач за покретање практично било које услуге коју можете замислити.

Кредит за слику: Вадмари / Депоситпхотос

Објави Објави Твеет Емаил 6 звучних алтернатива: најбоље бесплатне или јефтине апликације за аудио књиге

Ако не волите да плаћате аудио књиге, ево неколико сјајних апликација које вам омогућавају да их бесплатно и легално слушате.

Прочитајте следеће
Повезане теме
  • ДИИ
  • Ардуино
  • ДИИ Пројецт Туториали
О аутору Иан Буцклеи(216 објављених чланака)

Иан Буцклеи је слободни новинар, музичар, извођач и видео продуцент који живи у Берлину, Немачка. Кад не пише или је на сцени, петља са „уради сам“ електроником или кодом у нади да ће постати луди научник.

Више од Иана Буцклеија

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили