大数跨境
0
0

Ai-WB2-12F使用安信可中间件接入爱星云,远程点个灯(2)

Ai-WB2-12F使用安信可中间件接入爱星云,远程点个灯(2) 安信可科技
2024-01-05
1
导读:更多教程可在安信可社区查看
上次已经给大家讲了如何搭建中间件SDK(Ai-WB2-12F使用安信可中间件接入爱星云,远程点个灯——第一篇)。经过上次的帖子,小伙伴们想必已经完成一个新项目的添加,并使用WB2编译成功,今天讲如何移植爱星云的源码

在正式开始之前,先介绍一下设备上云的流程。


VScode 启动




一、连接Wi-Fi
第一步是设备进入配网,在配网之前需要能够正式连接到网络。

先把项目中的“h1”和“h2”两个文件夹删除。
  • 新建文件夹为“wifista”(文件夹名字根据自己喜好定义就行)

  • wifista 新建连接Wi-Fi的.c 和.h 文件,名字自定义


连接Wi-Fi 主要写三个函数:

  • Wi-Fi 初始化函数

  • Wi-Fi 连接函数

  • Wi-Fi 断开函数


Wi-Fi 初始化函数:staWiFiInit()


Wi-Fi 连接函数函数:staWiFiConnect(char* ssid,char* password)

Wi-Fi 断开函数:staWiFiDisconnect()

之后在Main.c 中调用之后就能实现连接Wi-Fi。


二、LED控制

RGB灯是开发板上唯一能过作为指示的器件,所以使用RGB作为网络指示灯是非常好的选择。设置以下状态:

  • 网络未连接或者断开:绿灯快闪

  • 网络成功连接或已连接:隔2s 闪烁一次

  • 正在连接WiFi:1s 间隔慢闪


2.1创建源码文件
直接创建名为"LED" 的文件夹,然后在里面创建.c和.h 文件名字自定,这里用的是 led_dev.c 和led_dev.h。并且写几行基础的代码。

led_dev.c

led_dev.h


2.2编写功能函数
后面也会使用这个库写受控灯的函数,暂且写网络灯的函数吧,一共有四个:

  • 网络灯初始化函数,Ai-WB2-12F 的蓝色灯在IO3,并且创建闪烁任务

  • 快闪状态 间隔100ms

  • 隔2s 闪烁两次状态

  • 500ms 间隔慢闪状态


网络灯初始化函数  devLedNetWorkdInit(void)

这里其实只有每种状态指示延时时间上的区别而已,所以只需要在任务当中改变延时时间就行了。
网络灯状态处理任务,led_dev_run_task(void* arg):

状态更新函数 devLedNetWorkdChangeState():


2.3 调用状态更新函数
状态更新函数只需要在Wi-Fi 回调中的各个事件中调用即可,效果如下:





三、按键读取
Ai-WB2-12F 开发板要进入配网,需要有个控制方式,开发板上的IO8按键正好可以使用,读取IO8按键,高电平长按2s 后进入配网。


按键初始化函数configButtomInit():

长按识别任务:

其他进入配网的方式也可以自己去实现,只需要能够进入配网状态就行。




四、爱星云配网移植


按照惯例,先新建一个文件夹用来存放爱星云的移植文档,本贴使用“aiio_cloud”作为文件名,可以根据自己喜好创建,之后关于爱星云的源码都会放在该文件夹中。

在该文件夹中新建一个.h 用来声明爱星云的配置,比如产品信息,三元组等,这里命名为“cloud_config.h"。


爱星云的配网有两种:BLE 和AP配网,本贴主要介绍BLE 配网,BLE 配网主要有两个函数:

  • BLE 配网启动函数

  • BLE 配网停止函数


BLE 配网启动函数bleConfigStart()

BLE 配网回调函数:

在回调函数当中,获取到了SSID、PASSWORD和MQTT 服务器地址以及其他的连接参数,打印出来之后,直接调用Wi-Fi连接,就能实现配网。


在Wi-Fi连接成功之后,停止调用配网函数就行。


说明:


此时因为没有连接爱星云,所以使用App 配网时会出现添加失败的提示,但是实际上Wi-Fi是连接成功的,只是没有连接爱星云而已。




五、其他内容


剩下的就是爱星云真正接入的部分,因为需要教大家比较多的东西,长话短说,直接做了一份基本连接的源码,大家根据基本连接的源码快速实现爱星云的连接。剩下的内容直接在源码README 中介绍,大家可点击查阅。


源码地址:
https://gitee.com/seahi007/my-aithinker_obj




  热文回顾


1、安信可雷达模组怎么选?看这篇,不踩雷!

2、没有工程师,但领导要求搞定产品控制APP?这活还能这么干?

3、【用户作品】用小安派DIY个简单的CC表


开发资料

https://docs.ai-thinker.com/

官方教程

安信可科技CSDN

安信可官网

https://www.ai-thinker.com







【声明】内容源于网络
0
0
安信可科技
全球领先的联网模组、智能家居等物联网硬件方案提供商。
内容 393
粉丝 0
安信可科技 全球领先的联网模组、智能家居等物联网硬件方案提供商。
总阅读1
粉丝0
内容393