ESP8266 V3 c микро USB. Помогите оживить

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

Здравствуйте. Приобрел такую штуку http://ru.aliexpress.com/item/New-Wireless-module-CH340-NodeMcu-V3-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-We/32565317233.html

Такого случая на форуме не нашел, поэтому начал новую тему.

Подключил через USB, появилась точка доступа. ПОтом прогарммой ESPlorer залил простой код

wifi.setmode(wifi.STATION)
 wifi.sta.config("myssid","mypassword")
 wifi.sta.status()
 wifi.sta.getip()
 srv=net.createServer(net.TCP)
    srv:listen(80, function(conn)
      conn:on("receive", function(conn,payload)
        print(payload)
        time = tmr.now();
        conn:send("<h1> Hello, MySKU.</h1><b>"..time.."</b>")
      end)
      conn:on("sent", function(conn) conn:close() end)
    end)

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

 

 

 

 

 

 

 

 

 

И другие программы не могут пробиться к устройству через порт. Пробовал все возможные гнезда USB, разные порты... ничего.

 

 

 

 

 

 

 

 

 

 

 

 

Как бы сбросить прошивку, и с нуля перепрошить. Или понять исправно это чудо, или кодом его убило?

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

Вроде прошил. Делал по этой статье http://smart-el.ru/?p=130

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

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

Контроллер ожил. Работает и как клиент и как сервер. Это хорошо. Теперь мне нужно добиться от него передачи необходимых данных в сеть по вайфай соединению.

Вот этот модуль:

Опишу вкратце что требуется, чтобы понятней был вопрос.

Ардуино установлена и настроена в небольшой теплице (эксперементальная тепличка). Много датчиков всяких, температура и влажность воздуха, поливного раствора, уровни в баках с раствором, влажность субстрата в глубине и влажность под верхом... системы полива, увлажнения, вентиляции... в общем не важно, суть в том что все сделано на ардуино и налажено работает. 

Теперь нужно некоторые показания, данные получить из Ардуино и передать на сервер (по ВайФай через роутер, который установлен в 20м от теплицы). 

Пробовал подключить модуль по этой статье http://tim4dev.com/arduino-esp8266-true-start/

Все нормально до главы: Arduino в качестве простого USB-to-Serial TTL конвертора

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

Скетч, приведенный в той статье выполняет команды модуля на мониторе. Как этим воспользоваться, чтоб получить донные с датчиков Ардуины и передать в сеть по ВайФай?
Если кто знает, хоть маленький пример кода как это должно выглядеть?
 

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

AlexRyzh пишет:

Как этим воспользоваться, чтоб получить донные с датчиков Ардуины и передать в сеть по ВайФай?

Если кто знает, хоть маленький пример кода как это должно выглядеть?

Маленького примера кода не выйдет, к сожалению - там есть много всякой нетривиальщины. С чем у вас проблемы? С получением на ардуине данных по UART-порту? С отсылкой данных обратно по тому же UART? Получили данные от ESP - разобрали, отправили ESP ответ. А он уже сам перешлёт, куда нужно. В чём конкретно проблемы?

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

Проблема конкретно в том, что я не понимаю каким способом (методом, образом) происходит передача данных.

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

Как "объяснить" модулю, чтоб он отправил показания с датчика на сервер.

ВОт тут есть пример кода, http://digitrode.ru/computing-devices/mcu_cpu/186-pogodnaya-stanciya-na-...

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

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

inspiritus
Offline
Зарегистрирован: 17.12.2012

Тоже заказал такой модуль, через неделю должен приехать. Насколько понял там уже прошита NodeMCU с LUA. 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

AlexRyzh пишет:

Проблема конкретно в том, что я не понимаю каким способом (методом, образом) происходит передача данных.

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

Как "объяснить" модулю, чтоб он отправил показания с датчика на сервер.

ВОт тут есть пример кода, http://digitrode.ru/computing-devices/mcu_cpu/186-pogodnaya-stanciya-na-...

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

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

Что непонятного-то? Как записать в UART? Serial.write в помощь. Или - Serial1.write, или Serial2.write - смотря какой UART используется (на Меге их четыре аппаратных).

Как отправить данные на сервер? Надо почитать документацию на ESP8266, посмотреть, какими командами открывается соединение с удалённым хостом, скормить ему эти команды, проанализировать ответ, затем подготовить данные, и скормить по команде CIPSEND эти данные модулю. Дальше он сам разберётся, куда и чего передать.

Когда ESP получает данные из сети - он плюётся +IPD в порт - значит, пришли данные, их надо вычитывать из порта, анализировать и делать что-то по факту уже.

Вопросы?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

inspiritus пишет:

Тоже заказал такой модуль, через неделю должен приехать. Насколько понял там уже прошита NodeMCU с LUA. 

О как, речь про LUA. Не работал с NodeMCU - я всё по AT-командам. Но суть от этого не меняется - всё равно в/из UART гоняются команды.

З.Ы. Кстати, на LUA писал казуальные игры для PC - вещь скриптовой язык! Надо только вникнуть, и такое потом удовольствие от его возможностей! Но, пмсм, LUA на ESP8266 - мертворожденный проект, не взлетит, по разным причинам.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

AlexRyzh пишет:

 тут есть пример кода, http://digitrode.ru/computing-devices/mcu_cpu/186-pogodnaya-stanciya-na-osnove-arduino-i-wi-fi-modulya-esp8266.html

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

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

Вы сразу и не разберётесь, ибо код - свалка. Советую начать с самого начала: соединиться с ESP по UART, отправить ему команду AT, получить в ответ OK. Затем - отправить ему команду ATE0, получить в ответ OK. Затем - разбираться, читая документацию - какая команда что делает и зачем что нужно. Сходу вот так вот всё не объяснишь. Ну напишу я вам, что для того, чтобы подконнектиться к роутеру, установить смешанный режим работы, поднять точку доступа и TCP-сервер - надо с десяток команд - вам от этого легче станет?

SendCommand(F("AT+RST"));
SendCommand(F("ATE0"));
SendCommand(F("AT+CWMODE=3"));

String com = F("AT+CWSAP=\"");
        com += stationID;
        com += F("\",\"");
        com += stationPassword;
        com += F("\",8,4");
        
        SendCommand(com);

SendCommand(F("AT+CIPMODE=0"));
SendCommand(F("AT+CIPMUX=1"));
SendCommand(F("AT+CIPSERVER=1,80"));

String com = F("AT+CWJAP=\"");
        com += routerID;
        com += F("\",\"");
        com += routerPassword;
        com += F("\"");
        SendCommand(com);   

И на каждую из этих команд надо дождаться ответа, проанализировать его, сделать что-то по результатам. Советую всё-же начать с самых основ ;)

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

Купил модуль для Ардуино контроля РН http://ru.aliexpress.com/item/Liquid-PH-Value-Detection-detect-Sensor-Mo.... Спросил у китайца как его подключать. Он дал ссылку на пакет документов, где есть папки с подобными файлами. Ни один из них не является АРдуиновским. Подскажите для чего эти файлыи как ими воспользоваться для Ардуино?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

AlexRyzh пишет:

Купил модуль для Ардуино контроля РН http://ru.aliexpress.com/item/Liquid-PH-Value-Detection-detect-Sensor-Module-Monitoring-Control-For-arduino/32371896246.html?spm=2114.10010208.100005.1.dsExww&isOrigTitle=true . Спросил у китайца как его подключать. Он дал ссылку на пакет документов, где есть папки с подобными файлами. Ни один из них не является АРдуиновским. Подскажите для чего эти файлыи как ими воспользоваться для Ардуино?

chengxu.c - исходник на языке C, простой текстовый файл. Можно открыть в любом текстовом редакторе, посмотреть исходник и, возможно, понять, как подключается и опрашивается.

StrangerM
Offline
Зарегистрирован: 02.11.2013
Побаловался с ESP01  и модифицированной под ESP8266 Arduino IDE и ГПС шилдом. 
Поменяв в примере WiFiTelnetToSerial скорость порта с 115200 на ГПСные 9600. 
И подключив после прошивки Tx GPS к Rx ESP01. Работает нормально с OpenCPN на планшете.
Так и берите WiFiTelnetToSerial - доработайте под себя.
knack
knack аватар
Offline
Зарегистрирован: 27.03.2012
 
Подключил свой есп 
 
ide arduino на скорости 74880 выплюнул это:
 ets Jan  8 2013,rst cause:2, boot mode:(7,0)
 
waiting for host
и всё, больше я от него ничего добится не могу xtcom не может приконнектится, D3 и G замыкаю загорается голубой светик, с чем его едят?
knack
knack аватар
Offline
Зарегистрирован: 27.03.2012

Чёт не могу его никак победить, не коннектится Xtool  нихрена :(

нет там скорости 74880

Один раз получилось подклучится через esp config и то на все ат комманды отвечал еррор. что с ним делато то? выкинштейн?

knack
knack аватар
Offline
Зарегистрирован: 27.03.2012

Пробывал по инструкции продавана, не видит esp. Глушняк какой то.