Съдържание:

Ръководство за начинаещи по ESP8266 и туитове с помощта на ESP8266: 17 стъпки (със снимки)
Ръководство за начинаещи по ESP8266 и туитове с помощта на ESP8266: 17 стъпки (със снимки)

Видео: Ръководство за начинаещи по ESP8266 и туитове с помощта на ESP8266: 17 стъпки (със снимки)

Видео: Ръководство за начинаещи по ESP8266 и туитове с помощта на ESP8266: 17 стъпки (със снимки)
Видео: Built-in LED flashing esp8266 test 2024, Юли
Anonim
Ръководство за начинаещи по ESP8266 и туитове с помощта на ESP8266
Ръководство за начинаещи по ESP8266 и туитове с помощта на ESP8266

Научих за Arduino преди 2 години, затова започнах да си играя с прости неща като светодиоди, бутони, двигатели и т.н. Тогава си помислих, че няма да е готино да се свържа, за да правя неща като показване на времето за деня, цените на акциите, графиците на влаковете на LCD дисплей. Открих, че това може да стане чрез изпращане и получаване на данни през интернет. Така че решението е свързване към интернет. Започна търсенето ми как да свържа Arduino към интернет и да изпращам и получавам данни. Научих за wifi модулите в интернет и ги намерих за много скъпи. Тогава научих за ESP8266.

Четох много в интернет на модула ESP8266 преди около година и си купих, но започнах да работя с тях едва миналия месец. По това време нямаше обширна информация. Въпреки това сега има много документация, видеоклипове в интернет относно фърмуера, AT команди, проекти и т. н. Затова реших да започна.

Написах тази инструкция като ръководство за начинаещи, тъй като се сблъсках с много проблеми при свързването и стартирането на ESP8266. Затова реших да напиша тази инструкция, така че други хора, които срещат проблеми с техните модули, да могат да ги разрешат по -бързо

В тази инструкция ще се опитам да покажа

  • Как да свържете ESP8266 и да комуникирате с него чрез Arduino Uno.
  • Ще се опитам също да покажа как може да се изпрати туит чрез него с помощта на Thingspeak.

Какво може да направи ESP8266? Той е ограничен от вашето въображение. Виждал съм проекти и уроци в интернет, показващи как да се достигне температурата на града, цените на акциите, изпращането и получаването на имейли, извършването на телефонни обаждания и много други. Ще покажа в тази инструкция как да изпратите туит.

Стъпка 1: Неща, от които ще се нуждаете

Неща, от които ще се нуждаете
Неща, от които ще се нуждаете

Ето нещата, които ще ви трябват. Повечето от тях могат да бъдат закупени от всеки магазин за електротехника или онлайн (предоставих връзките за справка).

  • 1xESP8266 (ESP -01) -ebay
  • 1xBreadboard адаптер (научете как да го направите тук или използвайте някои джъмперни проводници)
  • 1xLM2596 -ebay
  • 1xLogic преобразувател на ниво -ebay
  • 1xArduino Uno
  • USB кабел за Arduino Uno
  • 1xBreadboard -ebay
  • Проводници -ebay
  • Arduino IDE
  • Профил с Thingspeak

Общата цена ще бъде около 600 рупии (около 9 долара). Изключих цената на Arduino Uno, тъй като зависи от това дали искате оригинал или клонинг. Най -евтините клонинги се предлагат на около 500 рупии (около 4 долара).

Стъпка 2: Малко информация за ESP8266

ESP8266 беше пуснат през 2014 г. само преди година, така че е съвсем нов. Чиповете се произвеждат от Espressif.

Предимство

Най -голямото предимство на ESP8266 е може би цената му. Той е доста евтин и можете да си купите няколко такива наведнъж. Преди да разбера за това, дори не можех да си помисля да си купя wifi модул. Те бяха твърде скъпи. Новите версии на ESP8266 се пускат доста често и най -новата е ESP 12. Въпреки това в тази инструкция ще се съсредоточа само върху ESP 01, който е доста популярен. Освен това, когато купувате ESP8266, той идва предварително зареден с фърмуера по подразбиране AT. добре е да започнете веднага щом купите такъв … Също както ще видите от тази инструкция, е доста лесно да ги свържете.

Недостатък

Всяко устройство има своите предимства и недостатъци и ESP не се различава. Понякога ESP може да се окаже много труден и разочароващ за работа. Тъй като е съвсем нов, ще ви е трудно да получите информация за него. За щастие общност на esp8266.com съществува, което е много полезно. Освен това понякога също започва да прави неочаквани неща като изхвърляне на товар боклук през серийната връзка и т.н.

Имайте предвид, че в интернет има много документация и част от нея е противоречива. Този Instructable не се различава. Докато играех с моя ESP8266 установих, че той наистина се отклонява много от споменатото в интернет (вашият може също), но работи добре.

Стъпка 3: Pinout на ESP8266

Pinout на ESP8266
Pinout на ESP8266

ESP8266 има 8 пина, както е показано.

Gnd и Vcc трябва да бъдат свързани както обикновено към земята и захранването съответно. ESP8266 работи на 3.3V.

ПИН RESET се използва за ръчно нулиране на ESP. Обикновено трябва да бъде свързан 3.3V. Ако искате да нулирате ESP, свържете този щифт към земята за момент и след това обратно към 3.3V.

CH_PD е изключването на чипа, което обикновено трябва да бъде свързано към 3.3V.

GPIO0 и GPIO2 са входни изходни щифтове с общо предназначение. Те обикновено трябва да бъдат свързани към 3.3 V. Въпреки това, когато мигате фърмуера, свържете GPIO0 към gnd.

Rx и Tx пиновете са предавателните и приемащите пинове на ESP8266. Те работят на 3.3V логика, т.е. 3.3V е логика HIGH за ESP8266.

Подробни връзки се предоставят в по -късните стъпки.

Стъпка 4: Какво трябва да се използва за комуникация с ESP8266?

Какво трябва да се използва за комуникация с ESP8266?
Какво трябва да се използва за комуникация с ESP8266?
Какво трябва да се използва за комуникация с ESP8266?
Какво трябва да се използва за комуникация с ESP8266?
Какво трябва да се използва за комуникация с ESP8266?
Какво трябва да се използва за комуникация с ESP8266?

Има много устройства, които могат да се използват за комуникация с ESP8266, като FTDI програмисти, USB към TTL сериен конвертор, Arduino и др. Въпреки това съм използвал Arduino Uno просто защото е най -лесният и почти всеки го има. Също така, ако имате имате Arduino, имате и Arduino IDE и неговият сериен монитор може да се използва за комуникация с ESP8266. Така че не харчете пари за програмисти за FTDI и т.н.

Ако обаче искате или ако вече имате такъв, можете да използвате FTDI програмист или USB към TTL сериен конвертор (повече за това как да ги свържете по -късно). Също така има много софтуер като RealTerm или замазка. Можете да използвате те по същия начин като серийния монитор на Arduino IDE.

Стъпка 5: Монтиране на ESP8266 на платка

Монтиране на ESP8266 на платка
Монтиране на ESP8266 на платка
Монтиране на ESP8266 на платка
Монтиране на ESP8266 на платка

Забележете, че щифтовете на ESP8266 не са подходящи за макет. Това може да бъде преодоляно по 2 начина.

Използвайте джъмперни проводници от женски към мъжки, които могат да направят нещата объркани или

Направете, както е показано в тази инструкция или

Използвайте адаптерна платка, направете си сами (има много от тях в Instructables), което е добре.

Стъпка 6: Захранване

Захранване
Захранване

ESP8266 работи на захранване 3.3V. Не го свързвайте към 5V пина на Arduino. Вероятно ще изгори.

Някои уроци предлагат да се направи схема на делител на напрежение, като се използват 1k, 2k резистори с 5V като вход и получаване на 3.3V през 2k резистора и захранването му към Arduino, но открих, че ESP дори не се включва, когато направих това.

Успях да го включа с помощта на 3.3V на Arduino, но установих, че ESP се нагрява след известно време.

Можете да използвате регулатор на напрежение 3.3V.

Или можете да използвате LM2596 dc-dc понижаващ преобразувател. Те са доста евтини. И аз ги използвах. Дайте 5V от Arduino към входа. Регулирайте потенциометъра на модула, докато изходът стане 3.3VI и установи, че ESP може да се захранва Извършете връзките, както е показано на фигурата.

Стъпка 7: Преобразуване на логическо ниво

Конвертиране на логическо ниво
Конвертиране на логическо ниво

Споменава се, че ESP има 3.3V логика, докато Arduino има 5V логика.

Това означава, че в ESP 3.3V е логика HIGH, докато в Arduino 5V е логика HIGH. Това може да причини някои проблеми, докато ги свързвате заедно.

Открих в интернет, че преобразуването на логическо ниво трябва да се приложи, докато се свързват ESP Rx и Tx с Arduino.

Някои уроци споменават, че е необходимо преобразуване на логическо ниво, докато се свързва ESP Rx пин.

Открих обаче, че просто нормалното свързване на ESP Rx и Tx щифтовете към Arduino не причинява никакви проблеми

Свързах Rx и Tx чрез преобразувател на логическо ниво, както и само Rx, но не получих никакъв отговор.

Открих обаче, че свързването на ESP Tx щифт чрез преобразувател на логическо ниво, докато директно свързване на Tx също не създава проблеми

Така че преобразувателят на логическо ниво може или не може да се използва.

Използвайте който и да е метод, който работи за вас чрез опит и грешка.

Стъпка 8: Връзки

Връзки
Връзки

Връзките на ESP8266 са:

ESP8266

Gnd ------------------- Gnd

GPIO2 --------------- 3.3V

GPIO0 --------------- 3.3V

Rx -------------------- Rx на Arduino

Tx --------------------- Tx на Arduino (директен или чрез преобразувател на логическо ниво)

CH_PD -------------- 3.3V

RESET -------------- 3.3V

Vcc -------------------- 3.3V

(Имайте предвид, че в някои версии ESP Rx трябва да бъде свързан към Arduino Tx, а ESP Tx трябва да бъде свързан към Arduino Rx).

Ако използвате FTDI програмист или USB към TTL сериен конвертор, свържете техните Tx и Rx съответно към Rx и Tx на ESP8266.

Стъпка 9: Първи стъпки

След като направите връзките, качете

void setup ()

{}

void loop ()

{}

празна скица към Arduino..

Отворете серийния монитор и го настройте на "И NL & CR".

Експериментирайте със скоростта на предаване в бад. Обикновено тя трябва да бъде 9600, въпреки че понякога може да бъде 115200.

Стъпка 10: AT команди

AT команди
AT команди

Просто казвайки, че командите AT са команди, които могат да бъдат изпратени до ESP8266, така че да му позволят да изпълнява някои функции, като например рестартиране, свързване с wifi и т.н. ESP в отговор ще изпрати известно потвърждение под формата на текст. По -долу обясних някои AT команди и как ESP отговаря на тях. Обърнете внимание, че под изпращане имам предвид въвеждане на командата и натискане на enter (връщане).

Изпратете AT през серийния монитор

Тази команда се използва като тестова команда.

Как реагира ESP: OK трябва да се върне.

Изпратете AT+RST през серийния монитор

Тази команда се използва за рестартиране на модула.

Как реагира ESP: ESP връща много боклуци, но потърсете Ready или ready.

Изпратете AT+GMR през серийния монитор

Тази команда се използва за определяне на версията на фърмуера на модула.

Как реагира ESP: Версията на фърмуера трябва да бъде върната.

Фърмуерът е част от софтуера, който е инсталиран на устройство обикновено на неговия ROM (памет само за четене), т.е. не е предназначен да се променя често или изобщо не. Той осигурява контрола и манипулирането на данни на устройството. ESP8266 има номер на различни фърмуери, всички от които са доста лесни за инсталиране (инсталиране).

Стъпка 11: Общ синтаксис на AT команди

Даден е общият синтаксис на AT команди за изпълнение на различни функции:

AT+параметър =?

Когато команда от този тип се изпраща през серийния монитор, ESP връща всички стойности, които този параметър може да приеме.

AT+параметър = вал

Когато команда от този тип се изпраща през серийния монитор, ESP задава стойността на параметъра на val.

AT+параметър?

Когато команда от този тип се изпраща през серийния монитор, ESP връща текущата стойност на параметъра.

Някои AT команди могат да приемат само един от горните типове, докато някои могат да приемат всичките 3.

Пример за команда, която е възможна във всички горепосочени 3 типа, е CWMODE, която се използва за задаване на wifi режим.

Изпращане AT+CWMODE =? през серийния монитор

Как реагира ESP: Всички стойности, които ESP CWMODE може да приеме (1-3), се връщат специално +CWMODE (1-3). Къде

1 = Статично

2 = AP

3 = Статично и AP

Изпратете AT+CWMODE = 1 през серийния монитор

Как реагира ESP: OK трябва да се върне, ако има промяна в CWMODE от предишната му стойност и е зададена на статична, иначе не трябва да се връща промяна, ако няма промяна в стойността на CWMODE.

ВАЖНО: Освен ако CWMODE не е зададено на 1, командите в по -късните стъпки няма да работят.

Да се изпрати AT+CWMODE? през серийния монитор

Как реагира ESP: Настоящата стойност на CWMODE трябва да бъде върната, особено ако сте следвали горната стъпка +CWMODE: 1 трябва да бъде върната.

Стъпка 12: Свързване към Wifi

Изпратете AT+CWLAP през серийния монитор

Тази команда се използва за изброяване на всички мрежи в района.

Как реагира ESP: Трябва да се върне списък с всички налични точки за достъп или wifi мрежи.

Изпратете AT+CWJAP = "SSID", "парола"

(включително двойните кавички).

Тази команда се използва за присъединяване към wifi мрежа.

Как реагира ESP: OK трябва да се върне, ако модулът е свързан към мрежата.

Изпращане на AT+CWJAP? през серийния монитор

Тази команда се използва за определяне на мрежата, към която ESP е свързан в момента.

Как реагира ESP: Мрежата, към която е свързан ESP, ще бъде върната. Конкретно +CWJAP: "SSID"

Изпратете AT+CWQAP през серийния монитор

Тази команда се използва за изключване от мрежата, към която в момента е свързан ESP.

Как реагира ESP: ESP излиза от мрежата, към която е свързан, и се връща OK.

Изпратете AT+CIFSR през серийния монитор

Тази команда се използва за определяне на IP адреса на ESP.

Как реагира ESP: IP адресът на ESP се връща.

Стъпка 13: Говорете с нещата

Говори неща
Говори неща
Говори неща
Говори неща
Говори неща
Говори неща
Говори неща
Говори неща

Ако не сте направили акаунт в Thingspeak, направете го сега.

След като направите акаунт в Thingspeak, отидете на Apps> ThingTweet.

Свържете вашия акаунт в Twitter с него.

Обърнете внимание на генерирания API ключ.

Тук, след като приложението ThingTweet е използвано за свързване на акаунт в Twitter с вашия акаунт в ThingSpeak, можете да изпратите туит чрез TweetContol API.

API (интерфейс на приложна програма) е код, който позволява на две софтуерни програми да комуникират помежду си.

Някои други API, достъпни за разработчиците, са Google Maps API, Open weather API и др.

Едва след като ESP е настроен, проверен и свързан с wifi (основно всички стъпки, дадени в предишните 2 стъпки), преминете през стъпките, дадени по -долу

Стъпка 14: Още няколко AT команди

Изпратете AT+CIPMODE = 0, през серийния монитор

Как реагира ESP: OK се връща.

Командата CIPMODE се използва за задаване на режим на прехвърляне.

0 = нормален режим

1 = UART-WiFi режим на преминаване

Изпратете AT+CIPMUX = 1 през серийния монитор

Как реагира ESP: OK се връща.

Командата CIPMUX се използва за задаване на единични или множество връзки.

0 = единична връзка

1 = множествена връзка

Стъпка 15: Настройване на TCP връзката

Настройване на TCP връзката
Настройване на TCP връзката
Настройване на TCP връзката
Настройване на TCP връзката

Имайте предвид, че започвайки от първата команда, веднага след като изпратите първата, връзката ще бъде установена само за ограничен период от време. Затова изпратете командите възможно най -бързо.

Изпратете AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80 през серийния монитор

Как реагира ESP: Linked се връща, ако връзката е установена.

Тази команда се използва за установяване на TCP връзка.

Синтаксисът е AT+CIPSTART = идентификатор на връзката, тип, отдалечен IP, отдалечен порт

където

link ID = идентификатор на мрежова връзка (0 ~ 4), използван за мулти-връзка.

тип = низ, "TCP" или "UDP".

отдалечен IP = низ, отдалечен IP адрес (адрес на уебсайта).

отдалечен порт = низ, номер на отдалечен порт (обикновено се избира 80).

Изпратете AT+CIPSEND = 0, 110 през серийния монитор

Как реагира ESP:> (по -голямо от) се връща, ако командата е успешна.

Тази команда се използва за изпращане на данни.

Синтаксисът е AT+CIPSEND = идентификатор на връзката, дължина

където

link ID = ID на връзката (0 ~ 4) за мулти-свързване. Тъй като CIPMUX е настроен на 1, е 1.

length = дължина на данните, MAX 2048 байта. Като цяло изберете голямо число за дължината.

Стъпка 16: Изпращане на туит

Изпращане на туит
Изпращане на туит

Сега за изпращане на туит

Изпратете GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet през серийния монитор.

Заменете вашия API с API ключ и вашия туит с всеки туит, който желаете.

Веднага след като изпратите горната команда, започнете да натискате Enter (връщане) на интервали от приблизително 1 секунда. След известно време, SEND OK, +IPD, 0, 1: 1 и OK ще бъдат върнати, което означава, че туитът е публикуван.

Отворете своя Twitter и проверете дали туитът е публикуван или не.

Също така имайте предвид, че същият туит не може да се изпраща многократно.

Горният низ, който е изпратен (GET….), Е HTTP GET заявка.

Заявката GET се използва за извличане на данни от дадения сървър (api.thingspeak.com).

Стъпка 17: Какво да направите след това

(Гледайте видеоклипа поне на 360p)

Отидете в това хранилище, за да изтеглите кода и схемите. Кликнете върху бутона „Клониране или изтегляне“(зелен на цвят от дясната страна) и изберете „Изтегляне на ZIP“, за да изтеглите zip файла. Сега извлечете съдържанието на вашия компютър, за да получите кода и схемите (в папката schematics). Качих и чети лист, който обобщава всички AT команди, в това хранилище.

В интернет има много страхотни ресурси за ESP8266. Споменах някои от тях тук:

  • Видеоклипове на Кевин Дара.
  • ALLAboutEE видеоклипове.
  • esp8266.com

Можете също така да експериментирате повече с AT команди. Има много API, достъпни в интернет, които могат да правят всякакви неща, като например получаване на времето, цени на акции и т.н.

Пълна документация за AT команда

Също така в момента работя върху програма, която автоматично туитва аналоговите стойности на сензор и ще го публикувам, след като работи правилно.

Ако ви хареса моят инструктируем глас за него в състезанието за всички неща на Arduino.

Препоръчано: