Моя проблема заключается в чтении текстового файла (который находится на моем компьютере) в наборе для разработки NodeMCU. Я могу прочитать содержимое файла в терминале Ubuntu с помощью сценария Lua. Здесь я использую код, который я использовал для чтения. Оба работают очень хорошо в терминале Ubuntu.Чтение текстового файла, находящегося на компьютере с помощью NodeMCU с использованием Lua
Первый один:
local open = io.open
local function read_file(path)
local file = open(path, "rb") -- r read mode and b binary mode
if not file then return nil end
local content = file:read "*a" -- *a or *all reads the whole file
file:close()
return content
Второй один:
local fileContent = read_file("output.txt");
print (fileContent);
function file_exists(file)
local f = io.open(file, "rb")
if f then f:close() end
return f ~= nil
end
-- get all lines from a file, returns an empty
-- list/table if the file does not exist
function lines_from(file)
if not file_exists(file) then return {} end
lines = {}
for line in io.lines(file) do
lines[#lines + 1] = line
end
return lines
end
-- tests the functions above
local file = 'output.txt'
local lines = lines_from(file)
-- print all line numbers and their contents
for k,v in pairs(lines) do
print('line[' .. k .. ']', v)
end
Моя проблема возникает, когда я отправил код в NodeMCU, используя Esplorer отправить код Но эта ошибка возникает, как это. :
attempt to index global 'io' (a nil value)
stack traceback:
applicationhuff.lua:5: in function 'file_exists'
applicationhuff.lua:13: in function 'lines_from'
applicationhuff.lua:23: in main chunk
[C]: in function 'dofile'
stdin:1: in main chunk
Моя общая цель - на самом деле прочитать эти данные и опубликовать их в Mosquitto B roker через протокол MQTT. Я новичок в этих темах. Если кто-то сможет справиться с моей проблемой, это будет оценено. Спасибо за вашу помощь ...
Большая часть этого ответа отвечает на вопрос, который не был задан (как это сделать поиск Google). Эта информация, вероятно, будет лучше в качестве комментария, так что ответ на поставленный вопрос легко идентифицируется. Кроме того, эффект «Я не знаю, что я не знаю» может заставить начинающих использовать неэффективные запросы Google, которые кажутся очевидными людям с большим опытом. –
@ KelsonBall Я не согласен. Веб-поиск может оказаться неэффективным 10 лет назад. Но сегодня я даже могу щелкнуть по значку микрофона и спросить мой компьютер «как я могу прочитать файл в nodemcu?» и это даст мне полный ответ с примерами ... как это неэффективно? он также не имеет большого опыта в качестве программиста для получения этих знаний. на самом деле вам даже не нужно знать Google. Достаточно обратиться к документации, которая действительно поставляется с комплектом разработки ... – Piglet
@ Piglet Я полностью разделяю ваше разочарование, но по какой-то причине я продолжаю: -/ –