НЕ Работает RFID сканер

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

  1. Юрий1251

    Юрий1251 Нуб

    (ЛОГОТИП)
    Based on Espruino 1v91.193
    (c) 2016 G.Williams, Amperka LLC
    Support the work of core developers:
    http://espruino.com/Donate
    >Erasing Flash....
    Writing..........
    Compressed 87200 bytes to 7316
    Checking...
    Done!
    Loading 7316 bytes from flash...
    ERROR: Prompt not detected - upload failed. Trying to recover...
    Uncaught InternalError: Timeout on I2C Write Transmit Mode 2
    at line 1 col 352
    ...o(this._PN532_I2C_ADDRESS,f),this._imWaitingFor.push(this._r...
    ^
    in function "_sendCommandCheckAck" called from line 1 col 164
    ...eckAck(this._packetBuffer,1),this._imWaitingFor.push(this._S...
    ^
    in function "wakeUp" called from line 18 col 2
    });
    ^
    >
    =undefined
    >echo(1)
    =undefined
    >
     
  2. sys

    sys Оракул

    Мне показалось или Вы и в самом деле забыли выложить исходный код и схему подключения?
     
  3. Юрий1251

    Юрий1251 Нуб

    Код
    // настраиваем I2C1 для работы модуля
    I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000});

    // подключаем модуль к I2C1 и пину прерывания
    var nfc = require('@amperka/nfc').connect({i2c: I2C1, irqPin: P10});

    // активируем модуль
    nfc.wakeUp(function(error) {
    if (error) {
    print('wake up error', error);
    } else {
    print('wake up OK');
    // слушаем новые метки
    nfc.listen();
    }
    });

    // указываем страницу для чтения данных
    var page2read = 5;

    nfc.on('tag', function(error, data) {
    if (error) {
    print('tag read error');
    } else {
    // выводим в консоль полученные данные
    print(data);
    // читаем указанную страницу данных
    nfc.readPage(page2read, function(error, buffer) {
    if(error) {
    print('page read error');
    } else {
    print('page read result: ', buffer);
    // обновляем данные для записи. Например, увеличиваем на единицу
    for (var i in buffer) {
    buffer++;
    }
    // перезаписываем метку новыми данными на ту же страницу
    nfc.writePage(page2read, buffer, function(error) {
    if (error) {
    print('write page ERROR');
    } else {
    print('write page OK');
    }
    });
    }
    });
    }

    // каждые 1000 миллисекунд слушаем новую метку
    setTimeout(function () {
    nfc.listen();
    }, 1000);
    });
     
  4. Юрий1251

    Юрий1251 Нуб

    Схема как в коде
     
  5. Tomasina

    Tomasina Иномирянин

    кода не вижу. Вижу мешанину, в которой никто разбираться не станет. ;)
    2016-12-03_20-50-08.png
     
    sys и ИгорьК нравится это.
  6. Юрий1251

    Юрий1251 Нуб

    Код (Javascript):
    // настраиваем I2C1 для работы модуля
    I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000});

    // подключаем модуль к I2C1 и пину прерывания
    var nfc = require('@amperka/nfc').connect({i2c: I2C1, irqPin: P10});

    // активируем модуль
    nfc.wakeUp(function(error) {
    if (error) {
    print('wake up error', error);
    } else {
    print('wake up OK');
    // слушаем новые метки
    nfc.listen();
    }
    });

    // указываем страницу для чтения данных
    var page2read = 5;

    nfc.on('tag', function(error, data) {
    if (error) {
    print('tag read error');
    } else {
    // выводим в консоль полученные данные
    print(data);
    // читаем указанную страницу данных
    nfc.readPage(page2read, function(error, buffer) {
    if(error) {
    print('page read error');
    } else {
    print('page read result: ', buffer);
    // обновляем данные для записи. Например, увеличиваем на единицу
    for (var i in buffer) {
    buffer++;
    }
    // перезаписываем метку новыми данными на ту же страницу
    nfc.writePage(page2read, buffer, function(error) {
    if (error) {
    print('write page ERROR');
    } else {
    print('write page OK');
    }
    });
    }
    });
    }

    // каждые 1000 миллисекунд слушаем новую метку
    setTimeout(function () {
    nfc.listen();
    }, 1000);
    });
     
  7. sys

    sys Оракул

    Код (Javascript):
    buffer[i]++;
    ошиблись при копировании
     
    acos нравится это.
  8. Юрий1251

    Юрий1251 Нуб

    Uncaught InternalError: Timeout on I2C Write Transmit Mode 2
    at line 1 col 352
    ...o(this._PN532_I2C_ADDRESS,f),this._imWaitingFor.push(this._r...
    ^
    in function "_sendCommandCheckAck" called from line 1 col 164
    ...eckAck(this._packetBuffer,1),this._imWaitingFor.push(this._S...
    ^
    in function "wakeUp" called from line 18 col 2
    });
    ^
    Теперь вот :(
     
  9. sys

    sys Оракул

    Схему подключения можно увидеть?
     
  10. Юрий1251

    Юрий1251 Нуб

    Решено
     
  11. null

    null Гик

    Так напишите как решили, поставьте в заголовок [решено]