Пользует ли кто WiFi-модули ESP8266 ? Поделитесь впечатлениями.

boban_
Offline
Зарегистрирован: 09.10.2013

MaksMS пишет:

Собираю всю информацию тут там же есть ссылки на документацию и библиотеки.

 

Спасибо большое.

 

После попытки прошиться по сети, модуль умер. Достучаться через порт или перепрошить утилитой ХТСОМ не смог. Помогла перепрошивка с помощью ESP8266Flasher.

Пока работает.

Sirocco
Offline
Зарегистрирован: 28.09.2013

И так... Переписал код, чтоб было понятно, что отправляется для ESP, а что в терминал:

#include <SoftwareSerial.h>
SoftwareSerial usbTerminal(10, 11); // RX, TX софтовый Serial, для вывода отладочных сообщений
HardwareSerial & espSerial = Serial; //"Железный" Serial
#define SSID "My_AP"            //имя сети
#define PASS "pass12345" //пароль
#define DST_IP "192.168.1.121" //ip web сервера
const String id="t01";        //id устройства
#define START_CHAR '!'        //начальный символ принимаемого сообщения
#define END_CHAR '$'          //конечный символ принимаесого сообщения
String WiFiMessage="";        //принимаемое сообщение
unsigned int readChar;        //переменная для посимвольного чтения сообщения
boolean readingWiFi;          //флаг чтения сообщения
String ip = "";               //переменная для хранения ip устройства
char character;
int hardReset = 6;            //пин arduino, на котором весит ch_pd
boolean connected=false;      //флаг соединения WiFi 


void setup()
{
  pinMode(hardReset, OUTPUT);
  usbTerminal.begin(9600);
  usbTerminal.setTimeout(5000);
  espSerial.begin(9600);
  espSerial.setTimeout(5000);
  digitalWrite(hardReset, LOW);
  delay(100);
  digitalWrite(hardReset, HIGH);
  delay(5000);
  for(int i=0;i<5;i++)
  {
    if(connectWiFi())
    {
      connected = true;
      break;
    }
  }
  if (!connected){while(1); }
  delay(2000);
}

void loop()
{
    if (espSerial.available() > 0 && !readingWiFi)
    {
        if (espSerial.read() == START_CHAR)
        {
            WiFiReadData();
        }
    }  
}
void WiFiReadData()
{
    WiFiMessage = "";
    readingWiFi = true;
    iniReading:
    if (espSerial.available() > 0)
    {
        readChar = espSerial.read();
        if (readChar == END_CHAR)
        {
            goto endReading;
        }
        else
        {
            WiFiMessage.concat(readChar);
            goto iniReading;
        }
    }
    goto iniReading;
    endReading:
    readingWiFi = false;
    ///здесь парсинг сообщения и последующие действия
    espSerial.println(WiFiMessage);

}


/*функция отправки сообщения web-серверу*/
boolean sendMSG(String modul_id,String value,boolean startMSG)
{   
    String cmd = "AT+CIPSTART=1,\"TCP\",\"";
    cmd += DST_IP;
    cmd += "\",80";
    //usbTerminal.println("Connecting to WebServer");
    espSerial.println(cmd);
    espSerial.flush();
    delay(1000);   
    /*if(usbTerminal.find("OK"))        
    {
         usbTerminal.print("OK, Connected to WebServer "); 
         usbTerminal.println(DST_IP);
    }
    else
    {
        usbTerminal.print("Can not connect to WebServer "); 
        usbTerminal.println(DST_IP);            
    }*/  
    String msg= "GET /ajax/arduino_read.php?act=";
    if(startMSG)
    {  
        msg+="new_w&id=";
    }
    else
    {
        msg+="s_t_h&id=";      
    }
    msg+= modul_id;
    msg+= "&val=";
    msg+= value;
    msg+= " HTTP/1.1\r\nHost: ";
    msg+= DST_IP;
    msg+=  ":80\r\n\r\n";
    espSerial.print("AT+CIPSEND=1,");
    espSerial.println(msg.length());
    usbTerminal.println("Senting MSG"); 
    if (espSerial.find(">"))
    {
        //usbTerminal.print("MSG text: ");
        //usbTerminal.println(msg);
        espSerial.print(msg);
        espSerial.flush();
    } 
    if(espSerial.find("SEND OK"))
    {
        return true;
    }
    else
    {
        return false;
    }
}

/*функция конекта к wifi сети*/
boolean connectWiFi()
{
    ip="";
    espSerial.println("AT+CWMODE=1");
    String cmd="AT+CWJAP=\"";
    cmd+=SSID;
    cmd+="\",\"";
    cmd+=PASS;
    cmd+="\"";
    usbTerminal.print("Connecting to ");
    usbTerminal.println(SSID);
    espSerial.println(cmd);
    delay(1000);
    if(espSerial.find("OK"))
    {
        usbTerminal.println("OK, Connected to WiFi.");
        espSerial.println("AT+CIFSR");
        espSerial.flush();
        delay(1000);
        while(espSerial.available()) 
        {
            character = espSerial.read();
            if(character=='.' || character>='0' && character<='9')
                ip.concat(character);
        }
        if(ip != "")
        {
            usbTerminal.print("IP Address of ESP8266: ");
            usbTerminal.println(ip);
        }
        ///включаем режим приема/передачи
        espSerial.println("AT+CIPMODE=0");
        espSerial.println("AT+CIPMUX=1");
        espSerial.flush();
        delay(1000);        
        usbTerminal.println("Starting TCP Server");
        espSerial.println("AT+CIPSERVER=1,80"); 
        espSerial.flush();
        delay(1000);
        if (espSerial.find("OK")){usbTerminal.println("OK, Strart TCP Server");}else{usbTerminal.println("Can not start TCP Server");}       
        espSerial.println("AT+CIPSTO=120");  
        espSerial.flush();
        delay(1000);  
        //отправляем информацию об устройстве при его старте
        String msg=  "temp_";
        msg+=  ip;        
        if(sendMSG(id,msg,true))
        {
            usbTerminal.println("Startup info was send");
            return true;
        }
        else
        {
            usbTerminal.println("Startup info was not send");
            return false;   
        }
    }
    else
    {
        usbTerminal.println("Can not connect to the WiFi.");
        return false;
    }
}


String floatToString(float value, byte precision)
{
  int intVal = int(value);
  unsigned int frac;
  if(intVal >= 0)
  {
    frac = (value - intVal) * precision;
  }
  else 
  {
    frac = (intVal - value) * precision;
  }
  return String(intVal) + "." + String(frac);
}
Выхлоп на терминале:
Connecting to My_AP
OK, Connected to WiFi.
IP Address of ESP8266: 192.168.1.121
Starting TCP Server
OK, Strart TCP Server
Senting MSG
Startup info was not send

То, что уходит на ESP:

AT+CWMODE=1
AT+CWJAP="My_AP","pass12345"
AT+CIFSR
AT+CIPMODE=0
AT+CIPMUX=1
AT+CIPSERVER=1,80
AT+CIPSTO=120
AT+CIPSTART=1,"TCP","192.168.1.121",80
AT+CIPSEND=1,103
AT+CWMODE=1
.....

Ответ от ESP:

à@ú#AàËHþ1ò
[System Ready, Vendor:www.ai-thinker.com]
AT+CWMODE=1

no change
AT+CWJAP="My_AP","pass12345"
OK
AT+CIFSR
192.168.1.121
OK
AT+CIPMODE=0
OK
AT+CIPMUX=1
OK
AT+CIPSERVER=1,80
OK
AT+CIPSTO=120
OK
AT+CIPSTART=1,"TCP","192.168.1.121",80
AT+CIPSEND=1,103
busy p...

В чём проблема? Веб сервер недоступен, php скрипт ничего не выполняет...

А на php сервере нужны какие-нибудь доп библиотеки, типа js?
_______________
Объясните, что должно происходить? Ардуино с модулем отсылают GET запрос с какими-то данными на web сервак php скрипту? Видимо нужно накалякать php скрипт обрабатывающий этот запрос.
А этот php код, что должен сделать?
<?
$fp = fsockopen("ip вашего модуля", 80, $errno, $errstr);
if (!$fp) 
{
      echo "ERROR: $errno - $errstr<br />\n";
} 
else 
{
f     write($fp, "!my_text$");  
      fclose($fp);
      echo "Send OK";
}
?>

 

Что-то отправить модулю, а модкль что-то ответить должен?
Sirocco
Offline
Зарегистрирован: 28.09.2013

Короче, разобрался во всём. Вопрос один, как отправить данные не через php, а просто GET запросом из адресной строки браузера? 

NEGr
Offline
Зарегистрирован: 12.05.2014

Sirocco пишет:

Короче, разобрался во всём. Вопрос один, как отправить данные не через php, а просто GET запросом из адресной строки браузера? 

Ответ кроется в вопросе: "GET запросом". GET, POST запросы должны отправляться на web-сервер и им потом обрабатываться. А в твоем случае web-сервер не развернут не на arduino, не на esp8266 

boban_
Offline
Зарегистрирован: 09.10.2013
MaksMS
Offline
Зарегистрирован: 11.03.2013

Да видел её, пока не ясно что из её выйдет )) что-то типа это замена АТшной прошивке.

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Китайцы выложили исходники на nodemcu https://github.com/nodemcu/nodemcu-firmware

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

получил свои модули и курю http://www.lua.org/manual/5.1/manual.html

Почитав все определения получается что Lua что-то среднее между Basic и Java - имеет схожесть и с тем и с другим.

Sirocco
Offline
Зарегистрирован: 28.09.2013

Есть десятки разных способов использования и прошивок для ESP8266. Но не встречал ни одной, которая могла бы рулить пинами из web и плюс к этому получать статус пина. Если кому встретится такая, дайте знать, пожалста. Имеется в виду без доп контроллеров.

MaksMS
Offline
Зарегистрирован: 11.03.2013

Sirocco пишет:

Есть десятки разных способов использования и прошивок для ESP8266. Но не встречал ни одной, которая могла бы рулить пинами из web и плюс к этому получать статус пина. Если кому встретится такая, дайте знать, пожалста. Имеется в виду без доп контроллеров.

Скоро будет такая..  следущая версия этой прошивки.

Sirocco
Offline
Зарегистрирован: 28.09.2013

NeiroN пишет:

Китайцы выложили исходники на nodemcu https://github.com/nodemcu/nodemcu-firmware

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

получил свои модули и курю http://www.lua.org/manual/5.1/manual.html

Почитав все определения получается что Lua что-то среднее между Basic и Java - имеет схожесть и с тем и с другим.

Странная она, эта Lua. Так и не нашёл как сделать delay. Или оно просто не работает.

Sirocco
Offline
Зарегистрирован: 28.09.2013

Вот такой код нашёл:

(Подкорректировал под свою ардуиноПроМини)

/* ====== ESP8266 Demo ======
 * Print out analog values
 * (Updated Dec 14, 2014)
 * ==========================
 *
 * 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

#define BUFFER_SIZE 512

#define SSID  "My_AP"      // change this to match your WiFi SSID
#define PASS  "pass12345"  // change this to match your WiFi password
#define PORT  "80"           // using port 8080 by default

char buffer[BUFFER_SIZE];


#include <SoftwareSerial.h>
SoftwareSerial dbg(10, 11); // RX, TX софтовый Serial, для вывода отладочных сообщений
HardwareSerial & espSerial = Serial; //"Железный" Serial


// By default we are looking for OK\r\n
char OKrn[] = "OK\r\n";
byte wait_for_esp_response(int timeout, char* term=OKrn) {
  unsigned long t=millis();
  bool found=false;
  int i=0;
  int len=strlen(term);
  // wait for at most timeout milliseconds
  // or if OK\r\n is found
  while(millis()<t+timeout) {
    if(espSerial.available()) {
      buffer[i++]=espSerial.read();
      if(i>=len) {
        if(strncmp(buffer+i-len, term, len)==0) {
          found=true;
          break;
        }
      }
    }
  }
  buffer[i]=0;
  dbg.print(buffer);
  return found;
}

void setup() {

  // assume esp8266 operates at 115200 baud rate
  // change if necessary to match your modules' baud rate
  espSerial.begin(9600);
  
  dbg.begin(9600);
  dbg.println("begin.");
    
  setupWiFi();

  // print device IP address
  dbg.print("device ip addr:");
  espSerial.println("AT+CIFSR");
  wait_for_esp_response(1000);
}

bool read_till_eol() {
  static int i=0;
  if(espSerial.available()) {
    buffer[i++]=espSerial.read();
    if(i==BUFFER_SIZE)  i=0;
    if(i>1 && buffer[i-2]==13 && buffer[i-1]==10) {
      buffer[i]=0;
      i=0;
      dbg.print(buffer);
      return true;
    }
  }
  return false;
}

void loop() {
  int ch_id, packet_len;
  char *pb;  
  if(read_till_eol()) {
    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) {
          wait_for_esp_response(1000);
          dbg.println("-> serve homepage");
          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";
  espSerial.print("AT+CIPSEND=");
  espSerial.print(ch_id);
  espSerial.print(",");
  espSerial.println(header.length()+content.length());
  if(wait_for_esp_response(2000, "> ")) {
    espSerial.print(header);
    espSerial.print(content);
  } else {
    espSerial.print("AT+CIPCLOSE=");
    espSerial.println(ch_id);
  }
}


void setupWiFi() {
  // try empty AT command
  espSerial.println("AT");
  wait_for_esp_response(1000);

  // set mode 1 (client)
  espSerial.println("AT+CWMODE=1");
  wait_for_esp_response(1000);  

  // reset WiFi module
  espSerial.print("AT+RST\r\n");
  wait_for_esp_response(1500);
 
  // join AP
  espSerial.print("AT+CWJAP=\"");
  espSerial.print(SSID);
  espSerial.print("\",\"");
  espSerial.print(PASS);
  espSerial.println("\"");
  // this may take a while, so wait for 5 seconds
  wait_for_esp_response(5000);
  
  espSerial.println("AT+CIPSTO=30");  
  wait_for_esp_response(1000);

  // start server
  espSerial.println("AT+CIPMUX=1");
  wait_for_esp_response(1000);
  
  espSerial.print("AT+CIPSERVER=1,"); // turn on TCP service
  espSerial.println(PORT);
  wait_for_esp_response(1000);
  
    
}

Выводит значения аналоговых пинов на web страничке. Только проблема одна есть, после третьего-пятого обновления странички модуль падает, и лежит до перезагрузки ардуины. Почему так? Как можно исправить?

А может у кого есть код по лучше?

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en#tm_delay

Вроде есть функция надо будет проверить.

Стандартную АТ прошивку все только обсирают, думаю на это есть основания.

Если ЛУА будет работать как надо - то там достаточно возможностей чтобы запилить вебсервер. Функции парсинга посолиднее чем у ардуиновского String . Может завтра прошью один из модулей и сделаю этот пресловутый веб сервер, чтобы рулить одним пином, потом попробую сделать логику диммера с одной кнопкой для установки в выключатель.

Sirocco
Offline
Зарегистрирован: 28.09.2013

Как-то не привычен этот LUA. Подожду, может кто допилит ардуино порт

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Китайцы подделку прислали - у диода питания вместо резистора перемычка запаяна - включил 3.3в как положено, светодиод сдох.

Подтяжки вывода CH_PD нет, хотя места на плате достаточно. Поменял резистор на втором модуле, оба прошил последней Nodemcu. Сейчас сижу играюсь.

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

NeiroN пишет:

Китайцы подделку прислали - у диода питания вместо резистора перемычка запаяна - включил 3.3в как положено, светодиод сдох.

Подтяжки вывода CH_PD нет, хотя места на плате достаточно. Поменял резистор на втором модуле, оба прошил последней Nodemcu. Сейчас сижу играюсь.

какой модуль? гле брал?

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Брал тут http://ru.aliexpress.com/store/808897 сами модули так то работают, скорее всего продавец не причем. Но расположение деталей другое чем на фото:

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

Вот пример веб сервера чтобы рулить одним пином

wifi.setmode(wifi.SOFTAP);
wifi.ap.config({ssid="test",pwd="12345678"});
gpio.mode(4, gpio.OUTPUT)
srv=net.createServer(net.TCP) 
srv:listen(80,function(conn) 
     conn:on("receive", function(client,request)
          local buf = "";
          local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)%?(.+) HTTP");
          if(method == nil)then _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP"); end
          local _GET = {}
          if (vars ~= nil)then for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do _GET[k] = v end end
          buf = buf.."<h1> Hello, NodeMcu.</h1><form src=/>Turn GPIO2 <select name=pin onchange=\"form.submit()\">";
          print("\nMethod: "..method);
          print("Path: "..path);
          local _on,_off = "",""
          if(_GET.pin == "ON")then
                 _on = " selected=true";
                 gpio.write(4, gpio.HIGH);
          elseif(_GET.pin == "OFF")then
                 _off = " selected=true";
                 gpio.write(4, gpio.LOW);
          end
          buf = buf.."<option".._on..">ON</opton><option".._off..">OFF</option></select></form>";
          client:send(buf);
          client:close();
          collectgarbage();
     end)
end)

 

MaksMS
Offline
Зарегистрирован: 11.03.2013

CH_PD подтяжки нигде нет - его надо на + сажать для работы

Araris
Offline
Зарегистрирован: 09.11.2012

CH_PD не зря выведен наружу и оставлен на наше усмотрение. С ним имеем два варианта:

1-й - соединить его с пином Ардуино и рулить включением/выключением модуля программно (например, экономить питающий аккумулятор);

2-й - запаять перемычку CH_PD на +3,3В.

[ Оба варианта я пробовал, остановился на втором. ]

Sirocco
Offline
Зарегистрирован: 28.09.2013

Я так понаблюдал, получается, если на CH_PD нет питания, то модуль связи спит. А если подать питание, то примерно в течении 1,5-2 сек модуль коннектится к точке доступа и полноценно работает. Этакий быстрый старт. 

MaksMS
Offline
Зарегистрирован: 11.03.2013

Этот модуль сам по себе быстро загружается, даже если подать просто питание с уже подтянутым CH_PD

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Соединил CH_PD и ресет с питанием. Это рядом, сразу три ножки. Запаял резисторы 805 с этих ног (CH_PD и ресет) на GPIO1 GPIO2 прямо на разъёме. всё заработало. Прошивка- GPIO2 на землю по кабельку.

Вопрос к MaksMS: Потерял свои  DHT22. Нашёл вот эти :  В продаже  ещё можно найти датчики DHT21 (AM2301) , немного дороже чем  DHT22 и имеют примерно те же параметры, но выполнен в корпусе для более жоских условий(улица)

http://homes-smart.ru/index.php/oborudovanie/datchiki/datchiki-vlazhnost...

Работать не будет?

MaksMS
Offline
Зарегистрирован: 11.03.2013

trembo пишет:

Вопрос к MaksMS: Потерял свои  DHT22. Нашёл вот эти :  В продаже  ещё можно найти датчики DHT21 (AM2301) , немного дороже чем  DHT22 и имеют примерно те же параметры, но выполнен в корпусе для более жоских условий(улица)

http://homes-smart.ru/index.php/oborudovanie/datchiki/datchiki-vlazhnosti-dht11-i-dht22

Работать не будет?

Будет.Это полный аналог по протоколу с 22

Тестируйте новую версию моей прошивки ?))

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Про протокол знаю что одинаковый.

Ночью пытался 0.6 запустить , не получилось. Сейчас аккуратно подключил( на модуле нет резисторов привязки, запаял) и вроде заработала  и даже в Station+AP работает. Есть смысл 0.7  прошить?

MaksMS
Offline
Зарегистрирован: 11.03.2013

Ну там есть куча дополнений, например руление гпио и отправка данных на свой сервер.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Ночью баловался на первом модуле, фирмваре прошивал   ESP_8266_v0.9.2.2 AT Firmware.bin

А сейчас второй, непрошитый,   заметил: фирмваре говорит 0018000902-AI03 , на первом было без -AI03 (после прошивки)

Прошил 0.7  

No DHT22 2 sensor.  GPIO0  и GPIO1  (Версия прошивки B - I2C на выводах SDA - GPIO1(TXD), SCL - GPIO3(RXD))

DS18B20:  Temperature: 28.6 °C.  заработал. Правда странно: часто после SET сбрасываются выставленные "птички"

 

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

MaksMS пишет:

Этот модуль сам по себе быстро загружается, даже если подать просто питание с уже подтянутым CH_PD

Да, секунд за 5 поднимается DHCP

MaksMS
Offline
Зарегистрирован: 11.03.2013

A на DHT питание сколько подано ? надо 5 в

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011
Model HM2301
Power supply 3.3-5V DC
 
 
The DHT21/22 is quite similar to the DHT11 and has a greater accuracy (one decimal) and range (negative temperatures). The hardware pins and handshake are identical but it uses a different data format.

Alternative names

The DHT sensors are also available under other names.

  • DHT11 = RHT01 = ...
  • DHT21 = RHT02= AM2301 = HM2301
  • DHT22 = RHT03= AM2302
  • DHT33 = RHT04 = AM2303
  • DHT44 = RHT05

from DHT.h

#define DHT11 11
#define DHT22 22
#define DHT21 21
#define AM2301 21

Всё-таки они разные....

Хотя в DHT.cpp

case DHT22:
case DHT21:

идут парами....

 
Кстати пользуюсь вот этим. На плате переключатель 3  - 5  Вольта и DTR CTS если что присутствуют.
MaksMS
Offline
Зарегистрирован: 11.03.2013

Что DHT22, что AM2301 - там протокол одинаковый, даже у дхт11 он почти такой же, только упращеный - передаются только целые значения.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

MaksMS пишет:

Что DHT22, что AM2301 - там протокол одинаковый, даже у дхт11 он почти такой же, только упращеный - передаются только целые значения.

Оба мои AM2301 на УНО проверил, работают...

Могу повторить: часто после SET сбрасываются выставленные "птички" и номер GPIO в конфигах.Brouser- Firefox.

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

все же этим дхт не хватает строба. со стробом их можно было бы проще читать.

NE_XT
NE_XT аватар
Offline
Зарегистрирован: 22.05.2012

MaksMS  у вас на сайте пока не регистрируюсь, попробуйте к вашей прошивке прикрутить вот этот дисплей:

уж больно дико выглядят 1602 и 2004 на фоне миниатюрной платы. А этот в самый раз :)
 
и вопрос ко всем, кто "ковыряет"  NodeMCU
Скрипт запускать  так  dofile("my.lua"), а как остановить скрипт?
MaksMS
Offline
Зарегистрирован: 11.03.2013

NE_XT пишет:

MaksMS  у вас на сайте пока не регистрируюсь, попробуйте к вашей прошивке прикрутить вот этот дисплей:

уж больно дико выглядят 1602 и 2004 на фоне миниатюрной платы. А этот в самый раз :)

Да прикрутить не проблема, просто переделать под драйвер i2c этого модуля..

Ничего сложного не вижу.. Но в наличии такого экрана у меня нет. А без его вслепую можно долго ковырятся..

 

UPD: а.. вижу библиотека есть уже.. тогда проще. но вопрос как выводить на его надо изучить :)

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

MaksMS пишет:

Да прикрутить не проблема, просто переделать под драйвер i2c этого модуля..

Ничего сложного не вижу.. Но в наличии такого экрана у меня нет. А без его вслепую можно долго ковырятся..

 

UPD: а.. вижу библиотека есть уже.. тогда проще. но вопрос как выводить на его надо изучить :)

Как раз только-что достал из почтового ящика .... Но он графический, на примерах проверял, работает.

П. С. Письмо  на активацию регистрации идёт  уже два дня....

MaksMS
Offline
Зарегистрирован: 11.03.2013

trembo пишет:

П. С. Письмо  на активацию регистрации идёт  уже два дня....

Активировал, может не нравится адрес в таком домене :)

buka
buka аватар
Offline
Зарегистрирован: 07.06.2012
trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Если внимательно посмотреть на фотографии, то у 07 и 12 модулей  пины  и так прекрасно впаиваются.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

MaksMS пишет:

Активировал, может не нравится адрес в таком домене :)

А   мммммммммм@gmail.com   нравится?       Я ваш друг, к тому-же ближе...   :)

MaksMS
Offline
Зарегистрирован: 11.03.2013

не знаю, активировал кого-то с таким же ником :)

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Спасибо!

buka
buka аватар
Offline
Зарегистрирован: 07.06.2012

Припаять то можно что угодно к чему угодно. Вы думаете, почему народ в основном 01 берет. Паять то не чем. Да и провода фиксировать надо на чем то все равно, так как боковые площадки легко отрываются. А на платку такую можно даже утюгом припаять, если руки на месте.

art100
Offline
Зарегистрирован: 09.03.2014

Приехал модуль. Появилось время. Сегодня повеселился

http://art1.by:8882

Вопрос: Вижу потребления 150мА когда канал установился качает скачками от 20 до 60мА. Кто-нибудь без внешнего питания стабилизатора непосредственно запустил? Вообще не понимаю как можно от встроенных и мелких переходников питать. В результате игр с питаниями подпалил 5,73вольтами один чип. Разогрелся как утюг. Пока я понял что,что-то не так. Чип чепухой отвечает. Внятно уже не шьется:( Сейчас спасаюсь внешним на 3,35В 2А. Подозреваю, что режим 802.11а то есть 215мА это вранье или фантазии.

Арарис ты говоришь от 5 вольт работает.

Да работает. АТ-сомандам отвечает. Связь я что-то не увидел как чип поднимает. Ток реально до 200мА подпрыгивает.

Но ты пощупай. Чипы ведь горячие!

Поделитесь прошивками. Может я еще перепрошюсь.

 

boban_
Offline
Зарегистрирован: 09.10.2013

Сделал переходник на LM317 сразу. Работает на 3,1В. Не греется.

 

Печатку могу кинуть.

art100
Offline
Зарегистрирован: 09.03.2014

boban_ пишет:

Сделал переходник на LM317 сразу. Работает на 3,1В. Не греется.

 

Печатку могу кинуть.

Делитесь. По видимому без внешнего стабилизатора не разумно к ардуинам подсоединять в виде конструкторов.

"Радейка" жрет как лошадь.

Ням спим Ням Спим .....вижу удары током до 50мА

https://yadi.sk/i/EW-TcT5Bdmdfj

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Мой питается от этого: http://www.ebay.com/itm/USB2-0-To-TTL-6Pin-Converter-CH340G-for-STC-Ardu...

Потребление  скачет от 10 до 60 миллиампер, напряжение 3.2 Вольта, ток смотрю вот этим: http://www.ebay.com/itm/1pcs-Blue-USB-Power-Amp-Meter-Tester-Charging-Mo...

Araris
Offline
Зарегистрирован: 09.11.2012

art100 пишет:

Арарис ты говоришь от 5 вольт работает.

Я говорил и говорю, что с 5-вольтовыми логическими уровнями работает. А подавать 5 Вольт на питание я даже не пытался и не планирую этого делать.

art100
Offline
Зарегистрирован: 09.03.2014

Araris пишет:

art100 пишет:

Арарис ты говоришь от 5 вольт работает.

Я говорил и говорю, что с 5-вольтовыми логическими уровнями работает. А подавать 5 Вольт на питание я даже не пытался и не планирую этого делать.

А понятненько. А я игрался питанием.

На 2-ух вольтах не запускается толком.

2в9 уже откликается

3.35 стабильненько и не грееется

4 работает но на ощупь начинает грется если не закрыто и не жарко можно работать

5 вольтах слишком греется работает но веры уже нет

5.73 теряет прошивку и ахинею сейчас несет (в конце прикольненько так "ready" ;)

ток жрать может 200мА

нормальный всплеск 150мА

когда связь удерживает ток качает импульсами до 60мА по видимому 40 сантиметров дальности требуют такой ток

На максимальную дальность не проверял. Но что можно от мелкого микрополоска и 1-одного ватта ждать на гигагерцах - ничего толком.

Что-то грандиозных радостей не вижу.

Ну как точка доступа с новомодными шифрованиями мне что-то расписывать уже лень . типо: боротся с двойными ковычками. microSD c кардридером на это выделять цена резво бежит вверх.

  String header ="HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\nRefresh: 5\r\n";
  String content="<head><title>WebControl art100</title></head><body style='background: red'> </p></body>";
//  content+="<p align=\"center\">"; 
//  content+="align=\"center\"><img height=\"400\" width=\"400\" src=\"http://art1.by/construction/UnderConstruction.gif\"></p>";

Потому как за 35$ можно полноценную точку взять. Что собственно сейчас и поддерживает мост.

Как клиент способный мультиконнектами отвечать - ну то есть не расписывать все теги html возможно.

Как скрытый клиент разумно для допустим горячей холодной воды в ванной.

И не слушайте меня. Зажрался я наверно.

Я на php всегда плевал с большой колокольни. А тут кавычки в тегах отсчитывать обленился.

Эти расчудесние переходники не вытянули "радейку"

 

ingener.solovyev
Offline
Зарегистрирован: 12.02.2013

Господа добрый вечер. Подскажите, какой версии модуль необходимо заказать, что бы с минимальными танцами организовать простые передачи данных. Например погодные станции, логгеры и различные выключатели?

MaksMS
Offline
Зарегистрирован: 11.03.2013

Если использовать с адруиной, то пойдет esp-03, если прошивку заливать в есп чтобы не использовать микроконтроллеры дополнительные, то есп-03 или есп-07, или даже есп-12

ingener.solovyev
Offline
Зарегистрирован: 12.02.2013

MaksMS пишет:

Если использовать с адруиной, то пойдет esp-03, если прошивку заливать в есп чтобы не использовать микроконтроллеры дополнительные, то есп-03 или есп-07, или даже есп-12


Т.е. в паре с ардуиной 3 версию. Спасибо.