Arduino UNO R3, с WiFi R3, макетная плата WeMos ESP8266 не получается прошить ардуино
- Войдите на сайт для отправки комментариев
Доброго времени суток.
Прошу помощь, попала плата в руки
Arduino UNO R3, с WiFi R3, макетная плата WeMos ESP8266
Контроллер esp прошить получилось, а вот ардуино ну не как не получается , win10 , драйвер поставил пишет USB-SERIAL CH340
вроде все как положено, программу скачал с оф сайта.
Выставил переключатели 3 и 4 в положение on, все остальные в off, в настройках ide поставил ком порт 3 как в диспетчере устройств, выбрал плату Arduino uno и нажал кнопку Загрузка.
через 3 минуты получил вот такое сообщение
Arduino: 1.8.16 (Windows 10), Плата:"Arduino Uno"
Скетч использует 924 байт (2%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2039 байт для локальных переменных. Максимум: 2048 байт.
Произошла ошибка при загрузке скетча
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x93
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x93
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Скажите что я делаю не так? не как не могу записать скетч в ардуино.....
Выставил переключатели 3 и 4 в положение on, все остальные в off, в настройках ide поставил ком порт 3 как в диспетчере устройств, выбрал плату Arduino uno и нажал кнопку Загрузка.
картинку переключателя покажите
Выставил переключатели 3 и 4 в положение on, все остальные в off, в настройках ide поставил ком порт 3 как в диспетчере устройств, выбрал плату Arduino uno и нажал кнопку Загрузка.
картинку переключателя покажите
Все же как по распиновке?
Можно ресет попробовать нажать при загрузке, но вообще это дефект, и надо оформлять возврат.
а ключики 7 и 8 не должны быть включены тоже?
Описание к плате есть какое-то? Или схема?
вот как то там, неужели моя ардуинка бракованная?
Правильно ли я плату выбираю? ардуино уно?
Правильно ли я плату выбираю? ардуино уно?
да, правильно.
ЕСП, говорите, на этой же плате прошили? Успешно?
Кабель USB тот же используете?
да есп прошивается, кабель тот же, а вот ардуино хоть тресни не в какую......
попробуйте прошить через ISP
надо выставить программатор avr-isp?
надо выставить программатор avr-isp?
нет, надо собрать программатор из другой ардуино. Гугл в помощь, "восстановление загрузчика на ардуино"
другой ардуины нет, скорее всего уйдет в долгий ящик.....
другой ардуины нет
такое впечатление, что вы в экспедиции на СевПолюсе.
почти, у меня в городе таких плат не продают , заказывал с китая, ждал чуть ли не 2 мес
У меня такая-же ардуинка. Я хочу сделать web сервер (страницу) при подключении показывать переменные? Это возможно на этой плате?
У меня такая-же ардуинка. Я хочу сделать web сервер (страницу) при подключении показывать переменные? Это возможно на этой плате?
да
Сможете мне немного помочь? Я отблагодарю.
что именно?
https://arduino.ru/forumy/ishchu-ispolnitelya
Подружить Uno и ESP8266.
К уно будет подключен GSM и пережать всё на веб страницу. Подобный проект есть в амперке. Хочу повторить на этой плате.
Помогать можно только тому, кто что-то делает.
Что вы пытались сделать сами? показывайте
Смотрите, я научился прошивать UNO выставляя определенные перемычки. И вроде программируется ESP (выставляя определенные перемычки) но проверить не пойму как, запрограммировалась она или нет.
Так-же мне не понятно будет ли работать они между собой. И как это проверить?
Смотрите, я научился прошивать UNO выставляя определенные перемычки. И вроде программируется ESP (выставляя определенные перемычки) но проверить не пойму как, запрограммировалась она или нет.
Так-же мне не понятно будет ли работать они между собой. И как это проверить?
зашейте в ESP блинк и посмотрите
Прошивка проходит, но я не вижу моргания. Светодиод тускло горит. В том то дело, не совсем понятно.
Какой светодиод? У меня такой платы не было, схему смотри на каком пине висит светодиод (если он там вообще на есп есть)
Давай-те по-порядку.
Сперва начнём с UNO.
Я хочу подключить ATGM336H.
RX и TX подключил. Подзабыл уже всё. как вывести в монитор порта?
Мой скейтч:
По поводу светодиода я вижу какой-то светодиод на плате. Маркировки у него нет. Возможно он для другого. Нормальную схему я тоже не нашёл к сожалению... Так же надо нажать reset перед загрузкой скетча, что бы он загрузился.
я вижу какой-то светодиод на плате. Маркировки у него нет. Возможно он для другого.
... вижу какой-то светодиод... не знаю для чего он....
при таком подходе я бы не ждал, что у вас хоть что-то заработает...
Схема любой ардуино платы есть в инете, надо только хотеть искать.
Но тут можно и без схемы. Загрузите свой скетч, возьмите мультиметр, переключите его в режим вольтметра... встаньте черным проводом на GND, а красным почередно проверьте все другие выходы. Если где-то найдете "мигающий" сигнал попеременно 0 и 3.3в - это значит код работает
Кстати, покажите код блинка, который вы заливаете в плату. Код выше никаким светодиодом и думает мигать...
Согласен, но я делал по видео уроку. Сейчас я сперва хочу понять как будет дружить уно с ATGM.
Кое что начало получаться. По крайне мере данные я увидел в мониторе порта.
Если я пишу:
Данные в порт ссыпаться, но стоит мне поменять с ss(11, 12); на ss(0, 1); ничего не происходит. Получается я не могу поверить ATGM на эти контакты?
стоит мне поменять с ss(11, 12); на ss(0, 1); ничего не происходит. Получается я не могу поверить ATGM на эти контакты?
нет, не можете
контакты 0 и 1 заняты USB преобразователем, который соединен с монитором порта на вашем компе. Когда вы используете в скетче Serial - это как и есть доступ к контактам 0 и 1
Понял, спасибо! Получается мне нужно использовать другие контакты что бы получить данные с ATGM? И на каких пинах сидит ESP8266 ?
на каких пинах сидит ESP8266 ?
ищите схему платы - узнаете :)
Я предполагаю, что на этих же - 0 и 1. Соответственно вы не можете одновременно использовать ЕСП8266 и Монитор порта, только либо то, либо другое. Для выбора, что куда подключать - на плате должны быть переключатели.
Вообще, не хочу вас расстраивать - но эта плата крайне неудачный выбор для первого проекта. Две отдельных - отдельно Уно и отдельно ЕСП8266 - были бы в 100 раз удобнее
Я понимаю. Я вообще думал будет как на видео амперки. Всё просто и лего. Но оказалось крайне сложно. Схему ищу, но вменяемую не могу найти.
https://user-images.githubusercontent.com/23693439/118506781-0dfa4a80-b7...
Очень похоже схема на правду... Хотя я так понимаю мне нужно после будет соединить ещё проводами контакты?
Я понимаю. Я вообще думал будет как на видео амперки. Всё просто и лего. Но оказалось крайне сложно. Схему ищу, но вменяемую не могу найти.
И скетчи тоже - не ищут, а пишут.
Вот когда Вы научитесь самостоятельно писать скетчи и рисовать схемы, тогда все автоматически станет просто и легко.
А пока Вы не умеете ни того, ни другого, - все будет оставаться крайне сложно.
И еще, учиться нужно по книжкам, а не по видосикам. Тогда есть надежда, что чему-нибудь научитесь.
Выставил перемычки 5-6-7 в положение ON остальные в OFF.
Скачал готовый скетч веб сервера.
Скетч:
https://diytech.ru/projects/sozdanie-veb-servera-esp8266-kod-i-skhemy
Взял от сюда что бы много кода не писать.
Заливаю туда и вижу диалог:
Загрузка завершена.
Дак скорость порта не совпадает с той, что в IDE Monitor указана.
Это я понимаю. Я после поставил скорость 115200 но телефон сеть не видит. Я пробую другой проект, из примеров. Что-то не хочет создавать точку доступа...
В Arduino IDE скомпилируйте скетч с опцией "дебаг", в мониторе поставьте скорость 74-чототам, и ресет кнопочкой. Что-то должно вывалиться из системных сообщений.
Спасибо, попробую так.
Но в целом Wifi работает.
Если я настраиваю подключаться к моему роутеру он подключается и я вижу веб страницу через комп! Но как точка доступа пока не могу добиться работы...
чтобы работал и как точка доступа нужно в скетч добавлять код точки доступа, в вашем коде этого нет, ищите примеры (AP + STA)
Ночью я это уже понял.
Загрузил такой, вижу телефон его определяет но подключиться не может...
В общем я как посмотрю никто не может ничего путёвого мне посоветовать.
Как буд-то пишу сам себе.
Есть код который работает в режиме станции:
C 2018 года так и не осилил правила вставки кода на форум ???
В общем я как посмотрю никто не может ничего путёвого мне посоветовать.
первая же ссылка в гугле
Ага, я по этой ссылке уже проекты собрал, что то не работает либо какой-то "секрет" есть как работает esp....
Ага, я по этой ссылке уже проекты собрал, что то не работает либо какой-то "секрет" есть как работает esp....
показывай код
Я писал выше пару сообщений назад
Дублирую:
001
#include <ESP8266WiFi.h>
002
#include <ESP8266WebServer.h>
003
004
// Replace with your network credentials
005
const
char
* ssid =
"Arduino"
;
006
const
char
* password =
"11223344"
;
007
008
/* Настройки IP адреса */
009
IPAddress local_ip(192,168,1,1);
010
IPAddress gateway(192,168,1,1);
011
IPAddress subnet(255,255,255,0);
012
013
// Set web server port number to 80
014
WiFiServer server(80);
015
016
// Variable to store the HTTP request
017
String header;
018
019
// Auxiliar variables to store the current output state
020
String output5State =
"off"
;
021
String output4State =
"off"
;
022
023
void
setup
() {
024
Serial
.begin(115200);
025
// Connect to Wi-Fi network with SSID and password
026
Serial
.print(
"Connecting to "
);
027
Serial
.println(ssid);
028
//WiFi.begin(ssid, password); //как станция
029
WiFi.softAP(ssid, password);
// как точка доступа
030
WiFi.softAPConfig(local_ip, gateway, subnet);
// как точка доступа
031
delay(100);
032
033
while
(WiFi.status() != WL_CONNECTED) {
034
delay(500);
035
Serial
.print(
"."
);
036
}
037
// Print local IP address and start web server
038
Serial
.println(
""
);
039
Serial
.println(
"WiFi connected."
);
040
Serial
.println(
"IP address: "
);
041
Serial
.println(WiFi.localIP());
042
server.begin();
043
}
044
045
void
loop
(){
046
WiFiClient client = server.available();
// Listen for incoming clients
047
048
if
(client) {
// If a new client connects,
049
Serial
.println(
"New Client."
);
// print a message out in the serial port
050
String currentLine =
""
;
// make a String to hold incoming data from the client
051
while
(client.connected()) {
// loop while the client's connected
052
if
(client.available()) {
// if there's bytes to read from the client,
053
char
c = client.read();
// read a byte, then
054
Serial
.write(c);
// print it out the serial monitor
055
header += c;
056
if
(c ==
'\n'
) {
// if the byte is a newline character
057
// if the current line is blank, you got two newline characters in a row.
058
// that's the end of the client HTTP request, so send a response:
059
if
(currentLine.length() == 0) {
060
// HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
061
// and a content-type so the client knows what's coming, then a blank line:
062
client.println(
"HTTP/1.1 200 OK"
);
063
client.println(
"Content-type:text/html"
);
064
client.println(
"Connection: close"
);
065
client.println();
066
067
// turns the GPIOs on and off
068
if
(header.indexOf(
"GET /5/on"
) >= 0) {
069
Serial
.println(
"GPIO 5 on"
);
070
output5State =
"on"
;
071
// digitalWrite(output5, HIGH);
072
}
else
if
(header.indexOf(
"GET /5/off"
) >= 0) {
073
Serial
.println(
"GPIO 5 off"
);
074
output5State =
"off"
;
075
// digitalWrite(output5, LOW);
076
}
else
if
(header.indexOf(
"GET /4/on"
) >= 0) {
077
Serial
.println(
"GPIO 4 on"
);
078
output4State =
"on"
;
079
// digitalWrite(output4, HIGH);
080
}
else
if
(header.indexOf(
"GET /4/off"
) >= 0) {
081
Serial
.println(
"GPIO 4 off"
);
082
output4State =
"off"
;
083
// digitalWrite(output4, LOW);
084
}
085
086
// Display the HTML web page
087
client.println(
"<!DOCTYPE html><html>"
);
088
client.println(
"<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"
);
089
client.println(
"<link rel=\"icon\" href=\"data:,\">"
);
090
// CSS to style the on/off buttons
091
// Feel free to change the background-color and font-size attributes to fit your preferences
092
client.println(
"<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}"
);
093
client.println(
".button { background-color: #195B6A; border: none; color: white; padding: 16px 40px;"
);
094
client.println(
"text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}"
);
095
client.println(
".button2 {background-color: #77878A;}</style></head>"
);
096
097
// Web Page Heading
098
client.println(
"<body><h1>ESP8266 Web Server</h1>"
);
099
100
// Display current state, and ON/OFF buttons for GPIO 5
101
client.println(
"<p>GPIO 5 - State "
+ output5State +
"</p>"
);
102
// If the output5State is off, it displays the ON button
103
if
(output5State==
"off"
) {
104
client.println(
"<p><a href=\"/5/on\"><button class=\"button\">ON</button></a></p>"
);
105
}
else
{
106
client.println(
"<p><a href=\"/5/off\"><button class=\"button button2\">OFF</button></a></p>"
);
107
}
108
109
// Display current state, and ON/OFF buttons for GPIO 4
110
client.println(
"<p>GPIO 4 - State "
+ output4State +
"</p>"
);
111
// If the output4State is off, it displays the ON button
112
if
(output4State==
"off"
) {
113
client.println(
"<p><a href=\"/4/on\"><button class=\"button\">ON</button></a></p>"
);
114
}
else
{
115
client.println(
"<p><a href=\"/4/off\"><button class=\"button button2\">OFF</button></a></p>"
);
116
}
117
client.println(
"</body></html>"
);
118
119
// The HTTP response ends with another blank line
120
client.println();
121
// Break out of the while loop
122
break
;
123
}
else
{
// if you got a newline, then clear currentLine
124
currentLine =
""
;
125
}
126
}
else
if
(c !=
'\r'
) {
// if you got anything else but a carriage return character,
127
currentLine += c;
// add it to the end of the currentLine
128
}
129
}
130
}
131
// Clear the header variable
132
header =
""
;
133
// Close the connection
134
client.stop();
135
Serial
.println(
"Client disconnected."
);
136
Serial
.println(
""
);
137
}
138
}
Так точка доступа есть, ноутбук коннектится но нет ip адреса в свойствах соединения и не открывает станицу 192.168.1.1
Лови! Работает ужеЖ
001
#include <ESP8266WiFi.h>
002
#include <ESP8266WebServer.h>
003
004
// Replace with your network credentials
005
const
char
* ssid =
"Arduino"
;
006
const
char
* password =
"11223344"
;
007
008
/* Настройки IP адреса */
009
IPAddress local_ip(192, 168, 1, 1);
010
IPAddress gateway(192, 168, 1, 1);
011
IPAddress subnet(255, 255, 255, 0);
012
013
// Set web server port number to 80
014
WiFiServer server(80);
015
016
// Variable to store the HTTP request
017
String header;
018
019
// Auxiliar variables to store the current output state
020
String output5State =
"off"
;
021
String output4State =
"off"
;
022
023
void
setup
() {
024
Serial
.begin(115200);
025
// Connect to Wi-Fi network with SSID and password
026
Serial
.print(
"Connecting to "
);
027
Serial
.println(ssid);
028
//WiFi.begin(ssid, password); //как станция
029
WiFi.softAPConfig(local_ip, gateway, subnet);
// как точка доступа
030
WiFi.softAP(ssid, password);
// как точка доступа
031
delay(100);
032
/*
033
while (WiFi.status() != WL_CONNECTED) {
034
delay(500);
035
Serial.print(".");
036
}
037
*/
038
// Print local IP address and start web server
039
Serial
.println(
""
);
040
Serial
.println(
"WiFi connected."
);
041
Serial
.println(
"IP address: "
);
042
Serial
.println(WiFi.localIP());
043
server.begin();
044
}
045
046
void
loop
() {
047
WiFiClient client = server.available();
// Listen for incoming clients
048
049
if
(client) {
// If a new client connects,
050
Serial
.println(
"New Client."
);
// print a message out in the serial port
051
String currentLine =
""
;
// make a String to hold incoming data from the client
052
while
(client.connected()) {
// loop while the client's connected
053
if
(client.available()) {
// if there's bytes to read from the client,
054
char
c = client.read();
// read a byte, then
055
Serial
.write(c);
// print it out the serial monitor
056
header += c;
057
if
(c ==
'\n'
) {
// if the byte is a newline character
058
// if the current line is blank, you got two newline characters in a row.
059
// that's the end of the client HTTP request, so send a response:
060
if
(currentLine.length() == 0) {
061
// HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
062
// and a content-type so the client knows what's coming, then a blank line:
063
client.println(
"HTTP/1.1 200 OK"
);
064
client.println(
"Content-type:text/html"
);
065
client.println(
"Connection: close"
);
066
client.println();
067
068
// turns the GPIOs on and off
069
if
(header.indexOf(
"GET /5/on"
) >= 0) {
070
Serial
.println(
"GPIO 5 on"
);
071
output5State =
"on"
;
072
// digitalWrite(output5, HIGH);
073
}
else
if
(header.indexOf(
"GET /5/off"
) >= 0) {
074
Serial
.println(
"GPIO 5 off"
);
075
output5State =
"off"
;
076
// digitalWrite(output5, LOW);
077
}
else
if
(header.indexOf(
"GET /4/on"
) >= 0) {
078
Serial
.println(
"GPIO 4 on"
);
079
output4State =
"on"
;
080
// digitalWrite(output4, HIGH);
081
}
else
if
(header.indexOf(
"GET /4/off"
) >= 0) {
082
Serial
.println(
"GPIO 4 off"
);
083
output4State =
"off"
;
084
// digitalWrite(output4, LOW);
085
}
086
087
// Display the HTML web page
088
client.println(
"<!DOCTYPE html><html>"
);
089
client.println(
"<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"
);
090
client.println(
"<link rel=\"icon\" href=\"data:,\">"
);
091
// CSS to style the on/off buttons
092
// Feel free to change the background-color and font-size attributes to fit your preferences
093
client.println(
"<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}"
);
094
client.println(
".button { background-color: #195B6A; border: none; color: white; padding: 16px 40px;"
);
095
client.println(
"text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}"
);
096
client.println(
".button2 {background-color: #77878A;}</style></head>"
);
097
098
// Web Page Heading
099
client.println(
"<body><h1>ESP8266 Web Server</h1>"
);
100
101
// Display current state, and ON/OFF buttons for GPIO 5
102
client.println(
"<p>GPIO 5 - State "
+ output5State +
"</p>"
);
103
// If the output5State is off, it displays the ON button
104
if
(output5State ==
"off"
) {
105
client.println(
"<p><a href=\"/5/on\"><button class=\"button\">ON</button></a></p>"
);
106
}
else
{
107
client.println(
"<p><a href=\"/5/off\"><button class=\"button button2\">OFF</button></a></p>"
);
108
}
109
110
// Display current state, and ON/OFF buttons for GPIO 4
111
client.println(
"<p>GPIO 4 - State "
+ output4State +
"</p>"
);
112
// If the output4State is off, it displays the ON button
113
if
(output4State ==
"off"
) {
114
client.println(
"<p><a href=\"/4/on\"><button class=\"button\">ON</button></a></p>"
);
115
}
else
{
116
client.println(
"<p><a href=\"/4/off\"><button class=\"button button2\">OFF</button></a></p>"
);
117
}
118
client.println(
"</body></html>"
);
119
120
// The HTTP response ends with another blank line
121
client.println();
122
// Break out of the while loop
123
break
;
124
}
else
{
// if you got a newline, then clear currentLine
125
currentLine =
""
;
126
}
127
}
else
if
(c !=
'\r'
) {
// if you got anything else but a carriage return character,
128
currentLine += c;
// add it to the end of the currentLine
129
}
130
}
131
}
132
// Clear the header variable
133
header =
""
;
134
// Close the connection
135
client.stop();
136
Serial
.println(
"Client disconnected."
);
137
Serial
.println(
""
);
138
}
139
}