• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Arduino Pro Micro + ESP8266-01 + RFID RC522

yuriyrusin

New member
Здравствуйте! Помогите пожалуйста с подключением ESP8266-01 к Arduino Pro Micro, уж очень что-то туго дается, может кто подскажет где что не так....
Micro и ESP соединил RX->TX, TX->RX, подал отдельно питание 3.3в все подключил.... И тут уперся в то что не могу понять как теперь подружить их для отправки запроса на сервер.... В инете оооочень много разных библиотек, много прошивок самого ESP8266, но как подружить Micro и ESP нет....

Я не силен в программировании Ардуинок, только начал недавно изучать, но понял что без помощи зависну на долго...

Подскажите, какаю библиотеку нужно подключить, чтоб правильно все работало, SerialESP8266wifi.h, ESP8266wifi.h, SoftwareSerial.h??? уже запутался сам с множеством их...
Какой порт выбрать для RX и TX, в распиновке, эти порты обозначены как 0 и 1.... В других скетчах-примерах выбирают 5 и 6 но все же подключают проводами RX->TX, TX->RX...

Суть такова, есть карта RFID, нужно считать карту (считывание уже реализовано), отправить ее номер на сервак (GET запросом), подождать ответ от сервака, в виде 10значного числа и вывести его через Arduino Pro Micro на ПК (вывод уже реализован).

Не сочтите за лентяя, не всем дается быстро обучатся :)
Буду благодарен за помощь!
 

kalobyte

New member
Суть такова, есть карта RFID, нужно считать карту (считывание уже реализовано), отправить ее номер на сервак (GET запросом)
не понял опять, а усб тут при чем? тем более эмулятор клавы, это тебе надо оригинальную ардуину с контроллером атмел, который мост усб-юарт и залить туда скетч эмулятора клавиатуры
обычно на китайских ардуинах стоит просто мост усб юарт и он не программируется, только как ком порт видно

ты задание распиши конкретно
что есть и что надо достигнуть и главное - зачем
 

=AK=

New member
как теперь подружить их для отправки запроса на сервер....
ESP8266 сама себе Ардуино. Ставьте в среду Ардуино поддержку модулей ESP8266, пишите скетчи и заливайте их в ESP. У вас в среде Ардуино появится куча примеров как писать скетчи для ESP, отправлять запросы на сервер и т.п.

Если xотитe вдобавок к этому снаружи подключить еще одну плату, "настоящую Aрдуину", тоже нет проблем. Погуглите примеры как связать две Ардуинки вместе, наверняка все уже сделано давно.
 

yuriyrusin

New member
Да, все верно, но если у меня появится опыт работы с этим модулем, а он будет, так как я только учась, то я обязательно сделаю, используя только модуль ESP8266 ;)

не понял опять, а усб тут при чем? тем более эмулятор клавы, это тебе надо оригинальную ардуину с контроллером атмел, который мост усб-юарт и залить туда скетч эмулятора клавиатуры
обычно на китайских ардуинах стоит просто мост усб юарт и он не программируется, только как ком порт видно

ты задание распиши конкретно
что есть и что надо достигнуть и главное - зачем
Смотри, ардуинки на Атмеге328, не умеют эмулироваться сами, нужно дополнительный шилд ставить, такой как USB хост, а Микро, на основе микрухи AtmelMega32u4 уже имеют Юсб хост на борту.

Задание заключается в том, чтоб просто подсобачить ESP8266-01 как модуль вайфая, для общение Arduino Pro Micro с серваком в инете! Больше ничего! Я понимаю что ESP8266 сама себе ардуинка, много читал об этом модуле. Суть заключается в том, что я не имею опыта работы с модемами и попросил помощи в подключении этих двух модулей. Я понимаю что это можно сделать по другому, прошить только ESP8266 и все дела... Но я же не пришел сюда за советом, как мне лучше сделать свое устройство, я попросил помощи в конкретном вопросе - "Помогите пожалуйста с подключением ESP8266-01 к Arduino Pro Micro".

ESP8266 сама себе Ардуино. Ставьте в среду Ардуино поддержку модулей ESP8266, пишите скетчи и заливайте их в ESP. У вас в среде Ардуино появится куча примеров как писать скетчи для ESP, отправлять запросы на сервер и т.п.

Если xотитe вдобавок к этому снаружи подключить еще одну плату, "настоящую Aрдуину", тоже нет проблем. Погуглите примеры как связать две Ардуинки вместе, наверняка все уже сделано давно.
У меня оригинальная ардуинка и серийником, с оригинальным чипом который работает как нужно. Задача только в том чтоб подключить ее к инету и устроить общение с серваком по GET запросу. У меня нет опыта такого чтоб я мог спокойно это сделать сам, потому и написал сюда на форум)
 

=AK=

New member
У меня оригинальная ардуинка и серийником, с оригинальным чипом который работает как нужно. Задача только в том чтоб подключить ее к инету и устроить общение с серваком по GET запросу. У меня нет опыта такого чтоб я мог спокойно это сделать сам, потому и написал сюда на форум)
Хорошо-хорошо, все это поняли, не надо повторять одно и тоже много раз. Зная все это, я вам написал, как надо делать. А вы в ответ опять сказку про белого бычка...

Вы хоть поняли, что я вам предложил? Перечитайте еще раз. Если не поняли - спрашивайте, что непонятно.
 

yuriyrusin

New member
Хорошо-хорошо, все это поняли, не надо повторять одно и тоже много раз. Зная все это, я вам написал, как надо делать. А вы в ответ опять сказку про белого бычка...

Вы хоть поняли, что я вам предложил? Перечитайте еще раз. Если не поняли - спрашивайте, что непонятно.
Да, конечно понял, я благодарен Вам что Вы мне советуете из практических знаний и правильной конструктивной логики! Но я пока что учусь, мне сложно сразу перепрыгнуть на то что Вы предложили и сделать так! Безусловно, все двигаются вперед, учатся, усовершенствуют. Этот прототип, пока что будет такой, если все с ним заработает, конечно я буду стремится к тому чтоб сделать грамотно и проще, не нагромождая ненужными модулями ;) Только вот практики пока нет :)

Вопросы есть конечно, с примеров не особо понятно, но все потихоньку начинает прояснятся :)
1) ESP8266 подключена к ардуинке по схеме с инета. Выбраны 8 пин TX, и 7 пин RX
Пишут что нужно ESP заземлять на ардуинку. Я взал общую массу с питания 5 и 3.3 вольта и заземлил ее туда.
Ардуинка сейчас себя ведет странно, у нее появляется питание, но я VCC не подключал....

2) Как правильно в скетче огласить порты RX и ТХ? 0 и 1? (я пока взял 8 и 7, чтоб можно было на серийном мониторе видеть все).

3)
Мне дали следующий скетч для теста подключения:
Код:
/*
Serial Debug

This sketch is used to communicate with ESP with AT commands.

*/
#include <SoftwareSerial.h>

const int pin_tx = 7;
const int pin_rx = 8;

SoftwareSerial esp(pin_tx,pin_rx);       //TX,RX

void setup(){
  Serial.begin(9600);
  esp.begin(9600);
}

void loop(){
  if(esp.available()){
    Serial.write(esp.read());
  }
  if(Serial.available()){   
    esp.write(Serial.read());
  }
}
Этот скетч подходит для проверки правильности подключения?
я его не пробовал. пока с самой ардуиной не наведу порядок.
Пока все...
 

=AK=

New member
Я вижу, что не поняли.

ESP8266 может работать в разных режимах, все зависит от того, какой туда зашит код (прошивка).

Прошивка с АТ командами - это стандартная прошивка Espressif. Теоретически вы можете управлять ESP8266 при помощи АТ команд из Ардуино. Практически же это неподъемная задача даже для грамотных разработчиков. Вы с ней не справитесь. Нетрудно послать АТ команду и глазами увидеть ответ на экране монитора. Но вы не сможете на основе АТ команд сделать устройство, которое будет работать под управлением скетча Ардуино без участия человека.

Поэтому я вам предложил другой путь, более реалистический. Забудьте про АТ команды. Установите в среде Ардуино поддержку ESP8266, после этого вы сможете писать скетчи для ESP безо всяких АТ команд. Когда напишите работающий скетч, который будет работать с сервером и пр., то потом добавите к нему кусок кода, который будет по последовательному интерфейсу обмениваться информацией с другой Ардуиной, с этой вашей священной коровой, "оригинальной ардуинкой и серийником, с оригинальным чипом который работает как нужно". Не АТ командами обмениваться, а так, как вы сами решите.
 

yuriyrusin

New member
Я вижу, что не поняли.

ESP8266 может работать в разных режимах, все зависит от того, какой туда зашит код (прошивка).

Прошивка с АТ командами - это стандартная прошивка Espressif. Теоретически вы можете управлять ESP8266 при помощи АТ команд из Ардуино. Практически же это неподъемная задача даже для грамотных разработчиков. Вы с ней не справитесь. Нетрудно послать АТ команду и глазами увидеть ответ на экране монитора. Но вы не сможете на основе АТ команд сделать устройство, которое будет работать под управлением скетча Ардуино без участия человека.

Поэтому я вам предложил другой путь, более реалистический. Забудьте про АТ команды. Установите в среде Ардуино поддержку ESP8266, после этого вы сможете писать скетчи для ESP безо всяких АТ команд. Когда напишите работающий скетч, который будет работать с сервером и пр., то потом добавите к нему кусок кода, который будет по последовательному интерфейсу обмениваться информацией с другой Ардуиной, с этой вашей священной коровой, "оригинальной ардуинкой и серийником, с оригинальным чипом который работает как нужно". Не АТ командами обмениваться, а так, как вы сами решите.
Да, согласен!!! Спасибо что толково дали понять про AT команды и мой уровень знаний :)
Сажусь устанавливать, буду читать как правильно программировать 8266, а как будет результат, отпишусь!
Спасибо что не пинали жестко, а грамотно объяснили :)
 

yuriyrusin

New member
Еще тогда вопрос, для программирования и тестов (в серийном мониторе), мне хватит Arduino Uno, Mega или Pro Mini? Или нужно докупать переходник UART
 

=AK=

New member
В принципе вы можете обойтись одной Ардуиной, используя ее как переходник USB-UART. Но лучше купите переходник и не парьтесь, с ним все будет намного проще.

Более того, на время освоения лучше всего купить модуль NodeMCU, у кторого на борту есть и питание, и переходник. Вот на нем и отрабатывайте скетчи для ESP8266. Ему только USB кабель нужен, никакой мороки с питанием, проводами и подключениями.
 

yuriyrusin

New member
В принципе вы можете обойтись одной Ардуиной, используя ее как переходник USB-UART. Но лучше купите переходник и не парьтесь, с ним все будет намного проще.

Более того, на время освоения лучше всего купить модуль NodeMCU, у кторого на борту есть и питание, и переходник. Вот на нем и отрабатывайте скетчи для ESP8266. Ему только USB кабель нужен, никакой мороки с питанием, проводами и подключениями.
Спасибо!
Сейчас гляну где заказать и сколько ждать:)
 
Сверху Снизу