Как отправлять логи и отчеты с устройства
В данном разделе описаны некоторые способы, как можно отправлять отчеты о работе устройства в другие системы
RSYSLOG
Rsyslog — это очень быстрый, расширяемый сервис для UNIX систем для управления логами с огромным количеством возможностей.
Устройство может быть клиентом rsyslog-сервера и отправлять ему данные о своей работе.
В данном разделе мы описываем только настройку клиента. Инструкцию по настройке сервера ищите, пожалуйста, в документации на свой дистрибутив или на сайте проекта.

-- устанавливаем сервер
os.rsyslog("192.168.0.160")

-- устанавливаем уровень 
os.loglevel(os.LOG_ALL)

-- отправляем сообщение
os.syslog("hi", os.LOG_INFO)
Подробнее о командах и параметрах можно почитать по ссылке.
Logger.lua
logger.lua — наша небольшая библиотека для сохранения в файл ваших произвольных сообщений с таймштампом.
Подробнее описание параметров по ссылке.
Для получения корректного времени по NTP, нужно указать NTP сервер в настройках.
Если вы хотите получать данные с учетом часового пояса, что его нужно указать при инициализации logger (см описание).

-- загружаем библиотеку
logger = require("logger")

-- инициализация. описание возможных параметров посмотрите в описании. 
log = logger.new()

-- сохраняем сообщение
log("test")

В итоге, в корне файловой системы появился файл в logfile_1.log с содержимым
[2024-02-09 13:19:38] test
По-умолчанию, файлы сохраняются в папку /public, доступную для просмотра из браузера по адресу http://<ip>/public/.

Вы можете посмотреть исходник функции и переделать ее, например, так, чтобы "заполнившийся" файл отправлялся по udp/tcp/почте на ваш сервер.
Telegram.lua
telegram.lua — наша небольшая библиотека для работы с Telegram ботом без использования сторонних сервисов.
Библиотека будет работать на версии Pro.
Для начала работы нужно зарегистрировать бота в Телеграм. Для этого Telegram предоставляет специального бота @BotFather. Взаимодействие с ним осуществляется при помощи простых команд. Например, для того, чтобы зарегистрировать нового бота, достаточно отправить в чат команду /newbot и следовать простым инструкциям:
  1. Придумать имя бота, которое будет отображаться в чатах и контактах.
  2. Придумать username – это уже сложнее: имя должно быть уникальным и оканчиваться на «bot». Допускаются буквы латинского алфавита, цифры и символ подчеркивания (пример – «Mynew_bot»). Общее количество символов не менее 5 и не более 32;
Если все в порядке, то в ответ мы получим сообщение с токеном. Токен необходим для работы библиотеки с Bot API. Его необходимо хранить в секрете.

-- загружаем библиотеку
telegram = require("telegram")
-- инициализация
local token = "ваш_токен_от_бота"
local bot = telegram(token,
    function(chat_id, text, sendMessage, sendDocument)
        -- тут обрабатываем входящие команды. например, отправляем обратно.
        sendMessage(chat_id, "Вы сказали: " .. text)
    end,
    function(chat_id, document, sendMessage, saveDocument)
        -- тут обрабатываем полученные файлы, например, сохраняем
        local res, msg = saveDocument(document.file_id, "/downloads/"..document.file_name)
        sendMessage(chat_id, "Загрузка документа: " .. (res and "успешно" or msg))
    end
)
-- цикл
while true do
    bot.getUpdates()
    thread.sleepms(200)
end
Почта
Лог или отчет можно также отправлять на почту
(только на Pro).
Отправка почты. Рассчитано для использовании в Pro версии. У остальных не хватит памяти.

-- задаем имя и порт почтового сервера
net.curl.mailserver("smtp.адрес.сервера", 465)

-- остальные настройки
options = {
user = "логин",
pass = "пароль",
to = {"получатель1", "получатель2"},
subj = "Тема",
msg = "Тестовая посылка",
secure = true,
attach = {"picture.jpg"}
}

ret, msg = net.curl.sendmail(options)