sonoff touch

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

Модератор: immortal

Cadaver
Сообщения: 3
Зарегистрирован: Чт авг 31, 2017 9:12 pm
Благодарил (а): 0
Поблагодарили: 0

Re: sonoff touch

Сообщение Cadaver » Сб сен 02, 2017 8:26 pm

Ребят, разобрался из-за чего односторонняя связь была. Я прошил в первый раз с устаревшим SDK 1.3.0.
С 1.5.1 все сразу заработало!
Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai
Благодарил (а): 125 раз
Поблагодарили: 46 раз

Re: sonoff touch

Сообщение woow » Ср сен 20, 2017 9:14 am

и я вот купил для тренировки Sonoff Touch. Планы были засунуть его под выключатель в коробку но увы первая плата к.с. силовая легко помещается, а вот вторая большая и обрезать не получится.
Но интересно что вскрытие показало, я надеялся найти ESP8266, а там что-то безымянное, что это за ... .
3.jpg
3.jpg (26.5 КБ) 6638 просмотров
Raspberry Pi 3B+
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: sonoff touch

Сообщение nick7zmail » Ср сен 20, 2017 9:42 am

это esp...только не 8266, вроде 8255 или 8265...че то такое...точно не помню...но суть короче одна и та же)) wifi-iot-ом точно прошивается...думаю и другими прошивками тоже.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: sonoff touch

Сообщение VooDooN » Ср сен 20, 2017 6:56 pm

Там под крышкой ESP8285. То же самое, что и ESP8266, но со встроенной памятью. Крышку лучше не снимать, перепрошить и так можно. Лишь бы при включении замкнуть ноль и пин 0, чтобы загрузился девайс в режим прошивания. В первом посте есть фотка где какие пины.
За это сообщение автора VooDooN поблагодарил:
woow (Ср сен 20, 2017 10:26 pm)
Рейтинг: 1.16%
Nazir
Сообщения: 2
Зарегистрирован: Пн мар 06, 2017 6:53 pm
Благодарил (а): 0
Поблагодарили: 0

Re: sonoff touch

Сообщение Nazir » Вс окт 29, 2017 11:32 pm

Нашел на гитхабе готовый скетс Sonoff Touch+MQTT
СпойлерПоказать
/*
Simpleton Sonoff Touch firmware with MQTT support
Supports OTA update
David Pye (C) 2016 GNU GPL v3
*/

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

#define NAME "lswitch0"
#define SSID "SSID"
#define PASS "PASSWORD"

//Defaults to DHCP, if you want a static IP, uncomment and
//configure below
//#define STATIC_IP
#ifdef STATIC_IP
IPAddress ip(192, 168, 0, 50);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 0, 0);
#endif

#define MQTT_SERVER "192.168.0.1"
#define MQTT_PORT 1883

#define OTA_PASS "UPDATE_PW"
#define OTA_PORT 8266

const char *cmndTopic1 = "cmnd/" NAME "/light";
const char *cmndTopic2 = "cmnd/group/lights";
const char *statusTopic = "status/" NAME "/light";

#define BUTTON_PIN 0
#define RELAY_PIN 12
#define LED_PIN 13

volatile int desiredRelayState = 0;
volatile int relayState = 0;
volatile unsigned long millisSinceChange = 0;

unsigned long lastMQTTCheck = -5000; //This will force an immediate check on init.

WiFiClient espClient;
PubSubClient client(espClient);
bool printedWifiToSerial = false;

void initWifi() {
// We start by connecting to a WiFi network
Serial.println();
Serial.print("Connecting to ");
Serial.println(SSID);
#ifdef STATIC_IP
WiFi.config(ip, gateway, subnet);
#endif

WiFi.begin(SSID, PASS);
}

void checkMQTTConnection() {
Serial.print("Checking MQTT connection: ");
if (client.connected()) Serial.println("OK");
else {
if (WiFi.status() == WL_CONNECTED) {
//Wifi connected, attempt to connect to server
Serial.print("new connection: ");
if (client.connect(NAME)) {
Serial.println("connected");
client.subscribe(cmndTopic1);
client.subscribe(cmndTopic2);
} else {
Serial.print("failed, rc=");
Serial.println(client.state());
}
}
else {
//Wifi isn't connected, so no point in trying now.
Serial.println(" Not connected to WiFI AP, abandoned connect.");
}
}
//Set the status LED to ON if we are connected to the MQTT server
if (client.connected()) digitalWrite(LED_PIN, LOW);
else digitalWrite(LED_PIN, HIGH);
}

void MQTTcallback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.println("] ");

if (!strcmp(topic, cmndTopic1) || !strcmp(topic, cmndTopic2)) {
if ((char)payload[0] == '1' || ! strncasecmp_P((char *)payload, "on", length)) {
desiredRelayState = 1;
}
else if ((char)payload[0] == '0' || ! strncasecmp_P((char *)payload, "off", length)) {
desiredRelayState = 0;
}
else if ( ! strncasecmp_P((char *)payload, "toggle", length)) {
desiredRelayState = !desiredRelayState;
}
}
}

void shortPress() {
desiredRelayState = !desiredRelayState; //Toggle relay state.
}

void longPress() {
desiredRelayState = !desiredRelayState; //Toggle relay state.
}

void buttonChangeCallback() {
if (digitalRead(0) == 1) {
//Button has been released, trigger one of the two possible options.
if (millis() - millisSinceChange > 500) {
longPress();
}
else if (millis() - millisSinceChange > 100){
//Short press
shortPress();
}
else {
//Too short to register as a press
}
}
else {
//Just been pressed - do nothing until released.
}
millisSinceChange = millis();
}

void setup() {
Serial.begin(115200);
Serial.println("Initialising");
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);

digitalWrite(LED_PIN, HIGH); //LED off.

initWifi();

client.setServer(MQTT_SERVER, MQTT_PORT);
client.setCallback(MQTTcallback);

//OTA setup
ArduinoOTA.setPort(OTA_PORT);
ArduinoOTA.setHostname(NAME);
ArduinoOTA.setPassword(OTA_PASS);
ArduinoOTA.begin();
//Enable interrupt for button press

Serial.println("Enabling touch switch interrupt");
attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), buttonChangeCallback, CHANGE);
}

void loop() {
//If we haven't printed WiFi details to Serial port yet, and WiFi now connected,
//do so now. (just the once)
if (!printedWifiToSerial && WiFi.status() == WL_CONNECTED) {
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
printedWifiToSerial = true;
}

if (millis() - lastMQTTCheck >= 5000) {
checkMQTTConnection();
lastMQTTCheck = millis();
}

//Handle any pending MQTT messages
client.loop();

//Handle any pending OTA SW updates
ArduinoOTA.handle();

//Relay state is updated via the interrupt *OR* the MQTT callback.
if (relayState != desiredRelayState) {
Serial.print("Changing state to ");
Serial.println(desiredRelayState);

digitalWrite(RELAY_PIN, desiredRelayState);
relayState = desiredRelayState;

Serial.print("Sending MQTT status update ");
Serial.print(relayState);
Serial.print(" to ");
Serial.println(statusTopic);

client.publish(statusTopic, relayState == 0 ? "0" : "1");
}
delay(50);
}
https://github.com/davidmpye/Sonoff-Tou ... c/main.cpp

Мои выключатели еще в пути. У кого есть в наличии отпишитесь, нагревается ли он при работе? Есть ли смысл пытаться приколхозить вовнутрь датчики температуры (сообразив вентиляционные отверстия)?
VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

Re: sonoff touch

Сообщение VladPTZ » Пт фев 16, 2018 9:23 am

Sonoff T1 двух клавишный.
Простоял 2-3 недели и отклеилось стекло.
СпойлерПоказать
IMG_20180216_085612.jpg
IMG_20180216_085612.jpg (233.07 КБ) 6007 просмотров
Обратно я так понимаю просто приклеить как было смысла нет, т.к думаю если раз отклеилось то отклеится снова и разобьется об пол.

Как надежно приклеить стекло но не испортить, чтобы пятен не было.
Была мысль на клей момент приклеить.
На двухсторонний скотч не охота клеить т.к нужной толщины нет и сомнение в плане надежности.
Есть идеи?
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am
Благодарил (а): 24 раза
Поблагодарили: 18 раз

Re: sonoff touch

Сообщение Берендей » Пт фев 16, 2018 9:39 am

Лучше все же найти тонкий скотч, к примеру такой, какой используют в ремонте мобильных. Хороший двухсторонний скотч клеится очень надежно.
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: sonoff touch

Сообщение nick7zmail » Пт фев 16, 2018 11:09 am

Соглашусь. М3 фирма делает такие...вроде неплохие...главное найти место, где продают...это уже сложнее.

Отправлено с моего Xperia XZ1 Compact через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: sonoff touch

Сообщение directman66 » Пт фев 16, 2018 11:12 am

nick7zmail писал(а): М3
3М )
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
TrDA
Сообщения: 147
Зарегистрирован: Ср сен 27, 2017 9:13 pm
Откуда: MSK
Благодарил (а): 235 раз
Поблагодарили: 38 раз

Re: sonoff touch

Сообщение TrDA » Пт фев 16, 2018 8:49 pm

VladPTZ писал(а):Sonoff T1 двух клавишный.
Обратно я так понимаю просто приклеить как было смысла нет, т.к думаю если раз отклеилось то отклеится снова и разобьется об пол.
Я сегодня специально!!! пытался стекло - отклеить, так и не смог аккуратно сделать - очень крепко скотч держит (отклеил конечно, но поцарапал).
Размер моего пластикового EU стекла 86*86мм, по размера подходит Livilo UK, но - они стёкла UK отдельно не продают - только EU стекла 80*80мм, есть идеи чем заменить?
VladPTZ писал(а):Sonoff T1 двух клавишный.
Как надежно приклеить стекло но не испортить, чтобы пятен не было.
На двухсторонний скотч не охота клеить т.к нужной толщины нет и сомнение в плане надежности.
Есть идеи?
1. Супер тонкий двухсторонний скоч (0.05 мм), себе уже заказал 10мм шириной:
https://ru.aliexpress.com/store/product ... 5c7eS07L04
2. Тонкий двухсторонний скоч (0.2 мм):
https://ru.aliexpress.com/item/0-2mm-th ... dc62&tpp=1
Последний раз редактировалось TrDA Вс фев 18, 2018 8:58 pm, всего редактировалось 2 раза.
Всем удачи.
Спрашивайте - не стесняйтесь.
Ответить