Как подключить esp8266 к iskraJS?

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем NovaStream2030, 16 янв 2017.

  1. NovaStream2030

    NovaStream2030 Напечатан на 3D-Принтере

    Помогите как подключить?
     
  2. Morgan

    Morgan Гик

    Привет!

    Нашёл ответ из техподдержки в почте.

    подключаем у ESP8266
    gnd-gnd (чёрный)
    vcc-vcc(красный)
    CH_PD - P7
    rx-tx
    tx-rx

    если у вас Iskra JS и Troyka Shield, то много трёхпроводных кабелей. Один кабель надо разобрать (у него есть язычок, если его поднять, то можно вытянуть кабель из чёрной пластиковой штуки, группирующей провода по 3)

    Этот красный провод втыкаем в S-пин тройного гнезда P7. Остальное - в P0.
    Второй кабель втыкаем в P1. Его второй конец идёт в VCC (красный) и в RX ESP8266.

    Далее запихиваем в Iskra JS такой код
    Код (Javascript):
    var serial = PrimarySerial;
    pinMode(P7, 'input_pullup');

    function test(baud) {
      serial.removeAllListeners();
      var l="";
      serial.on('data', function(d) {l+=d;});

      serial.setup(baud);

      serial.print("AT+GMR\r\n");

      setTimeout(function(){
        console.log(JSON.stringify(l));
     
      },800);
    }

    setTimeout(function() { test(9600); }, 2000);
    setTimeout(function() { test(115200); }, 3000);
    setTimeout(function() { test(57600); }, 4000);

    setTimeout(function() { console.log("Done!"); }, 5000);
    Он ответит на той скорости, на которую настроена esp. Далее нужно работать с этой скоростью.

    Теперь можно залить тестовый код
    Код (Javascript):
    var serial = PrimarySerial;
    pinMode(P7, 'input_pullup');

    serial.setup(115200);

    var SSID = 'your ssid';
    var PSWD = 'your pass';

    // настраиваем подключение к ESP8266

    var wifi = require("ESP8266WiFi_0v25").connect(serial, function(err) {
      //перед началом работы сбрасываем состояние ESP8266
      wifi.reset(function(err) {
        // подключаемся к Wi-Fi сети
        wifi.connect(SSID, PSWD, function(err) {
          // делаем запросы по Интернет
          if (err) throw err;
          console.log("Connected");
          // Now you can do something, like an HTTP request
          require("http").get("http://www.pur3.co.uk/hello.txt", function(res) {
            console.log("Response: ",res);
            res.on('data', function(d) {
              console.log("--->"+d);
            });
          });
        });
      });
    });
     

    Вложения:

    FomaLSSJ, arkadyf, zakutnya и ещё 1-му нравится это.
  3. NovaStream2030

    NovaStream2030 Напечатан на 3D-Принтере

    СПС помог скоро посмотрю работает или нет
     
  4. zakutnya

    zakutnya Нерд

    Добрый день!

    Спасибо за развёрнутый ответ, @Morgan .

    Подключил модуль как указано в приложенных файлах.
    Код определения скорости выдаёт следующий результат:
    Код (Javascript):
    ""
    "AT+GMR\r\r\nAT version:1.2.0.0(Jul  1 2016 20:04:45)\r\nSDK version:1.5.4.1(39cb9a32)\r\nAi-Thinker Technology Co. Ltd.\r\nDec  2 2016 14:21:16\r\nOK\r\n"
    ")m\xE9M\xAAK\xF8"
    Done!
    При выполнении тестового кода подключения не происходит вообще ничего, экран IDE слева пуст, сам модуль продолжает непрерывно гореть красным. Последние записи в консоли Espruino IDE:
    Код (Text):
    loadModule(ESP8266WiFi_0v25)
    - ESP8266WiFi_0v25 requires ["AT"]
       Queueing AT
    loadModule(AT)
    - AT requires []
    Несколько иная ситуация при использовании библиотеки @amprka/wifi. Возникает ошибка Module AT not found. В консоли IDE отчёт:
    Код (Javascript):
    loadModule(@amperka/wifi)
    - @amperka/wifi requires ["AT"]
       Queueing AT
    loadModule(AT)
    ERROR: Espruino.Core.Utils.getURL: got HTTP status code 302 for http://js.amperka.ru/modules/AT.min.js
    ERROR: Espruino.Core.Utils.getURL: got HTTP status code 302 for http://js.amperka.ru/modules/AT.js
    WARNING: [notify_warn] Module AT not found
    хотя по указанным URL оба файла доступны.

    Я попробовал использовать @amperka/wifi и AT как локальные модули. Ошибка исчезла, получаю сообщение об успешной минификации двух файлов, а дальше снова тишина

    Сам модуль тестировал как описано здесь: https://edugalaxy.intel.ru/index.php?automodule=blog&blogid=9960&showentry=11671, мигнул синий led, появилась точка доступа. Но Iskra заставить через него подключиться к домашнему WiFi не могу.

    Набор условий такой:
     
  5. zakutnya

    zakutnya Нерд

    Проблему удалось обойти с помощью папки modules: скачал библиотеку для ESP8622 и в ней изменил
    Код (Javascript):
    wifiFuncs.at = at = require("AT").connect(usart);
    на
    Код (Javascript):
    wifiFuncs.at = at = require("http://www.espruino.com/modules/AT.js").connect(usart);
    потому что положить файл AT.js там же рядом в модулях не помогло. Возможно, я плохо разобрался с require, но у меня такой подход не сработал и пришлось ставить прямую ссылку.
    Подскажите, пожалуйста, чем может быть вызвана проблема получения AT, на которую ссылается @amperka/wifi? Может, кто сталкивался.
     
    Последнее редактирование: 19 мар 2017