Ai-WB2-12F使用安信可中间件接入爱星云,远程点个灯——第一篇

[复制链接]
查看3540 | 回复16 | 2023-12-26 16:44:28 | 显示全部楼层 |阅读模式
本帖最后由 起个名字好难啊 于 2023-12-26 17:27 编辑
一、简介
想必大家都看了很多关于爱星云的帖子,做嵌入式的同学肯定有这么个问题:爱星云很好,很厉害,可是我该怎么通过WB2或者M61/M62模组接入爱星云呢?
阿莫我啊,今天就被领导拎出来写这个帖子,让大家真正地用上爱星云。
在正式开始之前,说明一下:
本帖子最终让大家实现使用爱星云的App 控制开发板的RGB灯其中一盏,简单来说就是点灯!
二、前期准备
2.1 云平台准备
这次帖子的主要内容是教大家如何通过SDK接入爱星云,不包括账号的创建和App的构建,但是大家务必要熟悉爱星云开放平台的使用:
看完这四个帖子的内容,应该具有以下几个东西:
  • 在开放平台有一个开发完成的灯的产品,及其一个默认的控制面板
  • 至少有一个三元组,也就是有个设备(一个三元组等于一个设备)。
  • 有个自己构建的App,并且可以登录。必须是自己构建的,不然配网的时候无法发现设备。
以下是我的信息:
灯的产品,控制面板默认:
配网流程(1).png
三元组:

配网流程123.png
爱星云App:

配网流程32.png
App 只要构建一个就行了。
2.2 SDK准备
接入爱星云推荐使用安信可中间件SDK,这样的话,一套代码可以在不同的模组上运行。
中间件源码地址:https://github.com/Ai-Thinker-Open/aithinker_dev_open_sdk
源码相对较大,建议使用梯子克隆,而且不支持Windows 开发。

克隆SDK:
  1. git clone https://github.com/Ai-Thinker-Open/aithinker_dev_open_sdk.git
复制代码
更新编译工具链:
  1. bash .github_split/split_after.sh
复制代码
更新SDK及DEMO:
  1. ./build.sh update
复制代码
等待更新完成.....
更新SDK或安装依赖:

  1. ./build.sh environment
复制代码
等待更新完成....
编译测试,在SDK根目录下运行:
  1. ./build.sh bl602 demo menuconfig
复制代码
直接保存设置后退出,然后执行编译指令:
  1. ./build.sh bl602 demo cn debug
复制代码
编译成功log:
...(编译过程的log)
Generating BIN File to /home/seahi/workspace/aithinker_dev_open_sdk/os/bl602_sdk_lts/sdk/bl_iot_sdk/customer_app/dev_project/build_out/src.bin
记录了0+0 的读入
记录了0+0 的写出
0字节已复制,8.8943e-05 s,0.0 kB/s
Building Finish. To flash build output.

build output:

-rwxrwxr-x 1 324K Dec 26 14:34 /home/seahi/workspace/aithinker_dev_open_sdk/out/bl602/demo/bin/dev_project.bin
-rwxrwxr-x 1 5.0M Dec 26 14:34 /home/seahi/workspace/aithinker_dev_open_sdk/out/bl602/demo/elf/dev_project.elf
-rw-rw-r-- 1 5.2M Dec 26 14:34 /home/seahi/workspace/aithinker_dev_open_sdk/out/bl602/demo/map/dev_project.map

aithinker_dev_sdk build time is 0min 21s

说明:
中间件SDK当中还没有写关于烧录的指令,因此编译出来的固件需要到Windows 中对应的模组烧录工具进行烧录。
三、新建项目
3.1 新建远程仓库
如果网络OK的情况下,可以使用github 仓库,鉴于大部分同学都是国内用户,本文就使用gitee仓库来讲解,新建开源仓库并且初始化:
D553D139-4B6D-4436-BB91-BE8065A3F77A.png
创建成功之后,回到SDK中,在“aithinker_dev_open_sdk/application/application_version”目录下,新建一个txt 文件,并且命名为:xxx_version.txt
xxx_version.txt 其中xxx为远程仓库名

在该txt 文件下添加以下信息:
name:<项目名称(与远程仓库名称保持一致)>
branch:<分支名称,通常为 master>
commit:<提交号,可以留空>
repository:<仓库地址,为:https地址>

切记,最后的新行是必需的,例如:
0B61CE01-6C75-4e4a-BEB2-A5258A556053.png
3.2 初始化新项目
回到SDK 根目录下,再次使用更新指令,就能在“application”文件夹中同步远程仓库:
  1. ./build.sh update
复制代码
再次进入到“application”目录:
  1. cd application
  2. ./application_init.sh my-aithinker_obj
复制代码
./application_init.sh my-aithinker_obj/
是项目初始化指令,会在项目当中添加创建项目文件,添加后的文件如下: 76ACCB04-4356-4679-955B-6DFA70974160.png

初始化成功之后,有这些文件,证明项目已经新建成功
3.3 编译新项目
同样的编译之前需要进行配置后再编译,回到SDK 目录,运行指令,例如:
  1. cd ..
  2. ./build.sh bl602 my-aithinker_obj menuconfig
  3. ./build.sh bl602 my-aithinker_obj cn debug
复制代码
3.4 添加命令行烧录功能
虽然中间件SDK当中没有命令行烧录指令,但是SDK当中是有命令行烧录工具的,只需要把相应的参数填好就能实现烧录了,
Ai-WB2:
先更改烧录指令权限:
  1. sudo chmod 777  ./os/bl602_sdk_lts/tools/flash_tool/bflb_iot_tool-ubuntu
复制代码
打开"build.sh"脚本,在584行添加以下代码:
cd $root_dir/os/bl602_sdk_lts/tools/flash_tool && env SDK_APP_BIN=$root_dir/out/$chip/$application/bin/dev_project.bin \
    SDK_BOARD="env" SDK_NAME="dev_project" \
    BL_FLASH_TOOL_INPUT_PATH_cfg2_bin_input=$root_dir/out/$chip/$application/bin/dev_project.bin ./bflb_iot_tool-ubuntu \
    --chipname=BL602 \
    --baudrate=921600 \
    --port=/dev/ttyUSB0 \
    --pt=$root_dir/os/bl602_sdk_lts/tools/flash_tool/chips/bl602/partition/partition_cfg_2M.toml \
    --boot2=$root_dir/os/bl602_sdk_lts/tools/flash_tool/chips/bl602/builtin_imgs/boot2_isp_bl602_v6.4_rc6/boot2_isp_release.bin \
    --dts=$root_dir/os/bl602_sdk_lts/tools/flash_tool/chips/bl602/device_tree/bl_factory_params_IoTKitA_40M.dts \
    --firmware=$root_dir/out/$chip/$application/bin/dev_project.bin

然后就能实现编译后烧录了,但是烧录还不能使用串口打断,需要按住boot 再复位。
3.4 把新项目的源码同步到远程仓库
直接进入项目根目录,例如:

  1. cd application/my-aithinker_obj/
复制代码
然后按照使用git 指令更新即可:
  1. git add .
复制代码
可能会出现“鉴权失败”的状况,只需要更新一下SSH 公钥或者输入用户名和密码即可。
四、预告

本来想着一篇写完,但是我现在已经头晕眼花了,万一没保存,又要重新写一次。我已经重写一次了,明天再更新爱星云的代码移植。各位同学先搭建中间件SDK!


回复

使用道具 举报

起个名字好难啊 | 2023-12-26 17:28:56 | 显示全部楼层
最后同步远程代码的指令:
git commit -m "frist commit"
git push origin master
回复 支持 1 反对 0

使用道具 举报

爱笑 | 2023-12-26 16:50:54 | 显示全部楼层
莫工出品,必是精品!
用心做好保姆工作
回复 支持 1 反对 0

使用道具 举报

Mr.Tail | 2023-12-26 17:09:56 | 显示全部楼层
终于来了
回复

使用道具 举报

业余菜狗 | 2023-12-26 17:15:35 | 显示全部楼层
看得我有点头大
回复 支持 反对

使用道具 举报

1084504793 | 2023-12-26 17:31:13 | 显示全部楼层
回复

使用道具 举报

san | 2023-12-26 22:32:58 | 显示全部楼层
学习
回复

使用道具 举报

吃一个鸡蛋 | 2023-12-27 08:53:34 | 显示全部楼层
学习
回复

使用道具 举报

每天八杯水 | 2023-12-27 09:04:45 | 显示全部楼层
学习
回复

使用道具 举报

lazy | 2023-12-27 09:22:05 | 显示全部楼层
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则