AI Coding + TuyaOpen,1小时快速打造AI女友和2048游戏

描述

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

话不多说,先看效果:


 

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


 

一、前期准备
 

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

涂鸦智能

开发板构造可以参考下方示意图:

涂鸦智能

 

 

2、软件介绍

2.1 开发 AI 硬件专用

我们需要用到 TuyaOpen 开发框架,并接入涂鸦 AI 智能体。




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

 

 

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 游戏的基础功能:有分数统计,并能够通过一个按钮在聊天界面和游戏界面来回切换

②约束:当前项目中的屏幕分辨率大小为 H480*W320 像素,游戏界面是 4*4 的棋盘
③验证:编译成功且无 ROM 溢出,烧录后图片正常显示

 

到这里本次分享就结束了,一个基于 TuyaOpen 的开源对话项目:AI 女友更换表情图片+支持 2048 游戏界面的桌面聊天机器人就完成了!这里我也放上最终生成的固件,小伙伴们可以复制下方链接,直接烧录这份固件体验最终效果


 

三、提示词经验总结

 

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 声控变色灯、音乐律动灯带

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分