Slava
тут два геркона, но непонятна механика
Slava
я думаю лучший вариант 2 концевика или 1 двухпозиционный, только нужно придумать как их механически поставить
Alexey D.
Да... Спасибо.
Идея хорошая. Надо проверить работу на тонких магнитах
Slava
не забывай что есть датчик хола
Alexey D.
На 3.3в питания их оказалось очень мало в ассортименте :(
Точнее аж целый 1
Alexey D.
Drv5053
Slava
датчик линии!!!
Slava
https://iarduino.ru/shop/Sensory-Datchiki/datchik-linii-analogovyy-trema-modul.html
Slava
во! черым маркером нарисуешь полоску на шторе 😀
Sneg.
Можно подробнее, как организовать?
Sneg.
Сделал через vpn создал бота, он не отвечает даже на внутренние команды
Sneg.
Хотя все работает, сообщения он получает
Sneg.
Молчит
Alexey D.
Ну может он их не отправляет просто?) Как я понимаю, боты что получение ,то отправку делают одним и тем же Макаром - обращением к серверу по хттп
Sneg.
Хз
Sneg.
Все правильно сделал, бот создался
Sneg.
Не отвечает даже на команду /start
Alexey D.
А в логе есп видно что оно его получило и что-то ответило?
Sneg.
Дак нет, он же должен с телефона даже ответить в телефон
Sneg.
А он молчит
Sneg.
Он должен ответить на команду /start
Alexey D.
Он не должен.
Alexey D.
Нужно получить сообщение и ответить на него через апи бота
Sneg.
Sneg.
Я с телефона отправляю сообщение, он должен ответить
Alexey D.
А ну...) Роскомнадзор видимо. Уверены что у вас впн нормально пашет?
Sneg.
Alexey D.
Он пытается получить новые сообщения с сервера и не может.
Sneg.
С компа
Sneg.
С компа же и отправляю боту /start
Sneg.
Он должен ответить
Alexey D.
Sneg.
Везде
Slava
значит на роутере не работает
Sneg.
Дак на компе работает и я с компа отправляю
Sneg.
Slava
код покажи
Sneg.
#include <Wire.h>
#include <SI7021.h>
#include <ESP8266TelegramBOT.h>
#include <ESP8266WiFi.h>
const char* ssid = "ASUS3";
const char* password = "1111111111";
// Initialize Telegram BOT
#define BOTtoken "872447262:AAGWMiiyVFn9mOuRoSGgZsI2g4JVLJcuSrM" //тут должен быть ваш токен
#define BOTname "SnegEsp_bot" // имя бота
#define BOTusername "SnegEsp_bot" //username бота
#define SDA 4 // GPIO4 on ESP module
#define SCL 5 // GPIO5 on ESP module
TelegramBOT bot(BOTtoken, BOTname, BOTusername);
int Bot_mtbs = 1000; //mean time between scan messages
long Bot_lasttime; //last time messages' scan has been done
bool Start = false;
SI7021 sensor;
void Bot_ExecMessages() {
for (int i = 1; i < bot.message[0][0].toInt() + 1; i++) {
bot.message[i][5]=bot.message[i][5].substring(1,bot.message[i][5].length());
if (bot.message[i][5] == "temp") { // ОБЯЗАТЕЛЬНО ПЕРЕД СООБЩЕНИЕМ В ТЕЛЕГРАММЕ СТАВИМ ЗНАК: / ПРИМЕР: /temp
float temp = sensor.getCelsiusHundredths()/100.0; //измерение температуры
bot.sendMessage(bot.message[i][4], "Temp:" +String(temp), ""); //отправка сообщения боту
}
if (bot.message[i][5] == "hum") { // ОБЯЗАТЕЛЬНО ПЕРЕД СООБЩЕНИЕМ В ТЕЛЕГРАММЕ СТАВИМ ЗНАК: / ПРИМЕР: /hum
float hum = sensor.getHumidityPercent()*1.1; //измерение влажности
bot.sendMessage(bot.message[i][4], "Hum:" +String(hum), ""); //отправка сообщения боту
}
}
bot.message[0][0] = ""; // All messages have been replied — reset new messages
}
void setup() {
sensor.begin(SDA,SCL);
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
bot.begin(); // launch Bot functionalities
}
void loop() {
if (millis() > Bot_lasttime + Bot_mtbs) {
bot.getUpdates(bot.message[0][1]); // launch API GetUpdates up to xxx message
Bot_ExecMessages(); // reply to message with Echo
Bot_lasttime = millis();
}
}
Sneg.
У кого работает можете попробовать с моим токеном?
Slava
он понимает temp hum
Slava
/start не понимает
Sneg.
Раньше этот код работал
Slava
команду temp пошди ему
Sneg.
У меня есп не соединяется с серером бота как я понял
Sneg.
Start это системная команда
Sneg.
Он ее автоматом понимает
Slava
нет
Slava
if (bot.message[i][5] == "temp")
Slava
if (bot.message[i][5] == "hum")
Slava
он понимает только это
Sneg.
Alexey D.
Хоспади. Да включите вы отладку глубже.
На скрине явная ошибка. Деталей этой ошибки нет. А они нужны
Sneg.
Чего включить?
Alexey D.
Sneg.
И как?
Alexey D.
В код библиотеки залезть и посмотреть.
Вроде бы в ардуино нет уровней отладки
Alexey D.
Найди где в коде failed to get update и посмотри откуда оно идёт. Оберени каждый кусочек в отладку
Alexey D.
Типа "открыть сокет" - ок или не ок... сверить сертификат - ок или не ок. Отправить запрос - ок или не ок. И так далее
Slava
попробуй на других ботах, UniversalTelegramBot например
Slava
Sneg.
Сейчас попробую
Slava
https://github.com/witnessmenow/Universal-Arduino-Telegram-Bot
Slava
https://github.com/witnessmenow/Universal-Arduino-Telegram-Bot/blob/master/examples/ESP8266/EchoBot/EchoBot.ino
Slava
EchoBot - хорошо подойдет для проверки
Slava
подсказка ... bool _debug = false; в файле UniversalTelegramBot.h сделать true
Sneg.
Не работает, ни тот ни другой
Sneg.
Нашел с телефона ботов, отправляю им сообщения они молчат
Sneg.
То же эхо боты
Sneg.
Отправляю с телефона и компа
Slava
vpn проверь
Sneg.
Дак папа-бот который создает ботов работает же и присылает сообщения мне
Sneg.
Значит впн робит
Slava
в телефон?
Sneg.
И на комп и в телефон
Slava
в телефоне и на компе в телеграме встроенные прокси
Sneg.
Ладно, я спать, утро вечера мудренее. Спасибо всем
Sneg.
Еще пока не забыл, кто нибудь привязывал сим800 к esp?
Sneg.
8266 или 32