sonoff touch

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

Модератор: immortal

schumaher87
Сообщения: 38
Зарегистрирован: Пт мар 24, 2017 6:22 am
Благодарил (а): 3 раза
Поблагодарили: 0

Re: sonoff touch

Сообщение schumaher87 » Чт мар 30, 2017 11:22 am

вопрос века, вы перепрошивали выключатели? если да то как? у меня после прошивки wifi-iot он умер не стратует, да и mcu тоже не стартует, уже незнаю что делать.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: sonoff touch

Сообщение directman66 » Чт мар 30, 2017 1:29 pm

directman66 писал(а):. Единственный ньюанс, требуется выбрать spi mode dout, иначе модуль не стартует.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
schumaher87
Сообщения: 38
Зарегистрирован: Пт мар 24, 2017 6:22 am
Благодарил (а): 3 раза
Поблагодарили: 0

Re: sonoff touch

Сообщение schumaher87 » Чт мар 30, 2017 2:43 pm

directman66 писал(а):
directman66 писал(а):. Единственный ньюанс, требуется выбрать spi mode dout, иначе модуль не стартует.
попробую спасибо.
schumaher87
Сообщения: 38
Зарегистрирован: Пт мар 24, 2017 6:22 am
Благодарил (а): 3 раза
Поблагодарили: 0

Re: sonoff touch

Сообщение schumaher87 » Чт мар 30, 2017 5:27 pm

Добрый вечер, короче попа, с wifi-iot вообще не стартует с луа стартует но надо видимо переписывать код в чём я не силён
вот что пишет, может кто помочь а то я уже отчаялся.
(> dofile("init.lua")
init.lua:20: bad argument #1 to 'config' (string expected, got nil)
stack traceback:
[C]: in function 'config'
init.lua:20: in main chunk
[C]: in function 'dofile'
stdin:1: in main chunk
)
СпойлерПоказать
WIFI_SSID = ""
WIFI_PASS = ""
MQTT_BrokerIP = "192.168.1.100"
MQTT_BrokerPort = 1883
MQTT_ClientID = "esp-011"
MQTT_Client_user = "user"
MQTT_Client_password = "password"
MQTT_RelayTopicPath = "/ESP/Relays/"
MQTT_Relay_ID = "001"
RELAY_PIN = 10
LED_PIN = 12
BUTTON_PIN = 15
--DHT_PIN = 7

gpio.mode(RELAY_PIN, gpio.OUTPUT)
gpio.mode(LED_PIN, gpio.OUTPUT)
gpio.mode(BUTTON_PIN, gpio.INPUT)
gpio.write(RELAY_PIN, gpio.LOW)
gpio.write(LED_PIN, gpio.HIGH)
wifi.setmode(wifi.STATION)
wifi.sta.config(WIFI_SSID, WIFI_PASS)
wifi.sta.connect()

local wifi_status_old = 0
local RelayState_old = 0
local ButtonState_old = 0

local function switchRelay(id, state)
if (id == MQTT_Relay_ID) then
if (state == 0) or (state == "0") or (string.lower(state) == "off") then
if (RelayState_old == 1) then
RelayState_old = 0
gpio.write(RELAY_PIN, gpio.LOW)
gpio.write(LED_PIN, gpio.HIGH)
--print("RELAY OFF")
if (m ~= nil) then
m:publish(MQTT_RelayTopicPath..MQTT_Relay_ID, "0", 0, 1, function(conn)
--print("Relay state sent")
end)
end
end
else
if (RelayState_old == 0) then
RelayState_old = 1
gpio.write(RELAY_PIN, gpio.HIGH)
gpio.write(LED_PIN, gpio.LOW)
--print("RELAY ON")
if (m ~= nil) then
m:publish(MQTT_RelayTopicPath..MQTT_Relay_ID, "1", 0, 1, function(conn)
--print("Relay state sent")
end)
end
end
end
end
end

-- Сканирование состояния кнопки из таймера 2
tmr.alarm(2, 100, tmr.ALARM_AUTO, function()
local ButtonState = gpio.read(BUTTON_PIN)

-- Нажатие кнопки (задний фронт на gpio0)
if (ButtonState == 0) and (ButtonState_old == 1) then
--print("Button pressed")
if (RelayState_old == 0) then
switchRelay(MQTT_Relay_ID, 1)
else
switchRelay(MQTT_Relay_ID, 0)
end
end
ButtonState_old = ButtonState
end)

tmr.alarm(0, 5000, 1, function()
print("tmr0 "..wifi_status_old.." "..wifi.sta.status())

if wifi.sta.status() == 5 then -- подключение есть
if wifi_status_old ~= 5 then -- Произошло подключение к Wifi, IP получен
print(wifi.sta.getip())

m = mqtt.Client(MQTT_ClientID, 120, MQTT_Client_user, MQTT_Client_password)

-- Определяем обработчики событий от клиента MQTT
m:on("connect", function(client) print ("connected") end)
m:on("offline", function(client)
tmr.stop(1)
print ("offline")
end)
m:on("message", function(client, topic, data)
--print(topic .. ":" )
if data ~= nil then
--print(data)
end

local _, RelayPos = string.find(topic, MQTT_RelayTopicPath.."(%w)")
local Relay = string.sub(topic, RelayPos)
--print(Relay)
if data ~= nil then
switchRelay(Relay, data)
end
end)

m:connect(MQTT_BrokerIP, MQTT_BrokerPort, 0, 1, function(conn)
print("connected")

-- Подписываемся на топики если нужно
m:subscribe(MQTT_RelayTopicPath.."#",0, function(conn)
print("Subscribed!")
end)

tmr.alarm(1, 3000, 1, function()
-- Делаем измерения, публикуем их на брокере
--local status,temp,humi,temp_decimal,humi_decimal = dht.read(DHT_PIN)

--if (status == dht.OK) then
-- print("Temp: "..temp.."."..temp_decimal.." C")
-- print("Hum: "..humi.."."..humi_decimal.." %")
-- m:publish("/ESP/DHT/TEMP", temp.."."..temp_decimal, 0, 0, function(conn) print("sent") end)
-- m:publish("/ESP/DHT/HUM", humi.."."..humi_decimal, 0, 0, function(conn) print("sent") end)
--end
end)
end)
else
-- подключение есть и не разрывалось, ничего не делаем
end
else
print("Reconnect "..wifi_status_old.." "..wifi.sta.status())
tmr.stop(1)
wifi.sta.connect()
end

-- Запоминаем состояние подключения к Wifi для следующего такта таймера
wifi_status_old = wifi.sta.status()
end)
schumaher87
Сообщения: 38
Зарегистрирован: Пт мар 24, 2017 6:22 am
Благодарил (а): 3 раза
Поблагодарили: 0

Re: sonoff touch

Сообщение schumaher87 » Чт мар 30, 2017 8:18 pm

вообщем после заливки луа стартанул, но есть косяк если не указывать точку доступа всё норм выключатель работает, но если указать точку доступа и пароль то после подключения он ребутается вот что пишет
СпойлерПоказать
NodeMCU custom build by frightanic.com
branch: master
commit: b96e31477ca1e207aa1c0cdc334539b1f7d3a7f0
SSL: true
modules: file,gpio,net,node,tmr,uart,wifi,tls
build built on: 2017-03-30 15:19
powered by Lua 5.1.4 on SDK 2.0.0(656edbf)
> tmr0 0 1
Reconnect 0 1
tmr0 1 5
192.168.1.79 255.255.255.0 192.168.1.1
PANIC: unprotected error in call to Lua API (init.lua:81: attempt to index global 'mqtt' (a nil value))

ets Jan 8 2013,rst cause:1, boot mode:(3,6)

load 0x40100000, len 27144, room 16
tail 8
chksum 0x6d
load 0x3ffe8000, len 2408, room 0
tail 8
chksum 0x40
load 0x3ffe8968, len 136, room 0
tail 8
chksum 0x39
csum 0x39
Њвњ
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: sonoff touch

Сообщение directman66 » Пт мар 31, 2017 7:30 am

все заливается без проблем, ставите галочки
MQTT клиент
MajorDoMo и другие
WI-FI индикатор ставите в настройках 13 gpio
Web KEY
GPIO
Работа с прерываниями
Настройки по умолчанию прописываете свою точку доступа

Внимание, если выбрать OTA, то прошивка не шьется

далее сохраняете, компилируете и скачиваете два файла 0x00000.bin 0x40000.bin
через esp8266flasher по нужным адресам заливаете прошивку из двух файлов
настройки
9600
1mbite
40 mhz
spi mode dout

после чего модуль должен загрузиться

пробовал нагрузить дополнительными функциями, наблюдались тормоза, поэтому думаю другие галочки можно ставить только при сильной нужде.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: sonoff touch

Сообщение MaksMS82 » Пт мар 31, 2017 8:55 am

sonoff touch собран не на чипе 8266 , а на варианте со встроенной флеш памятью на 1 мегабайт, по этому тут есть специфика своя, например режим spi mode dout , так же из-за этого прошивка может работать медленее

Прошивка с ОТА или без ОТА прошиваться должна в любом случае, единственно что, с ОТА может не стартануть, хотя от пользователей жалоб не замечено.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: sonoff touch

Сообщение directman66 » Пт мар 31, 2017 8:59 am

MaksMS82 писал(а): Прошивка с ОТА или без ОТА прошиваться должна в любом случае, единственно что, с ОТА может не стартануть, хотя от пользователей жалоб не замечено.
Всякие варианты испробованы, как только добавляю ота ключ, в момент прошивки происходит сбой и прошивка прекращается. Убрав ОТА прошивка заливается. Такая-же проблема наблюдается и при заливке прошивок в ITEAD SONOFF RF. Если кому-то удалось залить прошивки в них с режимом OTA, поделитесь методом, как вам это удалось.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
schumaher87
Сообщения: 38
Зарегистрирован: Пт мар 24, 2017 6:22 am
Благодарил (а): 3 раза
Поблагодарили: 0

Re: sonoff touch

Сообщение schumaher87 » Пт мар 31, 2017 1:44 pm

вечером опробую, все методы, потом отпишусь.
schumaher87
Сообщения: 38
Зарегистрирован: Пт мар 24, 2017 6:22 am
Благодарил (а): 3 раза
Поблагодарили: 0

Re: sonoff touch

Сообщение schumaher87 » Пт мар 31, 2017 5:51 pm

короче, wifi-iot не завёлся зато завелся на луа, чему доволен, всё работает как надо, нашол ошибки из предыдущий постов, если кому надо опишу и скину скрипт, скрипт не мой, если кто шарит в луа подскажите как дописать чтобы лампочка вай фая работала всегда, пока не понял как это сделать.
Ответить