Телеграм бот

Тема в разделе "Проводная и беспроводная связь", создана пользователем Vlad1637816378, 30 ноя 2017.

  1. Здравствуйте! Нужна помощь - хочу обьединить Excel-bot и проект Телеграм - бот (то есть чтобы бот отправлял данные о освещенности и температуре сообщением с интервалом в 5 сек)
    Пытаюсь уже который раз вносить поправки в код, но ничего не получается
    var SSID = 'WiFi';
    var PASSWORD = '1234';
    var sensor = require('@amperka/light-sensor').connect(A2);
    var thermometer = require('@amperka/thermometer').connect(A4);
    var bot = require('@amperka/telegram').create({
    token: '4555555555',
    polling: { timeout: 10 }
    });
    var timer = require('@amperka/timer').create(5);
    bot.on('/start', function(msg) {
    var keyboard = bot.keyboard([
    ['/Measure_control'],
    ], { resize: false });
    bot.sendMessage(msg.from.id, 'Measure control.', {
    markup: keyboard
    });
    });
    var time = getTime().toFixed(0);
    var lx = sensor.read('lx').toFixed(0);
    var c = thermometer.read('C').toFixed(0);

    bot.on('/Measure_control', function(msg){
    if (timer.isRunning()) {
    timer.stop();
    } else {
    timer.tick().run(); }
    bot.sendMessage(msg.from.id, 'Measuring is controlled');
    timer.on('tick', function() {
    var time = getTime().toFixed(0);
    var lx = sensor.read('lx').toFixed(0);
    var c = thermometer.read('C').toFixed(0);
    bot.sendMessage(msg.from.id, time, 'sec', '->', lx, 'luxes', 'and', c, 'C');
    });
    });

    var wifi = require('@amperka/wifi').setup(function(err) {
    wifi.connect(SSID, PASSWORD, function(err) {
    print('I\'m ready!');
    bot.connect();
    });
    });
     
  2. Используемые модули - датчик освещенности, термометр, wifi-модуль
     
  3. ИгорьК

    ИгорьК Гуру

    Используйте еще и кнопку для вставки кода:

    upload_2017-11-30_10-58-8.png
     
  4. bot.on('/Measure_control', function(msg){
    if (timer.isRunning()) {
    timer.stop();
    } else {
    timer.tick().run(); }
    bot.sendMessage(msg.from.id, 'Measuring is controlled');
    timer.on('tick', function() {
    var time = getTime().toFixed(0);
    var lx = sensor.read('lx').toFixed(0);
    var c = thermometer.read('C').toFixed(0);
    bot.sendMessage(msg.from.id, time, 'sec', '->', lx, 'luxes', 'and', c, 'C');
    });
    });
    Если заменить выделенное на console.log, то все работает, но, разумеется, не так, как надо(
     
  5. Код (Javascript):
    var SSID = 'WiFi';
    var PASSWORD = '1234';
    var sensor = require('@amperka/light-sensor').connect(A2);
    var thermometer = require('@amperka/thermometer').connect(A4);
    var bot = require('@amperka/telegram').create({
    token: '4555555555',
    polling: { timeout: 10 }
    });
    var timer = require('@amperka/timer').create(5);
    bot.on('/start', function(msg) {
    var keyboard = bot.keyboard([
    ['/Measure_control'],
    ], { resize: false });
    bot.sendMessage(msg.from.id, 'Measure control.', {
    markup: keyboard
    });
    });
    var time = getTime().toFixed(0);
    var lx = sensor.read('lx').toFixed(0);
    var c = thermometer.read('C').toFixed(0);

    bot.on('/Measure_control', function(msg){
    if (timer.isRunning()) {
    timer.stop();
    } else {
    timer.tick().run(); }
    bot.sendMessage(msg.from.id, 'Measuring is controlled');
    timer.on('tick', function() {
    var time = getTime().toFixed(0);
    var lx = sensor.read('lx').toFixed(0);
    var c = thermometer.read('C').toFixed(0);
    bot.sendMessage(msg.from.id, time, 'sec', '->', lx, 'luxes', 'and', c, 'C');
    });
    });

    var wifi = require('@amperka/wifi').setup(function(err) {
    wifi.connect(SSID, PASSWORD, function(err) {
    print('I\'m ready!');
    bot.connect();
    });
    });
     
  6. ну так поможет кто-нибудь?
     
  7. b707

    b707 Гуру

    да вряд ли... Четко сформулированного вопроса нет.