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

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

3天内不再提示

LuatOS Air780EPM 开发板 HTTP 教程:原理讲解与项目实操!

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2025-09-26 20:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本篇教程将系统介绍 LuatOS Air780EPM 在 HTTP 通信中的应用,从请求机制到响应解析,配合完整代码演示,让你轻松实现设备端与云端的数据交互。

一、HTTP 概述

1.1 什么是 HTTP?

HTTP 全称为 HyperText Transfer Protocol,中文即“超文本传输协议”。它是一种应用层协议,采用标准的请求-响应模型,通常运行在 TCP 之上,规定了客户端可以向服务器发送何种消息以及预期得到何种响应,常用于分布式、协作式和超媒体信息系统。

1.2 什么是 HTTPS?

HTTPS 全称为 HyperText Transfer Protocol Secure,中文即“超文本传输安全协议”。它并非一种新的协议,而是在 HTTP 之下插入了一层 SSL/TLS 安全通道,同样运行在 TCP 之上。通过加密与身份认证,HTTPS 确保客户端与服务器之间交换的消息不被窃听或篡改,从而为分布式、协作式和超媒体信息系统提供了保密性、完整性与身份可验证的通信基础。

1.3 HTTP 的工作原理(请求-响应模型)

HTTP 采用请求-响应模型:客户端(如浏览器)向服务器发送请求,服务器以状态码和对应资源的表示(如 HTML 字节流)作出响应。

1.3.1 HTTP 请求报文

wKgZPGjWeRaAbeytAAD8Ukhsz6E238.png

一个完整的 HTTP 请求包含请求行、请求头、空行、请求体四部分:

1. Request line(请求行)

Method:请求方式,如GET、POST。

Request-URL:需要访问的目标路径,比如/index.html。

HTTP-Version:HTTP 协议版本号,比如HTTP/1.1。

2. Header Lines(请求头)

由键值对组成,每行一对。请求头包含关于客户端环境和请求正文的重要信息。常见的请求头有:

Host:指定请求的服务器的域名和端口号(HTTP/1.1 必需字段)。

User-Agent:包含发起请求的应用程序信息(浏览器类型、操作系统等)。

Accept:告知服务器客户端能够处理哪些类型的媒体资源(如text/html, application/json)。

Content-Type:(用于有 Body 的请求)请求体的媒体类型(如application/json,application/x-www-form-urlencoded)。

Content-Length:(用于有 Body 的请求)请求体的长度(字节)。

3. Blank line(空行)

就是一个空行,用来分隔头部和正文,告诉服务器:“头部结束,下面是正文了”。

4. Entity Body(请求体)

可选部分,主要用于POST、PUT等需要向服务器发送数据的请求。

内容格式由Content-Type头指定。

常见内容:表单数据(user=admin&pass=123)、JSON 字符串({"user":"admin"})、文件数据等。

请求报文示例如下:

wKgZO2jWeZWAWPUpAAfIhi3Yiho619.png


1.3.2 HTTP 响应报文

wKgZO2jWeb2ANnVMAAE9uDyxV5E717.png

一个完整的 HTTP 响应报文与请求报文几乎一一对应,也是四部分:

1. Status Line(状态行)

HTTP-Version:与请求消息中的版本相匹配,如HTTP/1.1。

Status Code:三位数字,标识请求的处理结果,如200、404。

Reason-Phrase:状态码的简短文字描述,如OK、Not Found。

2. Header Lines(响应头)

一样每行是一个“键值对”,响应头包含关于响应的附加信息。常见的响应头有:

Server:包含处理请求的服务器软件信息。

Date:响应生成的日期和时间。

Content-Type:响应体的媒体类型(如text/html; charset=UTF-8)。

Content-Length:响应体的长度(字节)。

Content-Encoding:响应体使用的编码(如gzip),用于压缩。

Cache-Control:指示响应内容应如何被缓存。

3. Blank Line(空行)

响应头和响应体之间的分隔符,表示响应头的结束。

4. Response Body(响应体)

可选部分,包含服务器返回的实际资源内容。

内容格式由Content-Type头指定。

常见内容:HTML 文档、JSON 数据、图片、CSS、JavaScript 文件等。

响应报文示例如下:

wKgZPGjWeeiAe4xgAAKBz7c_LWc194.png

1.4 HTTP 请求方法

HTTP 客户端发出请求,告知服务端需要执行不同类型的请求命令,这些命令被称为 HTTP 方法。

1.4.1 常见 HTTP 请求方法

下表展示的是常见的 HTTP 请求方法:

wKgZO2jWeheAVWUGAAEf6um3zMk650.png

1.4.2 各版本定义的 HTTP 请求方法

HTTP 标准目前有HTTP/1.0、HTTP/1.1、HTTP/2、HTTP/3四个版本,介绍如下:

HTTP/1.0

HTTP/1.0定义了以下三种请求方法:

GET:请求指定的资源。

POST:提交数据以处理请求。

HEAD:请求资源的响应头信息。

HTTP/1.1

HTTP/1.1引入了更多的请求方法:

GET:请求指定的资源。

POST:提交数据以处理请求。

HEAD:请求资源的响应头信息。

PUT:上传文件或者更新资源。

DELETE:删除指定的资源。

OPTIONS:请求获取服务器支持的请求方法。

TRACE:回显服务器收到的请求,主要用于诊断。

CONNECT:建立一个隧道用于代理服务器的通信,通常用于 HTTPS。

HTTP/2

HTTP/2基本上沿用了HTTP/1.1的方法,但对协议进行了优化,提高了传输效率和速度。HTTP/2也引入了新的特性,如多路复用、头部压缩和服务器推送等。

HTTP/3

HTTP/3基于 QUIC 协议实现,继续使用HTTP/2的方法。HTTP/3主要改进了传输层,使用 UDP 代替 TCP 以提高传输速度和可靠性。

1.5 HTTP 状态码

HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,响应分为五类:

wKgZO2jWek6ADyZoAABhMDUeAsw864.png

二、http 与 httpplus 库的介绍

注意: LuatOS 仅支持HTTP/1.0和HTTP/1.1。

HTTP 在如下的场景,开发成本是最低的:

1. 终端和云端交换文件,不用开发复杂的分包组包协议;

2. 终端从云端下载各种参数,或者终端向云端提交各种参数, 不用设计报文协议,用 http 的参数即可,非常方便。

LuatOS 提供了 http 核心库 和 httpplus 扩展库 实现了 http 客户端。

http 核心库 和 httpplus 扩展库 的区别如下:

wKgZO2jWeoOAHq2JAACqzmJ11wM827.png

三、演示功能概述

在使用示例代码测试时,如果遇到测试域名请求不成功的情况,可以向工作人员进行反馈。

1、http_app:使用 http 核心库,演示以下几种应用场景的使用方式

普通的 http get 请求功能演示;

http get 下载压缩数据的功能演示;

http get 下载数据保存到文件中的功能演示;

http post 提交表单数据功能演示;

http post 提交 json 数据功能演示;

http post 提交纯文本数据功能演示;

http post 提交 xml 数据功能演示;

http post 提交原始二进制数据功能演示;

http post 文件上传功能演示;

2、httpplus_app:使用 httpplus 扩展库,演示以下几种应用场景的使用方式

普通的 http get 请求功能演示;

http get 下载压缩数据的功能演示;

http post 提交表单数据功能演示;

http post 提交 json 数据功能演示;

http post 提交纯文本数据功能演示;

http post 提交 xml 数据功能演示;

http post 提交原始二进制数据功能演示;

http post 文件上传功能演示;

3、netdrv_device:配置连接外网使用的网卡,目前支持以下三种选择(三选一)

(1) netdrv_4g:4G 网卡

(2) netdrv_eth_spi:通过 SPI 外挂 CH390H 芯片的以太网

(3) netdrv_multiple:支持以上两种网卡,可以配置两种网卡的优先级

四、演示硬件环境

wKgZO2jWeumAJpj4ABi45Gm2Qrg611.png

1、Air780EPM V1.3 版本开发板一块 + 可上网的 sim 卡一张 +4g 天线一根 + 网线一根:

sim 卡插入开发板的 sim 卡槽

天线装到开发板上

网线一端插入开发板网口,另外一端连接可以上外网的路由器网口

2、TYPE-C USB 数据线一根 + USB 转串口数据线一根,Air780EPM V1.3 版本开发板和数据线的硬件接线方式为:

Air780EPM V1.3 版本开发板通过 TYPE-C USB 口供电;(外部供电/USB 供电 拨动开关 拨到 USB 供电一端)

TYPE-C USB 数据线直接插到核心板的 TYPE-C USB 座子,另外一端连接电脑 USB 口;

五、演示软件环境

5.1 软件环境

1. 烧录工具:Luatools 下载调试工具

2. 内核固件:Air780EPM V2012 版本固件(理论上,2025 年 8 月 10 日之后发布的固件都可以)

3. 脚本文件:Air780EPM HTTP 脚本文件

4. LuatOS 运行所需要的 lib 文件:使用 Luatools 烧录时,勾选 添加默认 lib 选项,使用默认 lib 脚本文件。

准备好软件环境之后,接下来查看Air780EPM 产品手册中“Air780EPM 开发板使用手册 -> 使用说明”,将本篇文章中演示使用的项目文件烧录到 Air780EPM 开发板中。

5.2 API 介绍

sys 库:https://docs.openluat.com/osapi/core/sys/

http 库:https://docs.openluat.com/osapi/core/http/

httpplu 库:https://docs.openluat.com/osapi/ext/httpplus/

六、程序结构

wKgZPGjWe16AA1gFAAFHb5ZYLEM265.png

6.1 文件说明

main.lua:主程序入口文件,负责初始化系统、启动网络驱动和 HTTP 演示任务。

netdrv_device.lua:网络设备配置文件。

http_app.lua:http 核心库的演示文件,包含 13 个示例场景。

httpplus_app.lua:httpplus 扩展库的演示文件,包含 9 个示例场景。

logo.jpg:供上传、下载测试使用的素材文件。

netdrv/:网络驱动相关文件。

netdrv_4g.lua:4G 网络驱动。

netdrv_eth_spi.lua:SPI 以太网驱动。

netdrv_multiple.lua:多网络驱动管理。

七、核心模块详解

7.1 主程序 (main.lua)

主程序文件main.lua是整个项目的入口点。它负责初始化系统环境。

7.1.1 初始化流程

1. 项目和版本定义

定义PROJECT和VERSION变量。

2. 日志记录

使用log.info``("main", PROJECT, VERSION)在日志中打印项目名和版本号。

3. 看门狗初始化(如果支持):

配置并启动硬件看门狗,防止程序死循环卡死。

4. 加载功能模块

加载网络驱动设备模块(netdrv_device)。

加载 HTTP 核心库示例模块(http_app.lua)。

加载 HTTPPLUS 扩展库示例模块(httpplus_app.lua)。

5. 启动任务调度器

调用sys.run()启动 LuatOS 的任务调度器,开始执行各个任务。

wKgZO2jWe6KAAcSZABGa__ZJoGc298.png

7.2 网络驱动 (netdrv/)

网络驱动模块负责初始化和管理不同的网络连接方式,如 4G 和以太网。

7.2.1 4G 网络驱动 (netdrv_4g.lua)

监听IP_READY和IP_LOSE消息,监控网络连接状态。

设置默认网卡为socket.LWIP_GP。

wKgZO2jWe9WAKQg4AAcNr4ruy-c957.png

7.2.2 以太网网络驱动(netdrv_eth_spi.lua)

通过 SPI 接口外挂 CH390H 芯片实现以太网。

通过控制 GPIO20 引脚使能芯片供电。

配置 SPI0 接口参数,用于与 CH390H 芯片通信。

通过netdrv.setup函数配置以太网卡,并开启 DHCP 动态获取 IP 地址。

设置默认网卡为socket.LWIP_ETH。

wKgZPGjWfAqANx7IABCqd9e3HbU402.png

7.2.3 多网络驱动管理 (netdrv_multiple.lua)

管理多个网络驱动实例,根据配置选择合适的网络连接方式。

通过exnetif.set_priority_order函数配置多网卡的控制参数以及优先级。

通过exnetif.notify_status函数设置网卡状态变化通知回调函数。

wKgZO2jWfFOAbY-DABNTeIPE4OQ160.png

7.3 HTTP 库演示模块(http_app.lua)

http_app.lua是 LuatOS 中基于 http 核心库 所开发的 HTTP 应用功能模块。该模块通过调用http.request接口演示了 13 种 HTTP 请求场景,这 13 种演示功能如下。

7.3.1 下载回调函数

wKgZO2jWfJuACNYUAAHqTAobHDg054.png

该函数在下载数据过程中被调用,用于实时监控下载进度。参数包括:

content_len:数据总长度。

body_len:已下载的数据长度。

userdata:用户自定义参数。

7.3.2 HTTP GET 请求功能

1. 普通 GET 请求

http_app_get()函数演示了三种不同的 GET 请求场景:

1. 基本的 HTTPS GET 请求。

2. 设置超时时间和回调函数的 HTTPS GET 请求。

3. 设置短超时和回调函数的 HTTP GET 请求。

wKgZO2jWfMiAbzRkAAvloVBfVYo985.png

2. 下载压缩数据

http_app_get_gzip()函数演示了如何处理压缩格式的 HTTP 响应:

发送 GET 请求获取压缩的天气数据。

对响应内容进行解压缩处理。

解析解压后的 JSON 数据并提取信息。

wKgZPGjWfPuAJWIPAAdrt5bAB2I927.png

3. 下载数据到文件

http_app_get_file()函数演示了如何将 HTTP 响应直接保存到文件:

创建下载目录。

发送 GET 请求并设置 dst 参数指定保存路径。

验证下载文件的完整性。

按需删除临时文件。

wKgZPGjWfS2ALRYDABUzfRcvTyA503.png

7.3.3 HTTP POST 请求功能

1. 提交表单数据

http_app_post_form()函数演示了如何发送表单格式的 POST 请求:

构造表单数据并进行 URL 编码。

设置正确的Content-Type(application/x-www-form-urlencoded)。

发送请求并处理响应。

wKgZPGjWfV2AXfl7AAYkbS4pAxU600.png

2. 提交 JSON 数据

http_app_post_json()函数演示了如何发送 JSON 格式的 POST 请求:

使用json.encode()将 Lua 表转换为 JSON 字符串。

设置正确的Content-Type(application/json)。

发送请求并处理响应。

wKgZO2jWfYyAeFhEAAS0E_InFZ4949.png

3. 提交纯文本数据

http_app_post_text()函数演示了如何发送纯文本数据格式的 POST 请求:

设置正确的Content-Type(text/plain)。

发送请求并处理响应。

wKgZPGjWfcSAY0yGAAQIDgvTJO0197.png

4. 提交 XML 数据

http_app_post_xml()函数演示了如何发送 XML 格式的 POST 请求:

使用 Lua 的长字符串语法[=[...]=]定义 XML 内容。

设置正确的Content-Type(text/xml)。

发送请求并处理响应。

wKgZPGjWfe6AJUPgAATyqLvH-W0757.png

5. 提交原始二进制数据

http_app_post_binary()函数演示了如何发送原始二进制格式的 POST 情况:

使用io.readFile读取 JPG 图片文件。

设置正确的Content-Type(application/octet-stream)。

发送请求并处理响应。

上传成功后,可以通过指定网址查看上传的图片。

wKgZPGjWfiqAWUL9AAUZ5JKpXbc163.png

7.3.4 文件上传功能

http_app_post_file()函数演示了如何通过 HTTP 上传文件:

调用辅助函数post_multipart_form_data()构造multipart/form-data格式请求。

支持单文件、多文件、单文本或多文本上传。

支持文本字段和文件字段混合上传。

wKgZO2jWfluAbpFcABA0yWYsass581.png

7.3.5 任务管理机制

1. 主任务函数

该函数是模块的核心控制逻辑,实现了:

网络连接等待机制:通过循环检测socket.adapter(socket.dft())和sys.waitUntil("IP_READY", 1000)等待网络就绪。

功能调用序列:按顺序调用所有 HTTP 功能演示函数。

循环执行策略:每次功能演示完成后等待 60 秒,然后再次开始循环。

wKgZO2jWfuGAePqMAAjq1TtWkBI330.png

2. 任务启动

通过sys.taskInit函数创建并启动一个新的任务来运行httpplus_app_task_func函数,使整个模块的功能在后台持续运行。

wKgZPGjWfwCAUxMoAAC1Zr5hPaA918.png

7.4 HTTPPLUS 库演示模块(httpplus_app.lua)

httpplus_app.lua是 LuatOS 中基于httpplus扩展库所开发的 HTTP 应用功能模块。该模块通过调用httpplus.request接口演示了 9 种 HTTP 请求场景,这 9 种演示功能如下。

7.4.1 HTTP GET 请求功能

1. 普通 GET 请求

httpplus_app_get()函数演示了两种不同的 GET 请求场景:

1. 基本的 HTTPS GET 请求。

2. 设置超时时间的 HTTP GET 请求。

wKgZO2jWfzSAE9JsAAc4pd_U88k901.png

2. 下载压缩数据

httpplus_app_get_gzip()函数演示了如何处理压缩格式的 HTTP 响应:

发送 GET 请求获取压缩的天气数据。

对响应内容进行解压缩处理。

解析解压后的 JSON 数据并提取信息。

wKgZPGjWf2OAegwkAAiXvaorzCY347.png

7.4.2 HTTP POST 请求功能

1. 提交表单数据

httpplus_app_post_form()函数演示了如何发送表单格式的 POST 请求:

构造表单数据并进行 URL 编码。

存在forms参数并且不存在 files 参数,系统自动强制以application/x-www-form-urlencoded形式上传数据。

发送请求并处理响应。

wKgZPGjWf5CAS8aUAARoKl-YvJo546.png


2. 提交 JSON 数据

httpplus_app_post_json()函数演示了如何发送 JSON 格式的 POST 请求:

使用json.encode()将 Lua 表转换为 JSON 字符串。

设置正确的Content-Type(application/json)。

发送请求并处理响应。

wKgZPGjWf7aAP_PBAAXOpZRKiBQ599.png

3. 提交纯文本数据

httpplus_app_post_text()函数演示了如何发送纯文本数据格式的 POST 请求:

设置正确的Content-Type(text/plain)。

发送请求并处理响应。

wKgZPGjWf-CAavDnAAU8beKf6to138.png

4. 提交 XML 数据

httpplus_app_post_xml()函数演示了如何发送 XML 格式的 POST 请求:

使用 Lua 的长字符串语法[=[...]=]定义 XML 内容。

设置正确的Content-Type(text/xml)。

发送请求并处理响应。

wKgZO2jWgD-AG5dEAAYjKyu1o6g349.png

5. 提交原始二进制数据

http_app_post_binary()函数演示了如何发送原始二进制格式的 POST 情况:

使用io.readFile读取 JPG 图片文件。

设置正确的Content-Type(application/octet-stream)。

发送请求并处理响应。

上传成功后,可以通过指定网址查看上传的图片。

wKgZPGjWgGqAHDQyAAZJgVuz0Ss629.png

7.4.3 文件上传功能

http_app_post_file()函数演示了如何通过 HTTP 上传文件:

使用files参数上传文件。

系统会自动将请求设置为POST方法,并以multipart/form-data格式发送数据。

支持单文件、多文件、单文本或多文本上传。

支持文本字段和文件字段混合上传。

wKgZPGjWgJ6ADC44AAYRH6jpu8A757.png

7.4.4 任务管理机制

1. 主任务函数

该函数是模块的核心控制逻辑,实现了:

网络连接等待机制:通过循环检测socket.adapter(socket.dft())和sys.waitUntil("IP_READY", 1000)等待网络就绪。

功能调用序列:按顺序调用所有 HTTP 功能演示函数。

循环执行策略:每次功能演示完成后等待 60 秒,然后再次开始循环。

wKgZPGjWgQKAXYIAAAiVuEzI_cQ349.png


2. 任务启动

通过sys.taskInit函数创建并启动一个新的任务来运行httpplus_app_task_func函数,使整个模块的功能在后台持续运行。

wKgZO2jWgS6AVELeAAC7OEvFc8I627.png

八、演示功能

8.1 不同网卡切换

Air780EXX 模组支持单 4g 网卡,单 spi 以太网卡,多网卡。

切换网卡为 4G 网卡:

在netdrv_device.lua模块里只打开netdrv_4g模块。netdrv_4g.lua模块中的代码不需要修改。

wKgZPGjWgVeAcZW2AALpCGgVQfA205.png

Luatools 工具日志打印

如下图所示,如出现类似I/user.netdrv_4g.ip_ready_func IP_READY 10.73.217.4 255.255.255.255 0.0.0.0 nil的日志,则表示 4g 网卡连接成功。

wKgZPGjWgXyAXuozAAVV3z1u-NA755.png

切换网卡为以太网卡:

注意:Air780EPM 的以太网卡是通过 SPI 外挂 CH390H 芯片实现的。

在netdrv_device.lua模块里只打开netdrv_eth_spi模块。如果是使用开发板,netdrv_eth_spi模块中的代码不需要修改。

wKgZPGjWgbaAaLahAAL6ydIcvUM074.png

Luatools 工具日志打印:

如出现类似I/user.netdrv_eth_spi.ip_ready_func IP_READY 192.168.71.66 255.255.255.0 192.168.71.1 nil的日志,则表示以太网卡联网成功。

wKgZPGjWgd-AHBPNAAWWhLAGP0c916.png

多网卡自动切换:

如果需要多网卡,打开require "netdrv_multiple",其余注释掉; 可根据自己的需求调整网卡的优先级,以下示例设置为以太网卡是最高优先级。

首先在netdrv_device.lua文件中只打开netdrv_multiple模块。

wKgZPGjWgjaADYiCAALKLpQQ7eQ772.png

默认以太网卡进行连接

wKgZO2jWgn2ABhdbAAR285QIZoY708.png

拔掉网线后,网络切换为 4g 网卡

wKgZPGjWgqKAdXGCAASRHRL9_jM451.png

8.2 HTTP 请求结果

前面介绍了 HTTP 核心库演示模块中演示了 13 种场景的 HTTP 请求,HTTPPLUS 扩展库演示模块中演示了 9 种 HTTP 请求。因此我们烧录程序成功后,在日志中搜索success 200,程序默认每隔 1 分钟测试一轮,如果每轮出现 22 次success 200,如以下日志所示,就表示成功,如果不够 22 次,则说明部分域名没有请求成功,此时可以通过详细日志所表示的含义,结合代码自行分析。

wKgZO2jWgtaAC5UMAAoRAujOZS8159.pngwKgZO2jWguyAIUT9AAZYNXcN__Q184.png

九、总结

至此,我们演示了使用不同网卡在 22 种场景下进行 HTTP 请求的全过程,相信聪明的你已经完全领悟 HTTP 请求的逻辑了,快来实际操作一下吧!

审核编辑 黄宇

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

    关注

    0

    文章

    531

    浏览量

    34859
  • 开发板
    +关注

    关注

    25

    文章

    6125

    浏览量

    113374
  • LuatOS
    +关注

    关注

    0

    文章

    134

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一文搞懂Air780EPM的NTP通信:LuatOS脚本开发教程

     想在Air780EPM上用LuatOS实现NTP时间同步?这篇教程将用最通俗的方式讲解实现原理与代码实现,让你快速掌握关键技能。 一、NTP通信概述   1.1 NTP 网络时间协议(英语
    的头像 发表于 09-30 18:19 2008次阅读
    一文搞懂<b class='flag-5'>Air780EPM</b>的NTP通信:<b class='flag-5'>LuatOS</b>脚本<b class='flag-5'>开发</b>教程

    Air780EPM嵌入式开发LuatOS下的MQTT通信实践

    通过LuatOS脚本在Air780EPM开发板上实现MQTT通信,是物联网设备开发中高效且便捷的解决方案。 一、MQTT 协议详解   1.1 什么是 MQTT? MQTT(Messa
    的头像 发表于 09-30 16:11 1607次阅读
    <b class='flag-5'>Air780EPM</b>嵌入式<b class='flag-5'>开发</b>:<b class='flag-5'>LuatOS</b>下的MQTT通信实践

    实战Air780EPM:构建4G共享网关,服务WiFi与有线设备!

    通过Air780EPM开发板,我们可以轻松实现4G网络作为数据出口,为周边的WiFi设备和以太网设备提供互联网共享,适用于移动办公、远程部署等场景。 一、多网融合概述   Air780EPM
    的头像 发表于 09-30 16:03 875次阅读
    实战<b class='flag-5'>Air780EPM</b>:构建4G共享网关,服务WiFi与有线设备!

    Air780EPM开发板NTP对时教程:LuatOS脚本开发入门指南

    通过简单的LuatOS脚本,Air780EPM即可实现NTP时间同步。本指南从零开始,带你掌握嵌入式设备联网校时的核心方法。 一、NTP通信概述 1.1 NTP 网络时间协议(英语:Network
    的头像 发表于 09-30 16:01 960次阅读
    <b class='flag-5'>Air780EPM</b><b class='flag-5'>开发板</b>NTP对时教程:<b class='flag-5'>LuatOS</b>脚本<b class='flag-5'>开发</b>入门指南

    LuatOS嵌入式开发实战:Air780EPM与MQTT通信

     本教程聚焦于LuatOSAir780EPM开发板上的应用,演示如何通过脚本实现MQTT协议通信,助力物联网设备快速联网。 一、MQTT 协议详解   1.1 什么是 MQTT? MQTT
    的头像 发表于 09-29 18:10 290次阅读
    <b class='flag-5'>LuatOS</b>嵌入式<b class='flag-5'>开发</b>实战:<b class='flag-5'>Air780EPM</b>与MQTT通信

    Air780EPM开发板FTP功能实战:LuatOS嵌入式开发全解析

    本文深入讲解Air780EPM模组在LuatOS环境下的FTP应用开发,涵盖AT指令配置、网络连接与文件传输流程,助你高效完成嵌入式通信项目
    的头像 发表于 09-29 15:37 255次阅读
    <b class='flag-5'>Air780EPM</b><b class='flag-5'>开发板</b>FTP功能实战:<b class='flag-5'>LuatOS</b>嵌入式<b class='flag-5'>开发</b>全解析

    Air8101多网融合战略升级:Air780EPM模块助力4G联网落地

    应用迈向新高度。 本文将分享Air8101核心通过外挂Air780EPM整机开发板,实现4G联网的功能示例。   一、硬件准备工作   1.1  所需硬件
    的头像 发表于 06-23 16:53 372次阅读
    <b class='flag-5'>Air</b>8101多网融合战略升级:<b class='flag-5'>Air780EPM</b>模块助力4G联网落地

    Air780EPM — ADC硬件电路设计:场景化优化与实践!

    Air780EPM的ADC精度怎么样,想节约一颗外挂ADC…   今天也跟大家一起分享下相关内容。在设计ADC硬件电路之前,请务必先查看LuatOS二次开发ADC相关库函数的描述。 最新ADC库函数
    的头像 发表于 06-11 14:40 507次阅读
    <b class='flag-5'>Air780EPM</b> — ADC硬件电路设计:场景化优化与实践!

    解锁Air780EPM:N种GPIO操控LED的实战技巧!

    在物联网项目中,灵活使用Air780EPM的GPIO控制LED至关重要。本文将展示实现方式,涵盖硬件配置与软件编程,满足不同场景需求。 今天特别分享基于Air780EPM的GPIO控制LED实现方案
    的头像 发表于 05-28 16:56 550次阅读
    解锁<b class='flag-5'>Air780EPM</b>:N种GPIO操控LED的实战技巧!

    深度解析Air780EPM模组:LuatOS下CAN总线通信的完整方案!

    本文聚焦Air780EPM的CAN通信能力,结合LuatOS实时操作系统,从底层驱动到应用层协议,详细拆解如何实现工业级CAN总线数据传输,助力开发者快速落地项目。 最新资料详见: h
    的头像 发表于 05-06 14:22 686次阅读
    深度解析<b class='flag-5'>Air780EPM</b>模组:<b class='flag-5'>LuatOS</b>下CAN总线通信的完整方案!

    深度解析——使用Luatools工具烧录一个具体的项目Air780EPM核心中!

    本篇文章重点介绍如何使用Luatools工具烧录一个具体的项目Air780EPM开发板中。 一、准备好项目文件   在烧录项目文件到
    的头像 发表于 03-25 15:06 606次阅读
    深度解析——使用Luatools工具烧录一个具体的<b class='flag-5'>项目</b>到<b class='flag-5'>Air780EPM</b>核心<b class='flag-5'>板</b>中!

    血泪教训总结:Air780EPMLuatOS二次开发——OneWire协议调试注意事项

    的OneWire通信,大幅提升项目开发效率。 一、LuatOS 及 OneWire 说明   LuatOS 支持 OneWire 通信协议,本文以 DS18B20 温度传感器和
    的头像 发表于 03-20 17:52 906次阅读
    血泪教训总结:<b class='flag-5'>Air780EPM</b>的<b class='flag-5'>LuatOS</b>二次<b class='flag-5'>开发</b>——OneWire协议调试注意事项

    新手必看!4G模组Air780EPM——GPIO的设计说明

    ,构建稳定高效的物联网系统。 一、概述   开发方式 :Air780EPM 仅支持 LuatOS 软件开发方式,不支持 AT 指令开发方式。
    的头像 发表于 03-20 17:48 605次阅读
    新手必看!4G模组<b class='flag-5'>Air780EPM</b>——GPIO的设计说明

    手把手教你!4G模组Air780EPM——GPIO的设计说明

      开发方式 :Air780EPM 仅支持 LuatOS 软件开发方式,不支持 AT 指令开发方式。若使用 AT 指令
    的头像 发表于 03-17 16:07 843次阅读
    手把手教你!4G模组<b class='flag-5'>Air780EPM</b>——GPIO的设计说明

    Air780EPM 模块串口电路设计硬件指导

    串口作为Air780EPM模块的核心通信接口,承担着设备控制、数据传输及外设交互等关键功能,在物联网终端、智能设备、工业自动化等场景中不可或缺。 一、概述   串口作为 Air780EPM 模块最最
    的头像 发表于 03-07 17:56 598次阅读
    <b class='flag-5'>Air780EPM</b> 模块串口电路设计硬件指导