配网应用/蓝牙(推荐)
一、蓝牙配网概述
文章开篇先简单介绍下 Air8000 工业引擎的 AP 模式,一般来说,Air8000 工业引擎使用中支持两种无线网络工作模式,分别为 AP 模式和 STA 模式。
1. AP 模式:
AP 是 Access Point 的缩写,即无线接入点,它是一个无线网络的中心节点,可以看成是一个服务器。它作为一个网络的中心节点,提供无线接入服务,其他的无线设备允许接入该节点,所有接入该节点设备的无线信号数据都要通过它才能进行交换和互相访问。一般的无线路由器、网关、热点就是工作在 AP 模式下,AP 节点和 AP 节点之间允许相互连接。
Air8000 工业引擎工作在 AP 模式时,就可以用手机或者其他通讯设备连接上 Air8000 工业引擎直接与其通信,通过 Air8000 工业引擎可以实现设备集中管理及局域网无线控制。
2. STA 模式
STA 是 Station 的缩写,它是无线网络中的一个终端站点设备,可以看成是一个客户端,一般来说,处在 STA 模式下的设备本身不接受无线的接入,该设备连接到 AP 节点进行网络访问,STA 模式下的设备之间的通信可以通过 AP 进行转发实现。
Air8000 工业引擎工作在 STA 模式时,可以连接到路由器的无线网络中去,手机或电脑通过无线网络实现对 Air8000 工业引擎的远程控制。
蓝牙配网就是让Air8000工作在蓝牙配网模式下,手机app通过蓝牙连接Air8000,通过app内界面实现配网功能。
二、准备硬件环境
参考:Air8000 硬件环境清单,准备好硬件环境。
2.1 Air8000 核心开发板
三、准备软件环境
3.1 文章内容应用
1. 烧录工具:Luatools 工具
2. Air8000 烧录需要的固件和脚本文件:
内核固件:https://gitee.com/openLuat/LuatOS/tree/master/module/Air8000/core
脚本文件(需要烧录两个,此处是espblufi.lua,main.lua在下方代码示例):https://gitee.com/openLuat/LuatOS/blob/master/script/libs/espblufi.lua
3. LuatOS 运行所需要的 lib 文件:使用 Luatools 烧录时,勾选 添加默认 lib 选项,使用默认 lib 脚本文件。
准备好软件环境之后,接下来查看如何烧录项目文件到 Air8000 开发板中,将本篇文章中演示使用的项目文件烧录到 Air8000 开发板中。
3.2 APP 介绍
1. EspBluFi AIR8000蓝牙配网APP
2. APP下载 (当前仅支持安卓)
四、APP蓝牙配网功能实现
本小节教你怎么设置 蓝牙 配网,实现 Air8000 工业引擎的配网系统。
4.1 本教程实现的功能定义是:
-
烧录蓝牙配网脚本,打开蓝牙
-
手机打开EspBluFi APP通过蓝牙连接AIR8000
-
APP连接到AIR8000后直接在APP上进行配网、加密、扫描等一系列功能实现
4.2 代码示例
-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "ble"
VERSION = "1.0.0"
sys = require("sys")
-- 通过boot按键方便刷Air8000S
function PWR8000S(val)
gpio.set(23, val)
end
gpio.debounce(0, 1000)
gpio.setup(0, function()
sys.taskInit(function()
log.info("复位Air8000S")
PWR8000S(0)
sys.wait(20)
PWR8000S(1)
end)
end, gpio.PULLDOWN)
if airlink.irqmode then
log.info("尝试开启IRQ模式", "GPIO20 <--> GPIO140")
-- airlink.irqmode(true, 20, 140)
end
local espblufi = require("espblufi")
local function espblufi_callback(event,data)
if event == espblufi.EVENT_STA_INFO then
for i, v in pairs(data) do
print(i,v)
end
elseif event == espblufi.EVENT_SOFTAP_INFO then
for i, v in pairs(data) do
print(i,v)
end
elseif event == espblufi.EVENT_CUSTOM_DATA then
espblufi.send_custom_data(data)
end
end
sys.taskInit(function()
ble_device = espblufi.init(espblufi_callback)
espblufi.start(ble_device)
while 1 do
sys.wait(1000)
end
end)
-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!
五、功能演示
5.1 下载 APP
打开APP,可以看到刷新后并没有显示设备
5.2 APP配网系统展示
将espblufi.lua和main.lua脚本烧录进去后显示执行luat bluetooth init
打开APP,刷新后显示BLUFl_Air8000选项
点击BLUFl_Air8000
点击连接
点击配网,有三种模式选择,现在先演示sta模式
点击确定,app显示成功,模块也有打印
5.3 AP模式
可以设置加密、信道、最大连接数
设置密码后点击确定,打印密码以及AP已开启
5.4 扫描模式
点击界面上的扫描,APP中出现扫描扫描结果,日志也有扫描数量打印
六、总结
本文档详细展示了蓝牙配网技术的实现流程,通过具体实例生动诠释了这一过程。首先,AIR8000启用蓝牙模式,紧接着手机使用app搜索并连接,在手机端即可操作配网、加密、扫描等一系列动作。
操作时,用户需下载EspBluFi安卓APP,设备烧录脚本后开启蓝牙,手机APP扫描连接"BLUFl_Air8000"设备,即可在APP界面选择STA模式(输入目标WiFi账号密码)或AP模式(自定义热点参数)完成配网,操作过程可通过设备日志和APP界面实时验证配网状态。
七、常见问题
7.1 无法连接Air8000 WIFI热点
1. 检查是否烧录Air8000WiFi固件。
2. 检查是否连接天线。
3. 确认连网设备在Air8000附近。
7.2 扫描不到AIR8000的蓝牙
1. 检查是否烧录Air8000蓝牙配网脚本。
2. 将核心板断电再上电或是重启APP.
7.3 蓝牙配网优缺点
1. 优点:这种方式很可靠,成功率基本达到 100%,设备端的代码也简单,有手机即可快速配网。
2. 缺点:目前只有安卓手机支持该APP,并且受限于距离,需要用户在设备附近才可进行连接配网。