在嵌入式系统中实现webserver有非常多的实际用途,可以作为远程监控设备的一个手段,也可以通过web进行远程控制。尤其在一些“无头”设备(没人机交互接口的设备)中,通过web对设备进行管理显得非常方便。
在SylixOS中,其官方移植了GoAhead,能够比较方便的实现一个webserver的功能。至于为什么选用GoAhead,肯定是因为它有一些别的webserver没有的优点。具体优点这里就不细讲了,读者可以自行搜索。
官方网站git目录有链接http://git.sylixos.com/cgit/cgit.cgi/GoAhead-WebServer.git/,使用此链接和git工具,将工程克隆到当前主机上,导入RealCoder既可进行编译。编译后的工程文会在工程的Debug目录下,会同时生成4个文件分别如下:
goahead: //实现webserver的主程序 gopass: //对web进行帐号管理 webcomp: //生成rom网页,SylixOS的设备存储资源一般会较丰富,不建议使用rom网页 libgoahead.so: //goahead动态库,需要拷贝到sylixos设备的/lib目录下。 |
在上述四个文件中,使用libgoahead.so动态库和goahead程序,就可以完成基本的web应用。
将编译出的libgoahead.so文件拷贝到SylixOS设备的/lib目录下。将goahead程序文件拷贝到/apps/goahead目录下,如果这个时候执行程序goahead会报错。还需要将../embedthis-goahead/src下的auth.txt、route.txt及web文件夹一并拷贝到SylixOS设备/apps/goahead目录下。此时使用命令./goahead再次运行goahead程序,然后确认SylixOS设备网络连接正常,并查看当前设备IP地址(笔者的是192.168.1.13)。
在PC主机上打开浏览器,在地址栏输入http://192.168.1.13/随后回车,就会输出网页信息,不过这里默认的信息只有“Congratulations! The server is up and running.”一句话,读者可以修改../web目录下的index.html文件,再次运行goahead,打开浏览器会发现内容发生变化。
对不习惯使用git的读者,需要工程可以通过QQ:495129207或QQ邮箱索取。
用户431679 2015-7-10 09:22