Я пытаюсь изменить модуль enduser_setup
, чтобы он действовал как Captive портал. Я нашел этот исходный код. Похоже, я должен изменить функцию enduser_setup_http_serve_html
для добавления записи MAC-адреса пользователя. т.е. Я хотел бы написать текстовый файл, как показано ниже:
04/03/2018 23:03 aa:bb:cc:dd:ee
04/03/2018 23:04 bb:aa:cc:dd:ee
(каждый раз, когда пользователь открывает мою страницу, в файл должна добавляться новая строка с его MAC-адресом)
Я никогда раньше не работал с C, поэтому у меня есть следующие вопросы:
- правильно ли я выбрал функцию? или вместо этого должно быть
enduser_setup_http_recvcb
? - как я могу получить MAC-адрес пользователя? содержит ли его переменная
http_client
? как написать лог файл? Я пытался посмотреть, как там работает отладка -
static void enduser_setup_debug(int line, const char *str) { lua_State *L = lua_getstate(); if(state != NULL && state->lua_dbg_cb_ref != LUA_NOREF) { lua_rawgeti(L, LUA_REGISTRYINDEX, state->lua_dbg_cb_ref); lua_pushfstring(L, "%d: \t%s", line, str); lua_call(L, 1, 0); } }
Но я не понимаю, какой файл там модифицируется. Похоже, еще один вариант — записать файл с прямым vfs.h
< /a> используется как file_fd = vfs_open(output, "w+")
, но я не могу найти четкий пример из существующих модулей NodeMCU.