Валентин
void wifi_htm(void){HTTP.send(200,"text/html",WiFi.RSSI());}😇
Sneg.
Валентин
скиньте исходники без своих данных
Sneg.
Ок мин
Валентин
https://youtu.be/sDqsRT4hR5M
Валентин
с телеграмом пришел к выводу что достаточно один токен на все устройства, нужно только им уникальные имена присвоить и каждый будет отвечать только на свои обращения
Валентин
допустим создаем бота через фазера "Rollet" его токен загоняем в устройства а имена им даем "Rollet1" "Rollet2" и тд И когда нам нужно будет к какомуто обратится то мы пишим "/start@Rollet2"
Михаил
Во как! Спасибо.
Валентин
прослушка происходит по токену
Валентин
а ответ мы делаем по имени
Sergey
Главное, чтобы они не захватили дом и не требовали выкуп потом😁
Валентин
вы такой остроумный😉 оптимист
Михаил
С телеграмм работаете через библиотеку Arduino ide?
Валентин
там две та что попроще и чуток подправил
Валентин
void teleg_xml(void) {
String strToken((char*)customVar.token);
String strName((char*)customVar.name);
String telegramXml = "<?xml version=\"1.0\" encoding=\"windows-1251\"?>\n<telegram>\n\t<name>"
+ strName
+ "</name>\n\t<token>" + strToken
+ "</token>\n\t<chatId>" + customVar.chatId
+ "</chatId>\n</telegram>";
HTTP.send(200,"text/xml",telegramXml);
}
void send_status(void){
String str((char*)customVar.name);
String uaStr = "зупиняю ролет " + str;
if (0 <= jStatus.indexOf("up")) uaStr = "відкриваю ролет " + str;
if (0 <= jStatus.indexOf("down")) uaStr = "закриваю ролет " + str;
bot.sendMessage(String(customVar.chatId), uaStr, "");
}
void Bot_EchoMessages() {
int stopRun = customVar.protTime;
if (stopRun <= 0) stopRun = PROTECTION_TIME;
for (int i = 1; i < bot.message[0][0].toInt() + 1; i++) {
if (bot.message[i][4].toInt() == customVar.chatId) {
String str((char*)customVar.name);
if (0 <= bot.message[i][5].indexOf(str)) {
if (0 <= bot.message[i][5].indexOf("up")) rollet_move("up", stopRun);
if (0 <= bot.message[i][5].indexOf("down")) rollet_move("down", stopRun);
if (0 <= bot.message[i][5].indexOf("stop")) rollet_move("stop", 0);
if (0 <= bot.message[i][5].indexOf("lastOp")) send_status();
if (0 <= bot.message[i][5].indexOf("start")) {
String wellcome = "команди ролету " + str
+ "&reply_markup={%22inline_keyboard%22:%20[[{%22text%22:%20%22відкрити%22,%20%22callback_data%22:%20%22/up@" + str
+ "%22}],[{%22text%22:%20%22закрити%22,%20%22callback_data%22:%20%22/down@" + str
+ "%22}],[{%22text%22:%20%22зупинити%22,%20%22callback_data%22:%20%22/stop@" + str
+ "%22}],[{%22text%22:%20%22остання операція%22,%20%22callback_data%22:%20%22/lastOp@" + str
+ "%22}]]}";
bot.sendMessage(String(customVar.chatId), wellcome, "");
}
}
}
}
bot.message[0][0] = ""; // All messages have been replied - reset new messages
}
void teleg_init(void) {
String str((char*)customVar.token);
bot.setToken(str);
bot.begin(); // launch Bot functionalities
String str_name((char*)customVar.name);
bot.sendMessage(String(customVar.chatId), "привіт усім " + str_name, "");
}
void teleg_loop(void) {
if (chengStat) {
send_status();
chengStat = false;
}
if (millis() > Bot_lasttime + Bot_mtbs) {
bot.getUpdates(bot.message[0][1]); // launch API GetUpdates up to xxx message
Bot_EchoMessages(); // reply to message with Echo
Bot_lasttime = millis();
}
}
Валентин
#include <ESP8266TelegramBOT.h>
Sergey
Sergey
Esp32
Валентин
// Initialize Telegram BOT
TelegramBOT bot;
int Bot_mtbs = 1000; //mean time between scan messages
long Bot_lasttime; //last time messages' scan has been done
struct MyObject{
int dhc;
IPAddress statIp;
int protTime;
int chatId;
char token[46];
char name[46];
};
MyObject customVar;
Repost-from-vk
Используйте /start или /stop, чтобы управлять вашей подпиской на @arduino_esp_bot .
Валентин
Михаил
Спасибо. Под LUA библиотека не встречалась? (Телеграмм)
Валентин
Repost-from-vk
Используйте /start или /stop, чтобы управлять вашей подпиской на @arduino_esp_bot .
Валентин
Валентин
она хороша но для начального уровня
Sergey
/start@arduino_esp_bot
Repost-from-vk
Вы уже подписаны на @arduino_esp_bot.
Используйте /stop чтобы отписаться
Repost-from-vk
Используйте /start или /stop, чтобы управлять вашей подпиской на @arduino_esp_bot .
Sergey
Хех
Михаил
Как боретесь со стабильностью esp. Перезагрузки есть?
Sergey
Михаил
32 не пробовал, работаю с 8266.
Sergey
Валентин
Валентин
вот так вышло
Sergio
У меня только примитивные скетчи на 8266 работают стабильно. Если есть какие то потребляющие монолитные куски процессорного времени функции, прощай стабильность. Или покупать прошивки от известных ребят
https://wifi-iot.com/p/wiki/129/ru/
Или юзать esp32 и не жлобиться парой сотней рублей в разнице цены 8266 и 32, что в итоге сэкономит вам больше времени и сил
WhoAMe
WhoAMe
8266 не стабильна??! Ребят, походу кто-то писать код не умеет 😁
WhoAMe
Это при том, что у меня регулярно перезагружается роутер и я обновляю на нем конфиги.
Sergey
А давно аптайм 47 дней стал показательным ?
Sergey
Я думал от года )
Sergey
Ну для мелкой простительно - от полугода хотя бы
Sergey
Я могу роутера скинут аптайм несколько лет ))) микротик он такой )
WhoAMe
Ну было до восьмидесяти с чем то, но свет выключали 🤗
Sergey
Ivan
Раз на раз не приходится. У меня телеграм-бот, втсроенный в стиральную машинку месяцами работает без сбоев, а вот управлялка жалюзями регулярно глючит
Sergey
WhoAMe
Sergey
И маршрутизации
Sergey
WhoAMe
А... Тогда ясно. А я взял топовый soho - hap ac, но это рукалицо. Железо как на 12$ китайце.
Sergey
Sergey
Они очень даже ничего железки, ценник даже не падает (((
WhoAMe
Мне AC нужен. И я когда покупал даже подумать не мог, что на среднем hap будет 128мб ПЗУ, а на топовом - 16мб. И уж точно не думал, что со всеми наворотами прошивки приходится выбирать: ИЛИ файрволл, или нормальные 200Мбит WAN
WhoAMe
Потому что и то и то цпу тупо не тянет
Sergey
Sergey
И там проц отличный
WhoAMe
С АС как раз hap ac, 962. А 951 вроде без
Sergey
А ещё мне нравится с sfp вариант
Sergey
WhoAMe
И там проц отличный
Дерьмо там полное, а не проц. При отключении фасттрэка он не вытягивает 10 потоков на 140мбит в сумме. Это стыд.
Sergey
Sergey
Ему ж и цена вроде 1200
WhoAMe
А при рабочем фасттрек тупо игнорируются правила файрволла.
WhoAMe
Hap ac мне обошёлся в 7500
Sergey
Ты где брал ?
WhoAMe
В плеере
WhoAMe
Одна из лучших цен
WhoAMe
В остальных от 8к
WhoAMe
Сейчас он рублей на 600 прдешевел
Sergey
Фу
Sergey
Лан март
WhoAMe
И почем?
Sergey
Глянь, я тебе так не скажу ) Машину делаю