Не работает последний эксперемент telegram-bot в йодо интернет вещей

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Сасмин, 4 сен 2019.

  1. Сасмин

    Сасмин Нуб

    Проблема такая: при заливе кода в плату пишет
    Uncaught InternalError: Failed! mbedtls_ssl_handshake returned -0x1
    >
    что делать?
     
  2. NikitOS

    NikitOS Public enemy Администратор

    А Вы про блокировку Телеграм слышали?
     
  3. Сасмин

    Сасмин Нуб

    Не согласен: его не заблокировали, и еще internalError - это ошибка уровня ЯДРА.
     
  4. NikitOS

    NikitOS Public enemy Администратор

    Ага, а мы живем в иллюзии, и в интернете про это одна ложь

     
  5. Сасмин

    Сасмин Нуб

    а где ответ?
     
  6. NikitOS

    NikitOS Public enemy Администратор

    А на основе чего я должен сделать ответ?
    Кода нет, ничего нет, я ж не с хрустальным шаром

    Но за #3 спасибо, посмеялся
     
  7. Сасмин

    Сасмин Нуб

    Код (Javascript):

    var bot = require('[USER=5565]@amperka[/USER]/telegram').create({
      token:'940064041 :AAE7CASrQcDySqbl2MmiEtLCeFxfP2UfD0k'
    });
    var light = require('[USER=5565]@amperka[/USER]/led').connect(P3);

    bot.on('/start', function(msg) {
      var keyboard = bot.keyboard([
        ['/TurnOff', '/TurnOn'],
      ], { resize: true });
      bot.sendMessage(msg.from.id, 'Light control', {
        markup: keyboard
      });
    });

    bot.on('/TurnOff', function(msg) {
      light.turnOff();
      bot.sendMessage(msg.from.id, 'Light is off');
    });

    bot.on('/TurnOn', function(msg) {
      light.turnOn();
      bot.sendMessage(msg.from.id, 'Light is on');
    });

    var wifi = require('[USER=5565]@amperka[/USER]/wifi').setup(function(err) {
      wifi.connect(SSID, PASSWORD, function(err) {
        console.log(' ready!');
        bot.connect();
      });
    });
     
    Последнее редактирование: 18 сен 2019
  8. SergeiL

    SergeiL Оракул Модератор

    Ну если поиск по форуму не работает - повторю, www.telegram.org у Вас открывается?
     
    NikitOS нравится это.
  9. NikitOS

    NikitOS Public enemy Администратор

    Ага, аткрываеца
     

    Вложения:

  10. Сасмин

    Сасмин Нуб

    тоже самое...
     
  11. Сасмин

    Сасмин Нуб

    и ошибка ничего не меняет: все равно не работает, причем ошибка такая же.
     
  12. Сасмин

    Сасмин Нуб

    через приложение работает.
     
  13. NikitOS

    NikitOS Public enemy Администратор

    Телеграм? Ну да, он так умеет
    А с чего оно заработать должно?
     
  14. Наступил на ту же проблему. @BAR_MEN, зря проблему списываешь на блокировку телеграма (как и в соседних топиках про mbedtls_ssl_handshake).

    Настроил свой роутер по мануалу - теперь все мои мобильные устройства должны работать через один из финских серверов.
    Чтобы убедиться, что iskra js теперь ходит в интернет через Финляндию, запускаю такую программку:

    Код (Javascript):
    var wifi = require('@amperka/wifi').setup(function(err) {
      wifi.connect(SSID, PASSWORD, function(err) {
        require('http')
           .get('http://ip-api.com/json/', logResponse)
          .on('error', e => console.log("ip-api error", e));
      });
    });

    function logResponse(res) {
      var contents = "";
      res.on('data', data => contents += data);
      res.on('close', () => console.log(contents));
    }
     
    Всё норм: получили финский IP и находимся в Хельсинки.
    Обратите внимание, что запрашивается HTTP-ресурс. Попробуем сходить куда-нибудь ещё, но по HTTPS. Вместо http://ip-api.com/json на https://www.wikipedia.org. Получим:
    Если посмотреть код @amperka/telegram , то видно, что в telegram мы ходили по https всегда. Я предположил, что telegram выпилил поддержку старых TLS. Погуглил новости про это и нашел похожий тред у https://github.com/witnessmenow/Universal-Arduino-Telegram-Bot/issues/139

    Так вот, дело-то не блокировках, а в том, что сейчас wifi troyka module не умеет в TLS 1.2? Как это опровергнуть/подтвердить?
     
    Последнее редактирование: 4 май 2020
    Un_ka нравится это.
  15. ZAZ-965

    ZAZ-965 Гуру

    @Алексей Смирнов, судя по параметрам сборки Iskra js https://github.com/amperka/espruino-modcat/blob/master/json/ISKRAJS.json - Espruino собирается без поддержки SHA-256, a Telegram его требует. Пример из файла параметров сборки под Linux
    Код (Bash):
       'libraries' : [
         'NET',
         'TENSORFLOW',
         'GRAPHICS',
         'FILESYSTEM',
         'CRYPTO','SHA256','SHA512',
         'TLS',
         'TELNET',
       ],
     
    Алексей Смирнов нравится это.
  16. SergeiL

    SergeiL Оракул Модератор

    А если с компа через этот роутер зайти на https://telegram.org открывается станица?
     
  17. Интересная мысль, пока слёту не понял как можно пересобрать iskrajs с sha-256. Вечером погляжу, спасибо.

    Конечно. Если я не могу сходить на wikipedia.org с iskra.js, то дело точно не блокировках РКН.
    Перепроверил на всякий случай, среди заблокированных ресурсов РКН википедии нет.
     
  18. SergeiL

    SergeiL Оракул Модератор

    Я микротик поставил в апреле 18-го, с отруливанием того что нужно на итальянский ДЦ, с OpenHAB все прекрасно работало, VPN полностью решил задачу. а с искрой жс я не работал.:(
     
  19. Случайно заметил в форке ветку iskrajs_2V00, и тут для iskrajs уже указаны sha256 и sha512.
    Код (Bash):
    'libraries' : [
        'USB_HID',
        'NET',
        'GRAPHICS',
        'FILESYSTEM',
        'WIZNET',
        'CRYPTO','SHA1_JS','SHA256','SHA512',
        'NEOPIXEL',
        'TLS'
    ],
    То есть 2.x версии прошивки искры должны поддерживать sha256? Почему параметры сборки разъехались с описанием ISKRA.JSON ?
    Накатил стоковую espruino_2v01.49_iskrajs.bin, проблема с mbedtls_ssl_handshake присутствует.
     
    Un_ka нравится это.
  20. Un_ka

    Un_ka Гик

    Что значит нерешаемо? Нерешаемых задач нет , есть интегралы не представимые в элементарных функциях.