设为首页收藏本站
查看: 586|回复: 1

搭建一个小型嵌入式web服务器

[复制链接]

7

主题

2

回帖

97

积分

注册会员

积分
97
毛巾卷 发表于 2024-6-1 17:19:13 | 显示全部楼层 |阅读模式
本帖最后由 毛巾卷 于 2024-6-1 17:19 编辑

  在嵌入式设备中,我们经常会有的设备是没有屏幕这种便利的交互界面的,像工控中会使用RS485 基于 modbus 来对设备进行一些可编程寄存器的操作,但是那样就需要操作人员知道通讯协议才行,不是很方便,通过RJ45网口,我们可以给设备嵌入式一个web服务器,让用户通过IP来访问设备,基于网页端这种较为便利简单的交互来对设备进行操作,就像我们路由器和安防摄像头那样。


   这里我使用是一个比较简单且小型的web服务器 boa。Boa服务器是一个轻量级的开源Web服务器,它专为嵌入式系统和嵌入式应用程序设计。Boa服务器采用C语言编写,具有小巧、高效和易于部署的特点。它支持HTTP/1.1协议和CGI,可以运行在各种操作系统上,包括Linux、Unix和Windows。Boa服务器的设计目标是尽可能减少内存占用和CPU负载,同时提供基本的Web服务功能。它不支持高级功能如SSL加密和虚拟主机,但对于简单的Web应用程序和嵌入式系统来说,Boa服务器是一个理想的选择。Boa服务器具有简单的配置文件和易于管理的特点,可以快速部署和配置。它可以处理静态内容和动态内容,并且具有良好的性能表现。但是话说回来,boa看起来是已经停止维护更新了,上一次是在2005年了,所以只建议用在学习中,实际产品如果比较讲究安全和大型的话不建议用。

boa的官网:
     http://www.boa.org/

下载使用的版本为:
    boa-0.94.14rc21.tar.gz

  准备好之后就是开始交叉编译移植到开发板上去。


  解压后进入
  1. ./configure
复制代码


  修改src/Makefile
  1. CC = aarch64-oe-linux-gcc --sysroot=/opt/arago-2023.04/sysroots/aarch64-oe-linux
  2. CPP = aarch64-oe-linux-g++  -E
复制代码


  接着编译即可
  1. make
复制代码

#boa配置
## 传输文件

1、现在得到了经过交叉编译的boa文件,把它通过ssh等方式放到板子上的/bin目录下;
2、把我们Ubuntu环境下/etc/mime.types文件发送到开发板的/etc目录下;

3、把boa源码里面的boa.conf 发送到开发板的/etc/boa目录下;

   在开发板端进行如下操作:
  1. cd /etc
  2. mkdir boa
复制代码

  接着是对板端的/etc/boa.conf做修改适配,需要调整的地方如下
  1. Group 0
  2. ErrorLog /etc/boa/error_log
  3. AccessLog /etc/boa/access_log
  4. ServerName www.your.org.here
  5. DocumentRoot /www
  6. ScriptAlias /cgi-bin/ /www/cgi-bin/
复制代码


# 功能验证
现在我们就可以来写前端的html显示和交互的cgi啦。
   
  1. boa
复制代码
  
随便写了一个index.html放在/www目录下。

效果如图


回复

使用道具 举报

7

主题

2

回帖

125

积分

注册会员

积分
125
忙碌的死龙 发表于 2024-6-1 21:43:47 | 显示全部楼层
学到了,不过我这边还是会选择vue,毕竟现在很多设备性能都不差,打包成静态文件也可以放在esp32上面部署
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-11-21 17:32 , Processed in 0.101724 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表