roboforum.ru

Технический форум по робототехнике.

wifi модуль за 200 рублей. ESP8266

Обсуждение и примеры готовых и самосборных компонент для построения роботов.

wifi модуль за 200 рублей. ESP8266

Сообщение Myp » 29 авг 2014, 10:26

https://nurdspace.nl/ESP8266
http://hackaday.io/project/2879-ESP8266 ... le-Library
Изображение

есть даже вот такой
http://ru.aliexpress.com/item/ESP8266-s ... 76105.html
Изображение
170 рублей

или с чип антенной
Изображение

форум по этим штукам: http://www.esp8266.com/
даташит:
ESP8266_Specifications_v4.pdf
(1.86 МиБ) Скачиваний: 0

распиновка модуля:
загруженное.png
загруженное.png (6.48 КиБ) Просмотров: 17138

для запуска модуля необходимо ногу CH_PD соединить с VCC, старая версия модуля этого не требует, её легко определить по отсутствию светодиодов на плате.
экспериментальным путём установлено что вход URXD толерантен к TTL +5v UART, подключил напрямую и ничего не сдохло.
SDK и образ для виртуальной машины со всем необходимум для компиляции http://bbs.espressif.com/viewforum.php?f=5
скетч вебсервера который показывает значение аналогового входа, для ардуины (не тестировал):
http://rayshobby.net/?p=9734
Код: Выделить всёРазвернуть
/* ====== ESP8266 Demo ======
*   Print out analog values
* ==========================
*
* Change SSID and PASS to match your WiFi settings.
* The IP address is displayed to soft serial upon successful connection.
*
* Ray Wang @ Rayshobby LLC
* http://rayshobby.net/?p=9734
*/

// comment this part out if not using LCD debug
#include <SoftwareSerial.h>
SoftwareSerial dbg(7, 8); // using pin 7, 8 for software serial

enum {WIFI_ERROR_NONE=0, WIFI_ERROR_AT, WIFI_ERROR_RST, WIFI_ERROR_SSIDPWD, WIFI_ERROR_SERVER, WIFI_ERROR_UNKNOWN};

#define BUFFER_SIZE 128

#define SSID  "your_ssid"   // change this to match your WiFi SSID
#define PASS  "your_password"  // change this to match your WiFi password
#define PORT  "8080"      // using port 8080 by default

char buffer[BUFFER_SIZE];

void setup() {

  Serial.begin(115200);
  Serial.setTimeout(5000);
 
  dbg.begin(9600);
  dbg.println("begin.");
   
  byte err = setupWiFi();
  if (err) {
    // error, print error code
    dbg.print("setup error:");
    dbg.println((int)err);
  } else {
    // success, print IP
    dbg.print("ip addr:");
    char *ip = getIP();
    if (ip) {
      dbg.println(ip);
    }
    else {
      dbg.println("none");
    }
    maxTimeout();
  }
}

bool maxTimeout() {
  // send AT command
  Serial.println("AT+CIPSTO=0");
  if(Serial.find("OK")) {
    return true;
  } else {
    return false;
  }
}

char* getIP() {
  // send AT command
  Serial.println("AT+CIFSR");

  // the response from the module is:
  // AT+CIFSR\n\n
  // 192.168.x.x\n
  // so read util \n three times
  Serial.readBytesUntil('\n', buffer, BUFFER_SIZE); 
  Serial.readBytesUntil('\n', buffer, BUFFER_SIZE); 
  Serial.readBytesUntil('\n', buffer, BUFFER_SIZE); 
  buffer[strlen(buffer)-1]=0;
  return buffer;
}

void loop() {
  int ch_id, packet_len;
  char *pb; 
  Serial.readBytesUntil('\n', buffer, BUFFER_SIZE);
  if(strncmp(buffer, "+IPD,", 5)==0) {
    // request: +IPD,ch,len:data
    sscanf(buffer+5, "%d,%d", &ch_id, &packet_len);
    if (packet_len > 0) {
      // read serial until packet_len character received
      // start from :
      pb = buffer+5;
      while(*pb!=':') pb++;
      pb++;
      if (strncmp(pb, "GET /", 5) == 0) {
        serve_homepage(ch_id);
      }
    }
  }
}

void serve_homepage(int ch_id) {
  String header = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\nRefresh: 5\r\n";

  String content="";
  // output the value of each analog input pin
  for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
    int sensorReading = analogRead(analogChannel);
    content += "analog input ";
    content += analogChannel;
    content += " is ";
    content += sensorReading;
    content += "<br />\n";       
  }

  header += "Content-Length:";
  header += (int)(content.length());
  header += "\r\n\r\n";
  Serial.print("AT+CIPSEND=");
  Serial.print(ch_id);
  Serial.print(",");
  Serial.println(header.length()+content.length());
  if (Serial.find(">")) {
    Serial.print(header);
    Serial.print(content);
    delay(20);
  }
  /*Serial.print("AT+CIPCLOSE=");
  Serial.println(ch_id);*/
}

byte setupWiFi() {
  Serial.println("AT");
  if(!Serial.find("OK")) {
    return WIFI_ERROR_AT;
  }
  delay(500);

  // reset WiFi module
  Serial.println("AT+RST");
  if(!Serial.find("ready")) {
    return WIFI_ERROR_RST;
  }
  delay(500);

  // set mode 3
  Serial.print("AT+CWJAP=\"");
  Serial.print(SSID);
  Serial.print("\",\"");
  Serial.print(PASS);
  Serial.println("\"");
  delay(2000);
  if(!Serial.find("OK")) {
    return WIFI_ERROR_SSIDPWD;
  }
  delay(500);
 
  // start server
  Serial.println("AT+CIPMUX=1");
  if(!Serial.find("OK")){
    return WIFI_ERROR_SERVER;
  }
  delay(500);
 
  Serial.print("AT+CIPSERVER=1,"); // turn on TCP service
  Serial.println(PORT);
  if(!Serial.find("OK")){
    return WIFI_ERROR_SERVER;
  }
  delay(500);
 
  return WIFI_ERROR_NONE;
}


большая статья про использование: http://geektimes.ru/post/241054/
утилита для настройки модуля: https://github.com/AppStackTH/ESP8266-Config

прошивка модуля:
Теперь можно и нужно обновить прошивку:
1. Качаем утилиту XTCOM http://rghost.ru/58916556.
2. Качаем прошивку ESP_8266_v0.9.2.2 AT Firmware.bin http://rghost.ru/58916609
3. Отключаем питание платы, вывод GPIO0 соединяем с общим проводом, включаем питание.
4. Запускаем XTCOM_UTIL.exe, переходим в Tools -> Config Device, выбираем COM-порт к которому подключена плата, ставим скорость порта 57600, жмем Open, потом Connect, программа должна сказать «Connect with target OK!», закрываем окно настроек. Переходим в меню API TEST, выбираем (4) Flash Image Download, указываем путь к файлу «ESP_8266_v0.9.2.2 AT Firmware.bin», адрес оставляем 0x00000, жмем DownLoad. Должна начаться загрузка прошивки, по окончании будет выдано сообщение.
5. Отключаем питание платы, вывод GPIO0 отсоединяем от общего провода, включаем питание, запускаем терминал (ВНИМАНИЕ! Меняем скорость порта на 9600), проверяем готовность платы командой AT и версию прошивки командой AT+GMR.

После обновления до версии 0018000902 изменится дефолтная скорость COM-порта с 57600 на 9600, это полезно для софтового уарта.
но эту скорость в новой прошивке теперь можно задать командой AT+CIOBAUD. Смотрим AT+CIOBAUD=? доступные скорости и ставим командой AT+CIOBAUD=115200 скорость 115200, в ответ должно выдать ОК.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: wifi модуль за 200 рублей.

Сообщение Madf » 29 авг 2014, 12:30

кто попробовать уже успел?
как надежность?

зы: я пока только заказал.
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: wifi модуль за 200 рублей.

Сообщение Myp » 29 авг 2014, 12:40

чота судя по всему он тока тока появился :)

Добавлено спустя 4 минуты 40 секунд:
надеюсь что появится библиотечка для ардуины :)
хотя там вроде АТ командами настраивается несложно..
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: wifi модуль за 200 рублей.

Сообщение avr123.nm.ru » 29 авг 2014, 14:55

прикольно и недорого. щас все помешались на IoT "интенете вещей" :D
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: wifi модуль за 200 рублей.

Сообщение Madf » 29 авг 2014, 16:52

На конец все ардуины и просто МК начнут серфить инет и читать новости! :D
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: wifi модуль за 200 рублей. ESP8266

Сообщение Myp » 14 окт 2014, 11:54

Пришли 2 модуля :) уря!

но как оказалось они нифига не работают от pl2303 напрямую, не хватает току по линии 3.3 вольта.
притащил на работу поиграть, а они не завелись.

если тока хватает то при включении они мигают синим светодиодом.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: wifi модуль за 200 рублей. ESP8266

Сообщение Angel71 » 14 окт 2014, 12:26

эт да, он в активном режиме может чуть больше 200ма потребляеть. а на модуле 5в линия с юсб выведена? хотя тоже не айс, стаб ещё прикручивать нужно.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: wifi модуль за 200 рублей. ESP8266

Сообщение Madf » 14 окт 2014, 12:37

Поигрался чуток этой игрушкой.
Как и всё китайское (в смысле разработки) - глючноватенько.
В модули нет никакой АТ-команды, чтобы элементарно узнать его МАК-адресс, из-за этого невозможно его (модуль) использовать в домашней сети (безопасность). Раз так, пробовал его подключать к мобильнику (где нет блока по МАКу), подключение прошло удачно, а вот обмен данными так и не получилось сделать, вечно выдает ошибку и причина не известна.
В инете нашел как можно обновлять прошивку, какой-то товарищь сделал простую программу (от одной кнопки), которая это всё делает. Китайское "фирменное ПО" так и не смогло обновить прошивку.
В общем всё как обычно...(
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: wifi модуль за 200 рублей. ESP8266

Сообщение Myp » 14 окт 2014, 13:04

почему невозможно?
заходишь на роутер и смотришь какому мак адресу было запрещено соединяться, вписываешь этот мак адрес в список разрешенных.

интересно, а от CR2032 заведётся? надо дома проверить.

Добавлено спустя 16 минут 45 секунд:
на подходе опсиание API модуля
мак адрес храниться во внешней флешке и наверняка можно будет менять мак через API =)

кстати нифига, тока хватает, просто для запуска надо замкнуть CH_PD на VCC
щас скрепкой ткнул и мигнул.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: wifi модуль за 200 рублей. ESP8266

Сообщение Madf » 14 окт 2014, 13:35

Myp писал(а):почему невозможно?
заходишь на роутер и смотришь какому мак адресу было запрещено соединяться, вписываешь этот мак адрес в список разрешенных.


Как бы да, но почему-то у меня в рутере такой информации нет (конкретно на этот модуль), то ли модуль не пытается подключаться, то ли - и не знаю, что думать.

Myp писал(а):на подходе опсиание API модуля
мак адрес храниться во внешней флешке и наверняка можно будет менять мак через API =)

Я не понимаю, почему сразу функционал такое не прикрутили. Лезть в исходники и самому допиливать - нет желания.

Myp писал(а):кстати нифига, тока хватает, просто для запуска надо замкнуть CH_PD на VCC
щас скрепкой ткнул и мигнул.

Да - это самое важное, где сразу не оговаривается. Из-за этого можно посчитать, что модуль нерабочий.
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: wifi модуль за 200 рублей. ESP8266

Сообщение Angel71 » 14 окт 2014, 14:10

возня с маком настолько всем нужна, что прям первым делом с этим им возиться. дануна.
2032 по крайней с повышающим должна потянуть. как и с блютузом (ble) и прочим подобным главное передать данные и быстренько в спящий режим перевести.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: wifi модуль за 200 рублей. ESP8266

Сообщение Myp » 14 окт 2014, 15:23

Madf писал(а):Я не понимаю, почему сразу функционал такое не прикрутили.

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

а тут предприимчивый китаец взял да запаял модуль на плату и стал продавать на али без документов.
а уж документацию по модулю народ собирает с миру по нитке, на китайском языке, переводит.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: wifi модуль за 200 рублей. ESP8266

Сообщение Angel71 » 14 окт 2014, 15:45

когда делают китайцы, можно просто спасибо говорить уже хотя бы за хоть какую убогую доку. ещё прикол в том, что это уже не приёмо-передатчики, как почти все копеечные до этого, а тут уже и проц и куча всего в чипе напичкано.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: wifi модуль за 200 рублей. ESP8266

Сообщение Myp » 14 окт 2014, 15:53

если вдругк то не в курсе или заглянет сюда случайно
вконтакте есть чел который запилил на хабре пост про эти фигульки и имеет связь с разработчиком
они обещаются выложить свежую документацию и некоторые плюшки. когда появится выложу.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: wifi модуль за 200 рублей. ESP8266

Сообщение Madf » 14 окт 2014, 16:05

:good:
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

След.

Вернуться в Готовые модули

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4