Ключевое ?лово

vk

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Железо для умного дома

ТЕМА: Текущая версия прошивки esp8266 0.1.1

Бета тест версии прошивки esp8266 0.1.1 18 Июнь 2015 22:00 #4785

  • Zen
  • Zen аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 64
  • Спасибо получено: 3
  • Репутация: 0
http заголовки там в том же количестве, как и на главной. А то что у вас - теги html, к заголовкам мало имеющие отношения.

Проблема, как мне кажется, в том, что указан mime-type как "text/html", а реально тегов в выдаче нет никаких - может на этом клиент и сыпется. Можно (и скорее всего - нужно), указать "text/plain".

А чем вам вариант с telnet не нравится? Там ещё проще данне получить
Последнее редактирование: 18 Июнь 2015 22:05 от Zen.
Администратор запретил публиковать записи гостям.

Бета тест версии прошивки esp8266 0.1.1 18 Июнь 2015 22:06 #4786

  • shag12
  • shag12 аватар
  • Не в сети
  • Давно я тут
  • Сообщений: 96
  • Спасибо получено: 1
  • Репутация: 0
Ну я не являюсь докой к протоколе HTML. Но, факт в том, что не работает!

В принципе - моя цель - получить данные по HTTP и отдать их дальше Ардуине по UART.

Почему HTTP - не из одного источника будут получаться эти данные.

Вот простейший пример:

-- A simple http client
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end )
conn:connect(80,"115.239.210.27")
conn:send("GET / HTTP/1.1\r\nHost: www.baidu.com\r\n"
.."Connection: keep-alive\r\nAccept: */*\r\n\r\n")

Если его "натравить" на корень ЕСПшки - он возвращает страничку (данные).

Если на /sensors/ или /debug/ - НИЧЕГО, кроме длинны сообщения.

Мне непросто с LUA. Только сегодня начал разбираться.
Последнее редактирование: 18 Июнь 2015 22:11 от shag12.
Администратор запретил публиковать записи гостям.

Бета тест версии прошивки esp8266 0.1.1 18 Июнь 2015 22:07 #4787

  • Zen
  • Zen аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 64
  • Спасибо получено: 3
  • Репутация: 0
Вы на какой платформе пытаетесь данные получить?

Упд: В порядке бреда, в заголовке Host вы реальный прописываете, или байду так и есть?

Упд2: В общем, я со своей колокольни вижу только несоответствие Content-type, который передаёт еспшка. Но пережуёт ли ваш клиент правильный text/plain, ещё неизвестно.
Последнее редактирование: 18 Июнь 2015 22:32 от Zen.
Администратор запретил публиковать записи гостям.

Бета тест версии прошивки esp8266 0.1.1 18 Июнь 2015 22:51 #4788

  • shag12
  • shag12 аватар
  • Не в сети
  • Давно я тут
  • Сообщений: 96
  • Спасибо получено: 1
  • Репутация: 0
Это другая прошивка для той-же ЕСПшки. NODEMCU называется.

Она программируется на языке LUA.

Соответственно одна ESP должна забрать данный с другой по HTTP и отдать дальше в UART.

Вот так я пытаюсь забрать данные:

-- A simple http client
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end )
conn:connect(80,"192.168.1.110")
conn:send("GET / HTTP/1.1\r\nHost: 192.168.1.110\r\n"
.."Connection: keep-alive\r\nAccept: */*\r\n\r\n")

Получаю...


HTTP/1.1 200 OK
Content-Length: 1743
Server: lwIP/1.4.0
Content-type: text/html
Connection: keep-alive
Expires: Fri, 10 Apr 2008 14:00:00 GMT
Pragma: no-cache

<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=400px"><title>Wi-Fi ESP8266 Universal IoT controller</title><style type="text/css">body{background-color: #7D8EE2;color:#FFF;}
a {color:#73B9FF;}.... и так далее.

Это с корневой страницы. Т.е. все хорошо.


Теперь пытаемся забрать с /sensors/

conn:send("GET /sensors/ HTTP/1.1\r\nHost: 192.168.1.110\r\n"
.."Connection: keep-alive\r\nAccept: */*\r\n\r\n")


И получаем...

HTTP/1.1 200 OK
Content-Length: 54


И ВСЕ!!!.

Влезать в код класса на LUA, и разбираться, почему не отдает данные - для меня явно сложновато.
Последнее редактирование: 18 Июнь 2015 22:52 от shag12.
Администратор запретил публиковать записи гостям.

Бета тест версии прошивки esp8266 0.1.1 18 Июнь 2015 22:54 #4789

  • Zen
  • Zen аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 64
  • Спасибо получено: 3
  • Репутация: 0
Я имел ввиду еспшку, с которой берутся данные. Надо ждать автора - возможно поправит заголовки.

Ибо данные со страницы sensors - голый текст. 54 байта. А клиент может ждать тегов HTML, увидев Content-Type: text/html
Последнее редактирование: 18 Июнь 2015 22:57 от Zen.
Администратор запретил публиковать записи гостям.

Бета тест версии прошивки esp8266 0.1.1 19 Июнь 2015 08:30 #4790

  • Adminhs
  • Adminhs аватар
  • Не в сети
  • Администратор
  • Сообщений: 7197
  • Спасибо получено: 1114
  • Репутация: 194
К сожалению переделать на text/plain не так просто - у меня тут заголовок общий на всех и нужно переделывать все.

Добавить <!DOCTYPE html> и далее в код страницы не вариант - может слететь у многих парсинг данных.

Думаю тут есть какая-то кривость еще в работе NODEMCU -он обрезает входящие данные, даже не доходя до Content-type.

Вообще зачем такой изврат ? - гонять данные на ардуину ?
Основной канал проекта в Telegram t.me/wifi_iot
Администратор запретил публиковать записи гостям.
Модераторы: FlyRouter
Время создания страницы: 0.155 секунд

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.