Module '@amperka/gas-sensor' not found

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем MuTbKA, 10 фев 2017.

  1. MuTbKA

    MuTbKA Нуб

    Добрый день!

    При копировании строк
    var gasSensor = require('@amperka/gas-sensor').connect({
    dataPin: A0, // разъём SVG
    heatPin: P10, // разъём GHE
    model: 'MQ-8'
    });

    со страницы http://wiki.amperka.ru/js:gas-sensor#connect в поле консоли Espruino web ide появляется ошибка «Module '@amperka/gas-sensor' not found».
    [​IMG]

    При этом путь к библиотеке прописан в настройках правильно:
    [​IMG]

    Пожалуйста, помогите!) Очень нужно замерить концентрацию водорода в воздухе.
    Спасибо!
     
  2. ИгорьК

    ИгорьК Гуру

  3. MuTbKA

    MuTbKA Нуб

    Большое спасибо!
    Игорь, подскажите пожалуйста, а как мне сделать так, чтобы датчик начал измерять концентрацию газа?
    Я, честно говоря, при покупке не разобрался и думал, что это будет что-то очень юзер френдли, с одной кнопкой...
     
  4. ИгорьК

    ИгорьК Гуру

    Ну так, видимо, тот скрипт что Вы привели и измеряет концентрацию.
    Другое дело, что он там измеряет - большой вопрос. Этот датчик не слишком точен.
     
  5. ИгорьК

    ИгорьК Гуру

    Хотя этот скрипт просто соединяет датчик с платой.
    https://github.com/amperka/espruino-modcat/blob/master/modules/@amperka/gas-sensor.js
    Здесь описание функций. Не смогу Вам помочь в ближайшее время - с планшета и без платы много не насоветуешь. Подождите немного - кто-нибудь появится обязательно.
     
  6. Morgan

    Morgan Гик

    Эти строки нужно копировать в правое окно и загружать код в плату.
    Дело в том, что при загрузке кода в плату, Espruino web ide предварительно сканирует код и ищет require().
    То, что указано в require, ide ищет на удалённом сервере, скачивает оттуда и отправляет в плату вместе с основным кодом программы.

    Если копировать строчки в консоль (левое окно), то код сканироваться не будет, а значит библиотека не будет искаться на сервере и не скачается оттуда. Итого, Iskra просто не будет знать, что такое require('@amperka/gas-sensor'), о чём она и пишет.
     
    arkadyf нравится это.
  7. yhl

    yhl Нерд

    Подскажите что эта за ошибка ?
    Код (Javascript):
    Uncaught Error: Function "preheat" not found!
    at line 10 col 11
    gasSensor.preheat(function() {
              ^
    ^
     
  8. Morgan

    Morgan Гик

    скиньте целиком код
     
  9. yhl

    yhl Нерд

    Код (C++):
    var MQ2 = require('@amperka/gas-sensor').connect({
      dataPin: A0, // разъём SVG
      heatPin: P10, // разъём GHE
      model: 'MQ-2'
    });

    MQ2.preheat(function() {
      var basePpm = MQ2.calibrate();
      print('PPM base in current environment: ', basePpm);

      setInterval(function() {
        var val = MQ2.read('LPG');
        print('LPG PPM =', val);
      }, 1000);
    });
     
  10. Morgan

    Morgan Гик

    у вас ошибка в коде. model: 'MQ-2' исправьте на 'MQ2'
     
  11. MuTbKA

    MuTbKA Нуб

    Я так и не смог запустить сенсор...

    Помогите, пожалуйста!
    Я ввожу:

    var Sensor = {

    MQ8: {
    rLoad: 10000,
    rClear: 70,
    gas: {
    H2: {coef: [-1.52, 10.49], ppm: 1} // Водород
    }
    }
    };

    Результат:

    Loading 143 bytes from flash...
    =undefined


    Что делать? Как мне померить концентрацию газа? Неужели это невозможно с помощью IskraJS?
    Вот же библиотека: https://github.com/amperka/espruino-modcat/blob/master/modules/@amperka/gas-sensor.js#L151
    Что нужно-то? Почему не работает ничего?
     
  12. Morgan

    Morgan Гик

    Смотрите примеры http://wiki.amperka.ru/js:gas-sensor
     
  13. MuTbKA

    MuTbKA Нуб

    Результат
    Loading 143 bytes from flash...
    =undefined

    Как раз и получается при попытке воспроизвести примеры с этой самой страницы
     
  14. MuTbKA

    MuTbKA Нуб

    Кстати, на странице нет того единственного примера, который меня интересует - кода для функции readGas:
    read([gas])
    Считывает показания сенсора и возвращает данные в PPM (parts per million, миллионных долях).

    Окна с кодом для нее нет: http://wiki.amperka.ru/js:gas-sensor
     
  15. Korobas

    Korobas Нерд

    А какой должен быть код для функции которая просто возвращает значение и ни имеет ни каких колбеков?
    Такой "print('ppm =', gasSensor.read());" ?)
    А вот сами варианты вызова данной функции в комбинации с другими на странице есть.
     
  16. MuTbKA

    MuTbKA Нуб

    Не работает у меня ни один из примеров кода, приведенных на этой странице.

    На все ответ один - "undefined"