我正在尝试修改enduser_setup
模块以充当强制网络门户。
我找到了this源代码。看起来我应该修改函数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
而不是?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);
}
}
但我不明白那里正在修改哪个文件。看起来另一种选择是使用file_fd = vfs_open(output, "w+")
这样的直接vfs.h
用法来编写文件,但我找不到现有NodeMCU模块的明确示例。
答案 0 :(得分:0)
在C中工作是一个学习上的飞跃。进行嵌入式C开发是C程序员的一次学习飞跃。开发或修改NodeMCU固件库是嵌入式C开发人员的一次学习飞跃。
我想要建议的是,你可以一步到位地完成太多的步骤以及你尚未开始掌握的问题。
您希望在哪里创建此文本文件?因为VFS只会写入ESP模块内部文件系统上的文件。并且无论如何,可以在运行ESP模块的Lua中直接访问MAC地址。
我建议你要做的是记录使用芯片外设置库配置的任何ESP的mac地址,这意味着通过IP进行通信 - 在配置IP之前你不能这样做堆。
但是,您将在配置的ESP上运行的嵌入式Lua应用程序总是可以使用http
模块,例如,将IP(和其他)配置记录到某些Web服务。