Здравствуйте! Задача программы отправляет запрос на апи телеграма и обрабатывает полученные данные, если текст сообщения подходит под шаблон в switch, то отправляем в тот же канал телеграма то, что нужно отправить. Код (Javascript): //ПОДКЛЮЧЕНИЕ БИБЛИОТЕК var temp = require('@amperka/thermometer').connect(A4); //ПОДКЛЮЧЕНИЕ К WIFI // Настраиваем интерфейс UART PrimarySerial.setup(115200); // логин и пароль WiFi-сети var SSID = '_Spark_'; var PSWD = 'abvgdeezh'; var text; var wifi = require('@amperka/wifi').setup(PrimarySerial, function(err) { var http = require('http'); // подключаемся к Wi-Fi сети wifi.connect(SSID, PSWD, function(err) { if(err) print("err"); else print('Connected'); process.memory(); }); }); //ВСЕ ПЕРЕМЕННЫЕ ДЛЯ ПРОГРАММ var mes, len, id1, id2, posted; //ФУНКЦИИ //ФУНКЦИЯ ОБРАБОТКИ ПОЛУЧЕННЫХ ДАННЫХ ОТ ГЕТ ЗАПРОСА function obrabotka() { process.memory(); switch(mes){ case 'Temp': postRequest(temp.read('C').toFixed(2)); process.memory(); break; } } //ФУНКЦИЯ ОТПРАВКИ ПОСТ ЗАПРОСА //используется в функции гет запроса function postRequest(post) { process.memory(); require('http').get('https://api.telegram.org/bot391022114:AAHpCGCwGPoBVTBunwu6a-qd0IB4y42TQ/sendMessage?chat_id=@tralka&text=IskraBot_Temperatire:' + post); process.memory(); } //ФУНКЦИЯ ОТПРАВКИ ГЕТ ЗАПРОСА function getRequest() { process.memory(); var response = ''; require('http').get('https://api.telegram.org/bot391022114:AAHpCGG4CwGPoTBunwu6a-qd0IB4y42TQ/getUpdates?offset=0&timeout=0.1=json', function(res) { // Большие ответы от сервера могут приходить по частям. // В переменной response собираем весь ответ целиком. res.on('data', function(data) { response += data; }); // После закрытия соединения обрабатываем весь пришедший ответ res.on('close', function() { if (response === undefined) { print('Error. Response is undefined.'); } else { process.memory(); response = JSON.parse(response); len = response.result.length - 1; mes = response.result[len].channel_post.text; id1 = response.result[len].update_id; process.memory(); if(id1 != id2){ process.memory(); print(mes, id1); obrabotka(); id2 = id1; process.memory(); } } }); }); } //отправка гет запроса setInterval(getRequest, 5000); В чем проблема Когда отправляю с телефона сообщение в канал телеграма, то в первый выходит Код (Bash): > ____ __ / _/_____ / /__ _____ ____ _ / / / ___// //_// ___// __ `/ _/ / (__ )/ ,< / / / /_/ / /___//____//_/|_|/_/ \__,_/ Based on Espruino 1v92.194 (c) 2016 G.Williams, Amperka LLC Support the work of core developers: http://espruino.com/Donate >Erasing Flash.... Writing........... Compressed 87200 bytes to 8810 Checking... Done! Loading 8810 bytes from flash... =undefined Connected Temp 590221418 Uncaught InternalError: Failed! mbedtls_ssl_setup: Not enough memory at line 32 col 4 }); ^ in function called from system после первого сообщения уже на следующие не реагирует и выводит каждые пять секунд Код (Bash): Uncaught InternalError: Failed! mbedtls_ssl_setup: Not enough memory at line 32 col 4 }); ^ in function called from system > Я так понимаю лечится эта проблема закупкой платы для sd? Или просто косяк кода? Спасибо.
не засовывать "var http = require..." в "var wifi = " не реквайрить сто раз http... не мудрить с if(){...} else {...} не насиловать сборщик мусора ... заодно внимательно прочтите http://www.espruino.com/Performance