W800开发板修改网页配置

前言

看CDK工程(wm_sdk_w800_20210513\tools\w800\projects\SDK_Project\project\CDK_WS\CDK_WS.cdkws),想在官方网页的基础上,添加自己需要的参数读写。

看工程实现,有2种实现,一种是自己在程序中写html到固定数组中。W800的研发以前用的这种方式。
还有1种是写好了html, 用工具转成包含数组的.c, 在程序中直接使用。

现在工程中,使用的是第2种方式。
W800官方支持工程师,提示是使用第2种方法后,去看工程。

web/fs.c中可以看到包换的html转换后的C数据文件。

#if WEB_SERVER_RUSSIAN 
	// #include "fsdata_lwip_russian.c"
#elif WEB_SERVER_BASIC
	// #include "fsdata_lwip_basic.c"
#elif WEB_SERVER_RUIGONG
	// #include "fsdata_lwip_ruigong.c"
#else
	#include "fsdata_lwip.c"
#endif

因为官方给的工程编译后是能正常运行的。
用屏蔽法确认后,程序中使用的数组文件只有fsdata_lwip.c.
WEB_SERVER_RUSSIAN,WEB_SERVER_BASIC, WEB_SERVER_RUIGONG这些宏都是没定义的。

wm_sdk_w800_20210513\src\app\web 下是html,工具,生成好的C数组文件.c

在这里插入图片描述
makefs是具体的脚本,将一个目录中的文件都转成 .c
goall调用makefs, 将所有html目录都转成分别对应的.c
查看makefs和goall可知,makefs的调用方式如下:

./makefs ./fs_basic ./fsdata_lwip.c

这2个脚本在windows下不能运行。要在linux下运行才行。
开始尝试在win10下装linux子系统,但是现在win10已经不支持了,说本地区不支持直接下载linux镜像。
在本地翻了一下,有个以前留下的debian10的vm镜像。
运行vm_debian镜像, 开启ftp服务。
在win10本地装winscp, SecureCRT.
将本地的网卡适配器vmware1, vmware8先禁止再启用。winscp和SecureCRT就能连上vm_debian了。
在本地先运行(双击)一下 wm_sdk_w800_20210513\src\app\web\fs_basic\index.html,可以看到index.html并不能正常运行。

打开index.html源码看看。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
	<title>welcome!</title>
</head>
<frameset rows="*">
  <frame src="hedbasic.html" />
</frameset>
</html>

可以看到引用的html文件 hedbasic.html,并不在\app\web\fs_basic目录中。
改成basic.html, 这个文件是有的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
	<title>welcome!</title>
</head>
<frameset rows="*">
  <frame src="basic.html" />
</frameset>
</html>

双击修改后的index.html,可以正常运行。
现在就可以准备将fs_basic目录转成c文件。
用winscp将fs_basic目录和makefs都传到vm_debian中自己home目录的子目录中。
用SecureCRT通过ssh2连接到vm_debian中。
运行如下命令,将html目录转成C文件。

lostspeed@localhost:~/my_tmp/wmsdk/web$ cd /home/lostspeed/my_tmp/wmsdk/web   
lostspeed@localhost:~/my_tmp/wmsdk/web$ 

lostspeed@localhost:~/my_tmp/wmsdk/web$ dir -l
总用量 52
drwxr-xr-x 2 lostspeed lostspeed  4096 624 10:22 fs_basic
-rw-r--r-- 1 lostspeed lostspeed 41941 624 10:22 fsdata_lwip.c
-rwxrwxrwx 1 lostspeed lostspeed  3105 513 18:32 makefs
lostspeed@localhost:~/my_tmp/wmsdk/web$ 

lostspeed@localhost:~/my_tmp/wmsdk/web$ rm -f ./*.c
lostspeed@localhost:~/my_tmp/wmsdk/web$ dir -l
总用量 8
drwxr-xr-x 2 lostspeed lostspeed 4096 624 10:22 fs_basic
-rwxrwxrwx 1 lostspeed lostspeed 3105 513 18:32 makefs
lostspeed@localhost:~/my_tmp/wmsdk/web$ 

lostspeed@localhost:~/my_tmp/wmsdk/web$ chmod 777 ./makefs
lostspeed@localhost:~/my_tmp/wmsdk/web$ 

lostspeed@localhost:~/my_tmp/wmsdk/web$ ./makefs ./fs_basic ./fsdata_lwip.c
lostspeed@localhost:~/my_tmp/wmsdk/web$ dir -l
总用量 52
drwxr-xr-x 2 lostspeed lostspeed  4096 624 10:22 fs_basic
-rw-r--r-- 1 lostspeed lostspeed 41941 624 11:02 fsdata_lwip.c
-rwxrwxrwx 1 lostspeed lostspeed  3105 513 18:32 makefs
lostspeed@localhost:~/my_tmp/wmsdk/web$ 

用winscp 将 fsdata_lwip.c 传回本地进行覆盖,再用CDK重新编译工程。
编译完后,在SecureCRT连接W800开发板对应的控制台上。输入reset, 让板子重启。

下载node.js, 装好http-server, 运行http文件服务器(hfs = http file server)

cd Z:\wifi_w800\src\wm_sdk_w800_20210513\bin\w800
http-server -p 9999 -c-1

在W800控制台上输入以下命令

// 生成wifi热点
t-webcfg

// 让开发板连接自己开发机用的wifi热点
t-connect("my_wifi","my_pwd");

// 空中更新W800固件, 速度比用SecureCRT串口控制台向W800下载w800.fls快多了
t-httpfwup=(http://192.168.1.102:9999/w800_ota.img);

更新固件后,W800会自动重启
等重启完成后,运行以下命令联网

// 生成wifi热点
t-webcfg

// 让开发板连接自己开发机用的wifi热点
t-connect("my_wifi","my_pwd");

这时,就可以在开发机上用浏览器访问W800上的网页配置。
运行 http://192.168.1.104/
在浏览器中可以看到正常的网页,即使没读写任何字段。因为网页就是静态网页,连图标等资源都没包含。
下面是我的测试网页。
在这里插入图片描述
如果只是测试,就可以在官方basic.html 文件基础上,自己添加字段,再编译成.c,参与SDK编译就好。
网页上的字段值的读写,看起来像是在web.c中读写的字段值。再研究,可以通过打印串口调试信息的犯法确认读写字段值的流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值