七夕快到了,涂鸦本次准备教大家用 AI 给自己做个虚拟女友,它能根据对话情绪显示不同表情;在你游戏瘾上来的时候,还能秒变 2048 游戏机,让你一边玩游戏,一边和 AI 虚拟女友聊天。成本 100 元出头,借助 TuyaOpen 开发框架+AI Coding 工具,不用自己写一行代码,只要 1 小时就能成功 DIY!

话不多说,先看效果👇:

用AI Coding手搓AI赛博女友和2048游戏机

如果按照传统的开发路子,技术小白要想在硬件上实现一个想法,需要懂电路、懂 C 语言、懂操作系统、懂各种复杂的驱动、工具链等等。一套下来能折腾掉半条命,而现在,你只需要有一个清晰的想法,和一颗敢于尝试的心,就能把你脑子的想法,亲手给创作出来。接下来,涂鸦资深开发者小张手把手教学,大家照着做就行,非常 easy!

一、前期准备

1、硬件介绍:涂鸦 T5AI 开发板

在这里插入图片描述
开发板构造可以参考下方示意图,大家可以T.B搜索【浙江涂鸦智能的小店】进行购买。
在这里插入图片描述

2、软件介绍

2.1 开发 AI 硬件专用

我们需要用到 TuyaOpen 开发框架,并接入涂鸦 AI 智能体。
TuyaOpen 开发框架官网:https://tuyaopen.ai/zh

TuyaOpen 集成了端侧 AI 推理引擎,支持涂鸦云智能体中枢和端云融合的多模态 AI 能力,开发者可以无缝调用国内外的顶尖 AI
大模型。通过多样化的工具生态,开发者能够轻松实现文字和语音对话、图片生成、视频生成等多种 AI 功能。

2.2 AI Coding 工具推荐

本次教学演示,我们用的是 Cursor,如果有些小伙伴无法使用,也可以选择 Trae 或其他好用的 AI Coding 工具。

二、正式上手开发

现在正片开始!我们将从准备阶段、提示词说明、开发技巧等方面来综合说明,过程详细,大家可以跟着操作一遍。

1、准备个性化的图片

在 AI 生成图片网站,可以根据自己的喜好和创意,个性化生成【开心、愤怒、悲伤、震惊、困惑、喜欢、思考、搞怪、一本正经】等情绪的图片,然后将图片大小修改为 240*240 像素。

涂鸦 T5AI 开发板的 flash 空间有限,图片越大占用 flash 空间越大,因此压缩下图片,可保证运行更流畅。

根据对话内容,涂鸦 AI Agent 目前最多可支持 21 种情绪值的表达,列表如下👇:

在这里插入图片描述

2、克隆仓库和编译烧录

我们插上涂鸦 T5AI 开发板。打开 AI 编程神器 Cursor,选择 TuyaOpen 文件夹,然后切换最新的 GPT-5 模型。

在浏览器里搜索“tuyaopen.ai”,点击 “GitHub” 按钮,直接跳转至 GitHub 仓库页面,并复制链接;再将 OpenSDK 克隆到本地,然后将 AI chat bot 项目添加到对话中,让 AI Coding 工具自动编译和烧录。

在这里插入图片描述

(TuyaOpen 官网界面展示)

2.1 TuyaOpen 仓库地址

Github 仓库
https://github.com/tuya/TuyaOpen

Gitee 仓库
https://gitee.com/tuya-open/TuyaOpen

2.2 直接让 AI 帮我们编译和烧录

在嵌入式开发中,搭建开发环境是一个很耗时且容易出错的事,但对 AI 来说却是易如反掌。我们只需要把搭建开发环境的方法告诉它,AI 就能自动帮我们完成。提示词模板如下:

帮我编译和烧录这个工程,方法参考 readme 文档和下方的链接👇
①环境搭建
https://tuyaopen.ai/zh/docs/quick-start/enviroment-setup

②编译 https://tuyaopen.ai/zh/docs/quick-start/project-compilation

③烧录 https://tuyaopen.ai/zh/docs/quick-start/firmware-burning

在这里插入图片描述

如果烧录后,在涂鸦赋能 App 中无法发现设备,说明没给开发板授权,授权方法如下:

● 在 apps/tuya.ai/your_otto_robot/include/tuya_config.h 中把 UUID 改成你的专属 UUID (非常重要)

在这里插入图片描述

【注】如果你的 T5-E1 模组下单时,已烧录了 TuyaOpen 的授权码,则无需填写 UUID 和 AUTHKEY

● 获取 UUID:访问 TuyaOpen 仓库,点击右上角 “Star” 后,可以进文末涂鸦开发者论坛,获取 UUID!

3、开发 AI 女友:根据情绪变换图片

在屏幕上显示图片这事儿说起来简单,但在嵌入式开发里,其实挺麻烦的。日常手写代码时,我们需要将图片裁切成固定大小,然后再转换为 C 数组的形式,同时也要考虑到屏幕尺寸、图片摆放的位置等细节,整体操作非常繁琐。

因此,在使用 AI Coding 工具时,我们给出的提示词描述越详细效果越好,有参考的素材尽量让其参考,如果提前知道技术细节最好。比如让 AI 将图片显示到屏幕中,你需要告诉它先将图片转换为 C 数组的形式,否则 AI 会直接尝试以调用文件路径的方法,去打开并使用 PNG 或 JPG 图片。而且图片编码格式有很多,比如 RGB565、RGB888 等,虽然最终也能通过反复的调试编译完成显示,但如果不指定编码格式,需要反复调试很多次。

下面我们列举几个常见的 PNG 图片编码格式:

在这里插入图片描述

为了让 AI Coding 能理解并高质量实现我们的需求,在设备能够显示图片格式、图片大小、图片位置等细节上,我们可以做进一步的限定,来减少编译调试的次数,提升开发效率,比如使用如下模版:

①目标:帮我把 image 这个文件夹里的图片,添加到 your_chat_bot 项目中。替换当前项目
src/display/ui/ui_chatbot.c 中 emotion 显示的文本表情,并改为根据 emotion 值显示 image
文件夹中的图片。图片使用 LVGL RGB565 格式,同时需转换为 C 数组的形式。

②约束:如果 ROM 溢出,就减少到 4 个主要图片(happy、sad、angry、love)

③技术:当前项目中使用的屏幕大小是 H480*W320 像素,使用 LVGL V8 版本 GUI 库

④验证:编译成功且无 ROM 溢出,烧录后图片可正常显示

⑤备选:如果 240x240 像素的图片失败,尝试 120x120 像素或进一步减少主要图片的数量。

在这里插入图片描述

令人惊喜的是,AI Coding 工具在理解到意图后,自动在项目中使用 python 生成了一个图片转换工具,完成了图片格式转换、代码修改、自动编译、烧录的全过程。

在这里插入图片描述

当开发板屏幕再次亮起,那个呆板的文字对话框,已经变成了一张张生动可爱的 AI 女友表情图片。你跟它对话,它真的会根据情绪,切换不同表情包!

4、开发 2048 游戏:一句话搞定界面设计

在增加 2048 游戏界面之前,我们先让 AI Coding 工具规划一个界面设计方案。最终效果要求能做到:

  • 功能:支持上下左右移动,能合并方块,带分数统计;
  • 界面:分辨率 480×320,棋盘布局 4X4;
  • 交互:增加按钮,可来回切换 AI 女友和 2048 游戏界面。

在这里插入图片描述

在提示词中,我告诉它控制器的芯片性能有限,屏幕长宽的像素、大小等一些信息,然后它规划了一个 4X4 棋盘的游戏界面,如果实际运行性能没有问题,后续就可以进一步考虑采用 5X5 的棋盘布局。

这样做的目的,是在下达指令完成前,先了解一下 AI Coding 工具最终实现的效果是否符合预期,如果有不符合的地方,我们就在提示词里加以限制。

在审查了 AI Coding 工具为我规划的 2048 游戏界面后,就开始让它帮我创建屏幕按钮,能够通过它来回切换聊天界面和游戏界面,2048 游戏界面用一个单独的 UI 文件保存,方便后续的项目管理。

提示词模版:

①目标:帮我在 your_chat_bot 项目中添加一个 2048 游戏界面,只需要实现 2048
游戏的基础功能:有分数统计,并能够通过一个按钮在聊天界面和游戏界面来回切换

②约束:当前项目中的屏幕分辨率大小为 H480W320 像素,游戏界面是 44 的棋盘

③验证:编译成功且无 ROM 溢出,烧录后图片正常显示

在这里插入图片描述
到这里本次分享就结束了,一个基于 TuyaOpen 的开源对话项目:AI 女友更换表情图片+支持 2048 游戏界面的桌面聊天机器人就完成了!这里我也放上最终生成的固件,小伙伴们可以复制下方链接,直接烧录这份固件体验最终效果👇(此份固件不包含授权信息,需要使用工具授权):

https://drive.weixin.qq.com/s?k=AGQAugfWAAkS4ye03BAbQAqAb1AFU

三、提示词经验总结

1、可以先让 AI 帮忙理解并总结整个项目或 Demo 的主要功能架构,然后再根据架构下达指令,效果会更好。

2、前置提示越详细效果越好,有参考尽量让其参考,知道技术细节效果更佳。比如让 AI 将图片显示到屏幕中,需要先将图片转换为 C 数组,但是图片编码格式有很多,如果不指定编码格式需要反复调试很多次数。

3、提示词可以按照目标、约束、技术、验证、备选的格式来,AI 执行起来会更到位我们举一个具体的例子:

①目标:将情绪图片从 64x64 改为 240x240 像素
②约束:如果 ROM 溢出,减少到 4 个主要图片(happy、sad、angry、love)、
③技术:使用 png_to_c_array.py 工具重新生成,更新 CMakeLists.txt
④验证:编译成功且无 ROM 溢出,烧录后图片能正常显示
⑤备选:如果 240x240 失败,尝试 120x120 或进一步减少图片数量

4、如果有些开发者想先练练手,也可以考虑做一些更简单的 AI 硬件,比如:

  • 开发智能语音管家:用语音控制灯光、空调、播放音乐、聊天;
  • 宠物 AI 助手:开发自动喂食器,或远程逗猫/遛狗神器
  • 创意灯光秀:DIY 声控变色灯、音乐律动灯带

想要进一步了解更多 AI 硬件开发技巧的朋友,可以扫描下方海报二维码,预约我们 8 月 27 日的直播教学。涂鸦资深 AI 开发大佬,教你零门槛手搓赛博 AI 女友,功能丰富强大,你想要的样子她都有!包含:

  • 能感知你每一个瞬间的喜怒哀乐,聊天哄你开心,甚至给你唱歌缓解焦虑情绪;
  • 能做约会规划,包括去哪里吃饭逛街、附近有什么好喝的奶茶等;
  • 搭载精度极高的触发器,可主动提醒你给她充电;并敏锐感知天气变化,提醒你穿适当的衣服,做你的 OOTD 穿搭师!

戳下方,立即预约直播👇:
https://3i46b.mk.xet.citv.cn/sl/2iMdAk

上手之后,欢迎大家直接把作品投给涂鸦联合杭州西湖文化创投最新举办的 AI 觉醒计划活动,一起参与瓜分 10万+ 奖金池!这里没有任何产品限制,只要你的 AI 硬件足够有创意、让评委一看就想爆灯、让路人一看就有想买回家的冲动,就有机会获得科技大佬的投资;甚至为你联名各品牌 IP,打造专属爆品。戳下方,立即报名参与 AI 造万物👇:

https://promotion.tuya.com/develop/271e41a8624e49cca266

四、开发者问题咨询

开发过程中,如遇到任何问题,欢迎登录涂鸦开发者技术论坛进行提问,将有技术小哥及时为你解答👇:

https://www.tuyaos.com/viewforum.php?f=11

Logo

纵情码海钱塘涌,杭州开发者创新动! 属于杭州的开发者社区!致力于为杭州地区的开发者提供学习、合作和成长的机会;同时也为企业交流招聘提供舞台!

更多推荐