чтобы зайти по этому адресу, там должен быть поднят HTTP сервер, которого сейчас там нет. Читайте как поднять HTTP Web сервер.а зайти по адресу 198.168.4.1 не получатся
чтобы зайти по этому адресу, там должен быть поднят HTTP сервер, которого сейчас там нет. Читайте как поднять HTTP Web сервер.а зайти по адресу 198.168.4.1 не получатся
NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4
Не указали какой ESP.Добрый вечер, уважаемые! Уже не первый день мучаюсь с новой прошивкой nodemcu. Зашивал вместе с сгенерированной прошивкой и файл esp_init_data_default.bin по адресу 0x3FC000, модуль определяется в ESPlorer, даже что-то работает. При первой прошивке скрипта выдает
Warning, deprecated API! Argument style station configuration is replaced by table style station configuration. It will be removed in the next version. See documentation for details.
При следующей прошивке, в попытках поднять банальный HTTP сервер, выдает ошибку
out of memory
И, соответсвенно, ничего не работает.
(Единственно, адекватно работает rtc.time, DHT11, DS18B20 не работают)
Пробовал прошить так, как рекомендует nikolz (вторая страница ветки). Результат, увы тот же.
Подскажите, пожалуйста, почему так происходит?
Вот такая у меня плата, вроде как ESP-12E. Адрес 0x3FC000 для 4Мб.Не указали какой ESP.
Предположу, что не правильно определили объем flash и указали адрес прошивки esp_init_data_default.bin
какая версия NODEMCUВот такая у меня плата, вроде как ESP-12E. Адрес 0x3FC000 для 4Мб.
У меня до этого была версия 0.9.5, но после того как пины не работали на вход (остальное всё работало), я решил обновить прошивку.Попробуйте для начала записать эту версию, так как она пишется просто и работает стабильно.
Потом возьмите на более поздних SDK.
Т е Вы пишите ее и esp_init_data_default.bin с помощь NODEMCUFIRMWARE programmer ( наиболее надежный загрузчик), а потом запускаете ESPlorer?У меня до этого была версия 0.9.5, но после того как пины не работали на вход (остальное всё работало), я решил обновить прошивку.
nodemcu-build.com генерирует 2.1.0 прошивку.
Да, именно так.Т е Вы пишите ее и esp_init_data_default.bin с помощь NODEMCUFIRMWARE programmer ( наиболее надежный загрузчик), а потом запускаете ESPlorer?
Что пишет eSPlorer?
Т е все нормально.Да, именно так.
ESPlorer пишет (скорость 115200)
NodeMCU custom build by frightanic.com
branch: master
commit: c8ac5cfb912ff206b03dd7c60ffbb2dafb83fe5e
SSL: false
modules: adc,dht,enduser_setup,file,gpio,http,i2c,mqtt,net,node,ow,pwm,rtcfifo,rtcmem,rtctime,sntp,spi,tmr,uart,wifi,ws2812
build built on: 2017-07-29 11:56
powered by Lua 5.1.4 on SDK 2.1.0(116b762)
lua: cannot open init.lua
esp_init_data_default.bin новый (2.1.0)
ESPlorer:в чем проблема?
это вся программа?ESPlorer:
web.lua:6: out of memory
stack traceback:
[C]: in function 'listen'
web.lua:6: in main chunk
[C]: in function 'dofile'
stdin:1: in main chunk
>
При этом код lua:
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","password")
print(wifi.sta.getip())
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
connn("receive",function(conn,payload)
--print(payload)
conn:send("<h1> Hello, NodeMcu </h1>")
end)
end)
Не взирая на эту ошибку, сервер таки иногда создается, но явно не адекватная работа прошивки.
Да, это вся программа. Специально брал из Example на оф. сайте.это вся программа?
-----------------
Полагаю, что у Вас ошибка в алгоритме программы на луа.
Полагаю у вас многократно вызывается либо соединение либо создание и это забивает память
Возможно это связано с тем что нет соединения с роутером или еще оно не установлено.
В какой-то момент ее не хватает он вам пишет
А это что за команда?)Для контроля поставьте печать свободной памяти
тогда это огрызок.Да, это вся программа. Специально брал из Example на оф. сайте.
А это что за команда?)
--[[
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
]]--
-- Your access point's SSID and password
local SSID = "xxxxxx"
local SSID_PASSWORD = "xxxxxx"
-- configure ESP as a station
wifi.setmode(wifi.STATION)
wifi.sta.config(SSID,SSID_PASSWORD)
wifi.sta.autoconnect(1)
local TWILIO_ACCOUNT_SID = "xxxxxx"
local TWILIO_TOKEN = "xxxxxx"
local HOST = "iot-https-relay.appspot.com" -- visit http://iot-https-relay.appspot.com/ to learn more about this service
-- Please be sure to understand the security issues of using this relay app and use at your own risk.
local URI = "/twilio/Messages.json"
function build_post_request(host, uri, data_table)
local data = ""
for param,value in pairs(data_table) do
data = data .. param.."="..value.."&"
end
request = "POST "..uri.." HTTP/1.1\r\n"..
"Host: "..host.."\r\n"..
"Connection: close\r\n"..
"Content-Type: application/x-www-form-urlencoded\r\n"..
"Content-Length: "..string.len(data).."\r\n"..
"\r\n"..
data
print(request)
return request
end
local function display(sck,response)
print(response)
end
-- When using send_sms: the "from" number HAS to be your twilio number.
-- If you have a free twilio account the "to" number HAS to be your twilio verified number.
local function send_sms(from,to,body)
local data = {
sid = TWILIO_ACCOUNT_SID,
token = TWILIO_TOKEN,
Body = string.gsub(body," ","+"),
From = from,
To = to
}
socket = net.createConnection(net.TCP,0)
socket:on("receive",display)
socket:connect(80,HOST)
socket:on("connection",function(sck)
local post_request = build_post_request(HOST,URI,data)
sck:send(post_request)
end)
end
function check_wifi()
local ip = wifi.sta.getip()
if(ip==nil) then
print("Connecting...")
else
tmr.stop(0)
print("Connected to AP!")
print(ip)
-- send a text message with the text "Hello from your esp8266"
send_sms("15558889944","15559998845","Hello from your ESP8266")
end
end
tmr.alarm(0,7000,1,check_wifi)
local SSID = "SSID"
local SSID_PASSWORD = "SSID_PASSWORD"
wifi.setmode(wifi.STATION)
wifi.sta.config(SSID,SSID_PASSWORD)
wifi.sta.autoconnect(1)
local function server()
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive",function(conn,payload)
print(payload)
conn:send("<h1> Hello, NodeMcu test3</h1>")
end)
end)
end
function check_wifi()
local ip = wifi.sta.getip()
if(ip==nil) then
print("Connecting...")
else
tmr.stop(0)
print("Connected to AP!")
print(ip)
server()
end
end
tmr.alarm(0,1000,1,check_wifi)
Из сообщения у Вас ошибка в модуле temp_ds18b20.lua двенадцатая строка.Спасибо.
Пытался воплотить ваши рекомендации в жизнь, но сходу возникают проблемы. Работает через раз: либо всё как и нужно, либо после создания сервера модуль ресетится.
Это скрипт так называется, с датчиком ds18b20 он не имеет ничего общего, я же код прикрепил.Из сообщения у Вас ошибка в модуле temp_ds18b20.lua двенадцатая строка.
А в приведенной Вами программе этого модуля нет.
У Вас многократно вызывается определение колбеков сервера. Вот и переполняется память.Это скрипт так называется, с датчиком ds18b20 он не имеет ничего общего, я же код прикрепил.
local SSID = "SSID"
local SSID_PASSWORD = "SSID_PASSWORD"
wifi.setmode(wifi.STATION)
wifi.sta.config(SSID,SSID_PASSWORD)
wifi.sta.autoconnect(1)
--------------------------------
while ip==nil do ip=wifi.sta.getip()
print("Connecting...")
end
print("ip="..tostring(ip))
------------------------------------
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive",function(conn,payload)
print(payload)
conn:send("<h1> Hello, NodeMcu test3</h1>")
end)
end)
------------------------
function check_wifi()
print("Connected to AP!"..tostring(ip))
end
tmr.alarm(0,1000,1,check_wifi)