0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Boa应用-web网页配置A40i开发板-国产工业级全志A40i系列干货分享

飞凌嵌入式 2021-11-10 16:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、简要说明

本文主要讲解A40i Boa应用,适用于飞凌 A40i 系列FETA40i-C核心板 Linux3.10 操作系统,其他平台也可以参考,但是不同平台之间会存在差异,需客户自行修改以适应自己的使用。编写本文章的主要目的是协助客户加速产品的研发速度,由于小编水平有限,在服务过程中所提供的任何资料和信息,都仅供参考,客户有权不使用或自行参考修改,本文章参考资料和信息的完整性、可靠性等问题请自行验证。

硬件平台简介:

FETA40i-C核心板基于全志工控行业平台级处理器四核Cortex-A7 A40i设计,主频1.2GHz,集成MAli400MP2 GPU,内存1GB/2GB DDR3L,存储8GB eMMC。支持绝大部分当前流行的视频及图片格式解码,具有稳定可靠的工业级产品性能和高性价比低功耗等优势,搭载Linux和Android操作系统,适用于基于视觉交互的工业控制产品,目标应用包含,嵌入式设备、智能终端、工业控制、数据采集、机器视觉 、工业物联网 、移动互联设备、数字标牌等。

<

A40i boa应用 硬件平台FETA40i-cA40i boa应用-硬件平台分类

第二章 A40i系列Boa应用

Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行,Boa的设计目标是速度和安全。

1、Boa配置文件

Boa配置文件在/etc/boa/boa.conf

Boa配置文件

常用配置说明:

(可根据项目需要,将以下配置添加到配置文件里)

Group nogroup

User nobody

这两个配置是配置boa的运行的属主和属组,如果cgi要配置网卡地址,就必须修改成User root

置网卡地址

CGIPath /bin:/usr/bin:/usr/local/bin:/sbin

Cgi程序运行的一个程序搜索路径;比如运行ifconfig eth0 192.169.0.232

就必须配置/sbin路径;ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

/usr/lib/cgi-bin/ 是cgi程序放到boa中的绝对地址,/cgi-bin/ 是客户在网页中提交的cgi地址;例如:/usr/lib/cgi-bin/中放置一个app.cgi;网页访问时候使用/cgi-bin/app.cgi?type=conf&random=0.1111

DocumentRoot /var/www

这个是虚拟目录在开发板中的真实目录

/var/log/boa/access_log

日志需要的文件夹和名字

VerboseCGILogs

调试日志开关,正式运行时候关闭。

2、cgi应用测试demo

CGI是Web服务器运行时外部程序的规范,按CGI编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据库API 与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。

2.1 配置服务器

先运行#boa

之后电脑浏览器浏览http://192.168.0.232/

正常浏览不报错,说明boa运行ok。

把boa/boa.conf 放到A40i 开发板/etc/boa/boa.conf 替换原来的boa.conf

2.2 放置程序

cgi-bin内部的文件放到

/usr/lib/cgi-bin/app.cgi

index.html ,xmlhttpreq.js

放到 /var/www/ajax/文件夹下

修改权限 /etc/boa/boa.conf

chown root:root /var/www/ajax/*

chown root:root /usr/lib/cgi-bin/app.cgi

chmod o+x /usr/lib/cgi-bin/app.cgi

chmod o+r /usr/lib/cgi-bin/app.cgi

2.3 开启boa测试

先运行#boa

之后电脑浏览器浏览http://192.168.0.232/ajax/

2.4 开发及调试代码说明

当打开配置文件VerboseCGILogs 后调试信息就会生成access_log error_log

程序正式调试完成后要关闭程序.程序调试时候需要看这两个日志文件。

Web网页端

说明xmlhttpreq.js程序运行的脚本

获取时间函数调用sender()。

配置ip的函数调用configip()函数配置ip请求;

特别说明:index.html 和xmlhttpreq.js程序脚本是下载在本地浏览器里执行的;cgi不是下载到本地浏览器执行。

Js应用程序

异步返回的时间请求

xhr.open("GET", "/cgi-bin/app.cgi?type=time&random="+Math.random(),true);

是向远程的app.cgi 发送请求,请求获取时间后返回web浏览器。

当远程boa返回正确的数据后。

var returnValue = xhr.responseText;就是返回的结果

异步设置ip请求

//配置ip地址

var data={"name":"ipconfig"};

//ip_address

var str_ip=document.getElementById("ip_address").value;

data.address=str_ip;

xhr.onreadystatechange=callback_configipFunction;

//test.cgi后面跟个cur_time参数是为了防止Ajax页面缓存

xhr.open("POST", "/cgi-bin/app.cgi?type=conf&random="+Math.random(),true);

xhr.setRequestHeader("content-type","application/json");

xhr.send(JSON.stringify(data));

向app.cgi发送一个异步json对象

对象内容是{"name":"ipconfig", “address” :”192.168.0.232”}

服务器回收到这个字符串,然后解释这个字符串进行配置ip

配置成功后会收到{“status”:”ok”} 返回结果。

Cgi程序说明

程序段1

item = cJSON_GetObjectItem(root, "address");//

value=cJSON_Print(item);

if(value!=0)

{

sprintf(str_configip,"ifconfig eth0 %s",value);

ret=system(str_configip);

}

程序段2

if(ret==0)

{

char* retstr="{"status":"ok"}";

printf("%s",retstr);

}else{

char* retstr="{"status":"error"}";

printf("%s",retstr);

}

程序段1 解释json配置网络。

程序段2返回配置执行结果。

通过这个demo,客户就可以实现web网页配置A40i开发板的各种硬件资源。

更多详细干货信息您可以百度搜索 “飞凌嵌入式”获取!!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9600

    浏览量

    393896
  • 嵌入式
    +关注

    关注

    5210

    文章

    20692

    浏览量

    337591
  • 开发板
    +关注

    关注

    26

    文章

    6439

    浏览量

    121243
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【新品】嵌入式开发总在“画板子”?ECK40-E核心:全国产工业,让硬件设计减负

    嵌入式硬件开发周期长?核心选型顾虑多?工业应用要求高?ECK40-E系列核心
    的头像 发表于 04-09 19:33 267次阅读
    【新品】嵌入式<b class='flag-5'>开发</b>总在“画板子”?ECK<b class='flag-5'>40</b>-E核心<b class='flag-5'>板</b>:全<b class='flag-5'>国产</b><b class='flag-5'>工业</b><b class='flag-5'>级</b>,让硬件设计减负

    A40i安卓主板为智能终端提供可靠支撑

    在当今科技飞速发展的时代,智能终端设备如雨后春笋般不断涌现,广泛应用于商业、工业、教育等各个领域。而在这些智能终端的背后,主板作为核心部件,其性能和稳定性直接决定了设备的整体表现。A40i
    的头像 发表于 04-01 15:02 393次阅读
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>A40i</b>安卓主板为智能终端提供可靠支撑

    【米尔T153开发板评测】介绍、环境搭建、工程测试

    Interface 2.54mm 间距的 40PIN 排针,CAN/I2C/SPI/UART/GPIO 详见:T153核心
    发表于 03-28 13:23

    新品!从MINI到工业:米尔T153开发板工业场景覆盖

    正式推出基于同款T153四核异构工业处理器的MYD-YT153MX工业开发板,两款开发板形成
    的头像 发表于 03-27 08:03 2138次阅读
    新品!从MINI到<b class='flag-5'>工业</b><b class='flag-5'>板</b>:米尔T153<b class='flag-5'>开发板</b><b class='flag-5'>工业</b>场景<b class='flag-5'>全</b>覆盖

    【米尔T153开发板评测】开箱与开发板介绍

    丰富的接口:三路千兆以太网、CAN-FD、LocalBus、24个GPADC、30个PWM、6个TWI、10个UART和4个SPI 等。 MYIR开发板的特点是接口丰富,板子做工非常好,按照工业标准
    发表于 03-07 13:06

    香橙派系列开发板适配OpenClaw教程

    。这些高性价比开发板现在也能流畅运行您的“数字员工”。您无需高昂投入,只需一块百元开发板,就能在本地部署一个能理解指令、操作软件、处
    发表于 02-25 18:29

    佩特科技A40i安卓主板在智能商业设备的应用优势

    企业数字化转型的关键载体。而在这些设备的核心——主板的选择上,A40i安卓主板凭借其独特的优势,成为众多厂商的首选方案。
    的头像 发表于 01-26 15:47 559次阅读
    佩特科技<b class='flag-5'>A40i</b>安卓主板在智能商业设备的应用优势

    既要稳定性,还要性价比的工业开发板 — 米尔i.MX91

    之前我介绍过NXPi.MX8系列开发板,最近它的下一代产品i.MX9系列产品也有了,我就拿到了这个基于NXPi.MX9系列的米尔MYD-L
    的头像 发表于 11-20 08:05 2818次阅读
    既要稳定性,还要性价比的<b class='flag-5'>工业</b><b class='flag-5'>级</b><b class='flag-5'>开发板</b> — 米尔<b class='flag-5'>i</b>.MX91

    佩特科技A40i安卓主板产品介绍

    工业智能化浪潮汹涌澎湃的当下,传统工业设备正面临着转型升级的迫切需求。从自动化生产线到智能监控系统,工业领域对于设备的性能、功能以及智能化水平都提出了更高的要求。在这样的背景下,A40i
    的头像 发表于 09-09 17:29 1703次阅读
    佩特科技<b class='flag-5'>A40i</b>安卓主板产品介绍

    基于A40i平台的安卓一体机概述

    A40i平台的安卓一体机,凭借其“四核CPU+丰富接口+安卓生态”的组合,正以“一机多能”的特性重构工业布局,成为服装制造、智能公交、工业自动化等领域的核心设备。
    的头像 发表于 09-04 14:45 1504次阅读

    【创龙TLT113-MiniEVM开发板试用体验】开箱评测

    一、基本信息 开发板型号 :TLT113-MiniEVM(基于T113-i工业处理器) 开
    发表于 08-05 19:59

    从入门到旗舰款,T系列核心怎么选?

    面对FET113i-S核心、FET527N-C核心和FET536-C核心三款主流明星产品,工程师该如何选择?本文将从核心配置、功能特性
    的头像 发表于 06-27 08:06 1981次阅读
    从入门<b class='flag-5'>级</b>到旗舰款,<b class='flag-5'>全</b><b class='flag-5'>志</b>T<b class='flag-5'>系列</b>核心<b class='flag-5'>板</b>怎么选?

    基于米尔T536开发板的视频识别应用方案

    A53处理器、G31GPU、4K编解码能力)和嵌入式场景需求。米尔基于T536开发板以下是分阶段开发方案:‍一、‍
    的头像 发表于 06-05 08:01 2565次阅读
    基于米尔<b class='flag-5'>全</b><b class='flag-5'>志</b>T536<b class='flag-5'>开发板</b>的视频识别应用方案

    米尔NXP i.MX 91核心发布,助力新一代入门Linux应用开发

    积累,赋能新一代入门嵌入式Linux应用。提供1GB LPDDR4 8GB eMMC 的核心开发板,核心采用218PIN引脚的LGA封装设计,工作温度为-
    发表于 05-30 11:20

    全面对比!T536与T507/A40i平台在项目中该怎么选?一文帮你搞定!

    在当今竞争愈发激烈的工业市场中,如何平衡“成本与性能”始终是企业关注的核心问题。T536作为科技新一代的明星产品,一经问世便备受市场瞩目,而T507与A40i也凭借出色表现,在多种
    的头像 发表于 05-21 10:51 1403次阅读
    全面对比!<b class='flag-5'>全</b><b class='flag-5'>志</b>T536与T507/<b class='flag-5'>A40i</b>平台在项目中该怎么选?一文帮你搞定!