登录发现更多内容
首页
分类
发帖
账号
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
QQ
微信
首页
Portal
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
产品教程
BBS
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
开发资料
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
样品购买
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
IoT云平台
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
GitHub
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
技术博客
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
搜索
搜索
热搜:
LoRa
ESP8266
安信可
本版
帖子
用户
请
登录
后使用快捷导航
没有账号?
立即注册
每日签到
任务
广播
导读
排行榜
设置
我的收藏
退出
2
0
0
首页
板子开箱专区
›
【小安派R2测评】安信可小安派R2——开箱与环境搭建 ...
返回列表
【小安派R2测评】安信可小安派R2——开箱与环境搭建
[ 复制链接 ]
发布帖子
SweetSmile
中级会员
1
主题
1
回帖
299
积分
中级会员
中级会员, 积分 299, 距离下一级还需 201 积分
中级会员, 积分 299, 距离下一级还需 201 积分
积分
299
私信
2人留言
楼主
板子开箱专区
1612
2
2024-9-24 23:14:37
[i=s] 本帖最后由 SweetSmile 于 2024-10-16 23:40 编辑 [/i]
> 本帖最后由 SweetSmile 于 2024-10-16 23:39 编辑 > 本帖最后由 SweetSmile 于 2024-10-16 23:06 编辑 > 本帖最后由 SweetSmile 于 2024-9-24 23:13 编辑 > 本帖最后由 SweetSmile 于 2024-9-24 22:54 编辑 # 一、小安派开箱 **很幸运能被安信可选中体验小安派R2,这块板子搭载了BL618,是一颗拥有WiFi与BLE的高性能芯片,板子外设和功能就不再过多的赘述了,下面贴上两份官方的规格书和参考文档链接,有兴趣的话可以翻阅一下,写的还是比较清晰的。** **1、AI-M61-32S-kit——规格书** [[https://docs.ai-thinker.com/](https://docs.ai-thinker.com/)\_media/ai-m61-32s-kit\_v1.1.2\_product\_specification\_cn.pdf]([https://docs.ai-thinker.com/_media/ai-m61-32s-kit_v1.1.2_product_specification_cn.pdf](https://docs.ai-thinker.com/_media/ai-m61-32s-kit_v1.1.2_product_specification_cn.pdf)) **2、BL616/BL618参考手册** [[https://docs.ai-thinker.com/](https://docs.ai-thinker.com/)\_media/bl616\_bl618\_rm\_zh\_cn\_0.96\_open\_.pdf]([https://docs.ai-thinker.com/_media/bl616_bl618_rm_zh_cn_0.96_open_.pdf](https://docs.ai-thinker.com/_media/bl616_bl618_rm_zh_cn_0.96_open_.pdf)) **当园长通知我被选中很是期待它的到来,经过几天的漂流,我也是成功把小安派接回了家。** ## 1、全家福 
图1

图2
**可以看到,园长这次活动真的很大方啊,再次感谢,这块四寸的86屏真的很漂亮的说,板子是单声道但还是配了两个扬声器,大气哦,而且还有这颗130万像素点的usb摄像头,可以说,配置豪华得远远超出了我的期待。(原以为就一块主板和86屏)** ## 2、小安派R2主板 
图3

图4
**这就是主控板的全身照了,可以看得出来,板子做工很好,沉金板来的,预留的接口很丰富。背面还预留了tf卡座和各个测试点,这是我非常喜欢的一点,作为一块学习板来说,这些测试点非常方便软件调试和问题分析,虽说不大用得到(小声)。嘿嘿,可以看到园长安派打包的时候很贴心的哦,用了一块泡棉保护排针,点赞一手👍。** ## 3、上电 
图4 **欸嘿,看都看到这里了,这不得来波点灯,直接怼上屏幕,插入Type-C。芜湖,也是成功点灯。板子出场默认烧录了一个固件,用GUI-Guider做的一个界面,还是比较漂亮的,两个switch也做了交互,就是字体选小了点,有点糊,不然就更好看了。** **简简单单的开箱就到这里了,后续就进入环境搭建了,不懂多久才能写完哦,当了个打工人,只能下班抽点时间摸摸。** ## 二、环境搭建 **相较于最初,社区内环境搭建的教程和帖子已经数不胜数了,简直可以挑花眼去,这边直接贴出几个高质量的教程贴。** ### 1、Arduino环境搭建 **用Arduino真的是很巴适,开发简单易上手,众多的库可以调用,环境搭建也十分的方便,就是可能需要科学工具。具体安装方式可以参考下面的帖子。** [Arduino参考]([https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=43580&fromuid=15258%0A](https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=43580&fromuid=15258%0A)) **环境搭建好,那肯定少不了祖传的点灯环节,简单的使用Arduino库的串口来点一下灯。** ``` /*led灯珠引脚配置*/ #define RED 12 #define GREEN 14 #define BULE 15 /*串口接收缓存*/ char revdata[20]; char revlen = 0; /*led控制函数*/ void led_turn(char c, int pin) { if (revdata[1] == 'N') digitalWrite(pin, HIGH); if (revdata[1] == 'F') digitalWrite(pin, LOW); } void setup() { /*串口初始化*/ Serial.begin(2000000); Serial.println("Hello"); /*初始化led引脚作为输出模式*/ pinMode(RED, OUTPUT); pinMode(GREEN, OUTPUT); pinMode(BULE, OUTPUT); /*led默认关闭*/ digitalWrite(RED, LOW); digitalWrite(GREEN, LOW); digitalWrite(BULE, LOW); } void loop() { /*串口接收*/ while (Serial.available() > 0) { revdata[revlen++] = char(Serial.read()); delay(2); } if (strlen(revdata) > 0) { /*打印串口接收到的数据*/ Serial.println(revdata); /* 串口指令判断 RN:开启红灯 RF:关闭红灯 蓝绿同理 */ switch (revdata[0]) { case 'R': led_turn(revdata[1], RED); break; case 'G': led_turn(revdata[1], GREEN); break; case 'B': led_turn(revdata[1], BULE); break; default: break; } /*串口接收缓存*/ memset(revdata, 0, strlen(revdata)); revlen = 0; } } ``` **Arduino库API函数推荐参阅以下几个链接:** [***DFROBOT***]([https://wiki.dfrobot.com.cn/Arduino%E7%BC%96%E7%A8%8B%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C](https://wiki.dfrobot.com.cn/Arduino%E7%BC%96%E7%A8%8B%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C)) [***太极创客***]([http://www.taichi-maker.com/homepage/reference-index/arduino-code-reference/](http://www.taichi-maker.com/homepage/reference-index/arduino-code-reference/)) ## 2、官方SDk环境搭建 **官方环境搭建也很简单,其实主要就是获取SDK包,在环境变量中添加好编译工具,但这个包存放在git上,所以需要安装git工具方便拉取,编辑器的话推荐使用vscode,个人觉得很好用,主要是界面主题很好看哈哈,下面就是社区内详细具体的搭建过程帖子了。** **想自己拉取SDK的话可以参照这个帖子,这帖子里有编译工具路径添加说明:**[**Windows环境搭建**]([https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=282](https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=282)) **想偷懒的话官方网站也有一键脚本:**[**一键脚本**]([https://docs.ai-thinker.com/eyes-r](https://docs.ai-thinker.com/eyes-r)) **不过我更推荐下载离线包,保存起来,错误修改了SDK还可以掏出来重新解压一个就好了:**[**离线包**]([https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44676&extra=page%3D1](https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44676&extra=page%3D1)) **根据上面这几个帖子搭好环境环境后就可以愉快的点灯了,照例使用串口点灯,在例程gpio\_input\_output工程下进行修改。** ```c #include "bflb_gpio.h" #include "board.h" #include "bflb_core.h" #include "bflb_uart.h" /*led灯珠引脚配置*/ #define RED 12 #define GREEN 14 #define BLUE 15 /*串口接收缓存*/ char revdata[20]; char revlen = 0; //设备句柄 struct bflb_device_s *gpio; struct bflb_device_s *uart0; /*led控制函数*/ void led_turn(char c, int pin) { if (revdata[1] == 'N') bflb_gpio_set(gpio, pin); if (revdata[1] == 'F') bflb_gpio_reset(gpio, pin); } int main(void) { board_init(); gpio = bflb_device_get_by_name("gpio"); uart0 = bflb_device_get_by_name("uart0"); bflb_gpio_init(gpio, RED, GPIO_OUTPUT | GPIO_SMT_EN); bflb_gpio_init(gpio, GREEN, GPIO_OUTPUT | GPIO_SMT_EN); bflb_gpio_init(gpio, BLUE, GPIO_OUTPUT | GPIO_SMT_EN); while (1) { while (bflb_uart_rxavailable(uart0)) { revdata[revlen++] = bflb_uart_getchar(uart0); bflb_mtimer_delay_ms(2); } if (revlen != 0) { revdata[strlen(revdata)] = '\0'; /*打印串口接收到的数据*/ printf("%s\n", revdata); /* 串口指令判断 RN:开启红灯 RF:关闭红灯 蓝绿同理 */ switch (revdata[0]) { case 'R': led_turn(revdata[1], RED); break; case 'G': led_turn(revdata[1], GREEN); break; case 'B': led_turn(revdata[1], BLUE); break; default: break; } /*串口接收缓存*/ memset(revdata, 0, strlen(revdata)); revlen = 0; } } } ``` **值得一提的是,通过翻看board\_init()函数,会发现,串口0已经被初始化并绑定了控制台用于输出调试信息,所以我们并不需要再次初始化它,实现串口接收处理即可,为了方便我使用了串口轮询接收,其实最好改成dma中断接收,这样可以减少cpu运算。** ### 自定义工程路径 **或许有这么一个需求,需要在自定义路径下存放一个干净简洁的工程目录。毕竟在 VScode 打开 `AiPi-Open-Kits` 文件夹会发现打开了一堆密密麻麻的的文件,并且点击一个头文件进行查看就会发现,都不懂跳转到了哪里,属实有点混乱哈哈。** #### 1、复制需要的工程模板到指定路径 **我就拿经典的helloworld演示一下,复制结束后使用vscode打开咯**  #### 2、在Makefile文件中指定SDK路径  **这时候新建一个终端,make一下就编译可以了**   #### 3、添加includePath **这时候打开mian.c就会发现头文件报红,其实是vscode没找到头文件导致的,打开c\_cpp\_properties.json将头文件路径添加一下就好了**  **这样子就得到一个干净舒服的工程了。注意:****需要编译过一次才能这样添加,不然的话没有.vscode文件夹,那就要通过C/C++配置进行添加**。 ## 三、小安派R2工程编译 **小安派r2和ai-m61-32s-kit一样是使用BL618模组,它两的环境搭建都是一样的。不过r2出厂时进行了加密处理所以在运行的时候,需要指定特定的 boot2及验证固件。否则程序可能无法正常运行。这个描述在****[AiPi-Eyes-R2\_V1.0]([https://oshwhub.com/ai-thiner_openteam/aipi-eyes-r2_v1-0](https://oshwhub.com/ai-thiner_openteam/aipi-eyes-r2_v1-0))中可以看到。** ) **这部分其实知道就好,不用操心,因为R2出厂时固件源码就是AiPi-Open-Kits下的AiPi-Eyes-Rx工程**  **使用vscode打开这个工程后,查看整个工程目录架构,可以看到已经配置好了lvgl、freeRTOS等组件,lvgl默认运行的是NXP的guiguider工具绘制的界面。** **接着把mian中的其他任务通通注释掉,来跑一下lvgl的压力测试demos**  **make一下会出现一个报错,其实是lvgl的压力测试演示的宏没开导致的**  **来到mian文件的头文件这,打开**#**include "demos/lv\_demos.h",接着再找到****if LV\_USE\_DEMO\_STRESS的定义,跳转进去将配置打开**  **再make一下就可以看到编译通过了,使用make flash COMX=COM8(8为自己的端口号)烧录进板子,复位一下。R2的性能还是很强劲的,压力测试下,平均帧率可以到30帧以上。** 
四、DIY小玩意 一开始拿到这板子屏幕最直接的想法就是做智能家居、思路:其他单片机设备连接传感器采集数据后通过ble传输到小安派R2、然后小安派R2一边通过屏幕显示数据、一边连接wifi将数据上传到mqtt服务器,实现手机app实时查看和控制家庭设备。也确实是这么做的,mqtt服务器也已经搭好了,使用emqx在自己的电脑上部署服务器,只要设备与电脑在同一个局域网内即可进行通信。但现在腰斩了,属实是抱歉,生活中一些事情导致没有太多时间把玩这块板子。现在只好先将一个简陋的串口调试器发出来,智能家居这块等抽出时间来在接着继续了。
1、使用Gui guider编辑生成简单的UI界面 
2、在事件回调中实现串口收发 代码实现起来很简单,我就不发出来招笑了。 
3、效果展示 [https://www.bilibili.com/video/BV1U9seewEuF/](https://www.bilibili.com/video/BV1U9seewEuF/)
五、不足与建议 1. 这块板子在我看来不足的点是很少的,大屏幕和兼具ble与WiFi注定了很高的可玩性。 唯一一点不足就是屏幕与板子的连接了,不固定一下用起来真的是心惊肉跳的,生怕断了。 建议的话,建议以后把type-c与屏幕排线FPC座子分开,没有固定架子的话,插线时好怕的。
点赞
0
收藏
0
淘帖
0
────
0
人觉得很赞
────
回复
使用道具
举报
2 回复
电梯直达
正序浏览
倒序浏览
正序浏览
沙发
爱笑
回复
使用道具
举报
2024-9-25 08:35:51
不错不错!
回复
评论
使用道具
举报
用心做好保姆工作
板凳
bzhou830
回复
使用道具
举报
2024-9-25 09:04:51
摄影师就是你。
回复
评论
使用道具
举报
选择去发光,而不是被照亮
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
手机登录
点评
高级模式
本版积分规则
回帖并转播
回帖后跳转到最后一页
返回
今日推荐
【求助】D200连接官方烧录底板 烧录握手失败
基于AI-WB2实现MQTTS(MQTT-SSL)单向+双向加密传输
基于Ai-WB2实现使用MQTT完成订阅、发布及点灯功能
BW20-12F-KIT usbd_inic_dplus问题
基于Ai-WB2的HomeAssistant实现RGB彩灯控制功能
BU04 原理图
基于 Ai-WV01-32S+STM32移植 emMCP 实现 AI 语音控制点灯
AiPi-PalChatV1_“湾湾小何”提示音测试固件V2.9_UART-MCP
[WB2] 实现自动发现局域网下的设备
热帖排行
esp8266不能连接问题
Ai-WB2-01S烧录固件进度到100后失败,开机后无反应
BW20-12F SPI Port
开发板eyes-s1求助
BU04 INIT FAILED
【求助】D200连接官方烧录底板 烧录握手失败
基于AI-WB2实现MQTTS(MQTT-SSL)单向+双向加密传输
基于Ai-WB2实现使用MQTT完成订阅、发布及点灯功能
统计信息
会员数: 30642 个
话题数: 44740 篇
首页
分类
我的