• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Передача данных на встроенный Вифи ноутбука

yron

Member
Привет всем.Есть ESP12F , запустил , подключился на ноутбуке ( с встроенным приемо-передатчиком) к точке которую создает модуль по дефолту. Теперь вопрос, как мне передать данные с ноутбука чтобы они у меня выходили на уарте модуля? Какая утилита для этого нужна ? ТТЛ конвертера и второго модуля у меня нету. Видел примеры, люди создают какие-то сервера и управляют с браузера нагрузкой и принимают данные с датчика , но без этого можно обойтись ? Передал на уарт модуля данные ,а на ноуте прога (видит свой вифи как ком порт что-ли, как мне хотелось бы ) и она выдает мне данные как в терминале?
 

yron

Member
Вопрос может тупой и часто поднимался, но я ничего подобного в поиске не нашел. Будьте добры , подскажите.
В электронике и С++ разбираюсь , а вот в сетевых делах и ИТ совсем слабо.
 

yron

Member
Наверное, вам нужен Телнет. Попробуйте вот этот скетч, что ли...
Загрузил этот скетч , создается точка доступа с названием ESP_161159.
Пробовал вместо звездочек ставить Название и пароль от моей точки доступа но ничего не происходит.
const char* ssid = "**********";
const char* password = "**********";

Но я подключаюсь к точке которую создает сам модуль , захожу в PuTTY , ставлю галочку на tellnet , нежно ввести Host name или IP , но где их взять ?
 

Arthur

Active member
Загрузил этот скетч , создается точка доступа с названием ESP_161159.
Пробовал вместо звездочек ставить Название и пароль от моей точки доступа но ничего не происходит.
const char* ssid = "**********";
const char* password = "**********";

Но я подключаюсь к точке которую создает сам модуль , захожу в PuTTY , ставлю галочку на tellnet , нежно ввести Host name или IP , но где их взять ?
Это IP самого спота...
Покажите, что вернул
ipconfig /all
с компа, подключенного к споту (точке).
 
  • Like
Реакции: yron

yron

Member
Так же не понятно почему не то название точки и пароль.
я поставил
const char* ssid = "YRON";
const char* password = "586473aa";
а точка ESP_161159 и без пароля
 

Arthur

Active member
Покажите полностью ваш код. Именно ваш, что шьёте в еспшку.
Дыдва - по какому порту телнетом стучитесь к еспшке?
 
  • Like
Реакции: yron

Arthur

Active member
Прошивка, которую вам дали в качестве примера слушает порты или 80 или 8080. Попробуйте телнетом на 80 и на 8080 постучаться.
 
  • Like
Реакции: yron

yron

Member
Покажите полностью ваш код. Именно ваш, что шьёте в еспшку.
Дыдва - по какому порту телнетом стучитесь к еспшке?
Код полностью тот же самый который мне посоветовали выше , я просто скопировал только изменил
const char* ssid = "YRON";
const char* password = "586473aa";
 

Arthur

Active member
Код полностью тот же самый который мне посоветовали выше , я просто скопировал только изменил
const char* ssid = "YRON";
const char* password = "586473aa";
Весь код в студию, пожалуйста.
P.S. Каждый раз одинаковый ответ, аналогичный вашему приводят пользователи этого сайта, почему-то... Просил же - полностью :)...
 
  • Like
Реакции: yron

yron

Member
Весь код в студию, пожалуйста.
P.S. Каждый раз одинаковый ответ, аналогичный вашему приводят пользователи этого сайта, почему-то... Просил же - полностью :)...
Без проблем
#include <ESP8266WiFi.h>

//how many clients should be able to telnet to this ESP8266
#define MAX_SRV_CLIENTS 100
const char* ssid = "YRON";
const char* password = "586473aa";

WiFiServer server(23);
WiFiClient serverClients[MAX_SRV_CLIENTS];

void setup() {
Serial1.begin(115200);
WiFi.begin(ssid, password);
Serial1.print("\nConnecting to "); Serial1.println(ssid);
uint8_t i = 0;
while (WiFi.status() != WL_CONNECTED && i++ < 20) delay(500);
if(i == 21){
Serial1.print("Could not connect to"); Serial1.println(ssid);
while(1) delay(500);
}
//start UART and the server
Serial.begin(115200);
server.begin();
server.setNoDelay(true);
Serial1.print("Ready! Use 'telnet ");
Serial1.print(WiFi.localIP());
Serial1.println(" 23' to connect");
}

void loop() {
uint8_t i;
//check if there are any new clients
if (server.hasClient()){
for(i = 0; i < MAX_SRV_CLIENTS; i++){
//find free/disconnected spot
if (!serverClients || !serverClients.connected()){
if(serverClients) serverClients.stop();
serverClients = server.available();
Serial1.print("New client: "); Serial1.print(i);
continue;
}
}
//no free/disconnected spot so reject
WiFiClient serverClient = server.available();
serverClient.stop();
}
//check clients for data
for(i = 0; i < MAX_SRV_CLIENTS; i++){
if (serverClients && serverClients.connected()){
if(serverClients.available()){
//get data from the telnet client and push it to the UART
while(serverClients.available()) Serial.write(serverClients.read());
}
}
}
//check UART for data
if(Serial.available()){
size_t len = Serial.available();
uint8_t sbuf[len];
Serial.readBytes(sbuf, len);
//push UART data to all connected telnet clients
for(i = 0; i < MAX_SRV_CLIENTS; i++){
if (serverClients && serverClients.connected()){
serverClients.write(sbuf, len);
delay(1);
}
}
}
}
 
Сверху Снизу