当前位置: 首页 > article >正文

omi friend实战记录

一、简介

omi friend是国外githab上开源的一个“AI硬件”的制作教程,它的形状是个三角形,属于项链佩戴这类的。可以接入llm进行对话,他有麦克风、扬声器,还有电池。外形好看,功能实用。还有专属的一系列app可以供方便实用

这个博客,会把在制作过程中遇到的一些实际问题进行下记录,有兴趣的小伙伴欢迎,一起讨论

二、最开始的工作

1、安装vscode、并在里面安装nrf connect插件工具+sdk,现在只能安装2.9.0版本的,因为其他的版本都不支持了

视频教程

2、安装完毕后,你的界面是

3、在目录:firmware_v1.0下,我把prj_xiao_ble_sense_devkitv1.conf重命名为prj.conf,然后build

在build的时候可能会遇到一些问题

问题1:

CMake Error at C:/ncs/v2.9.0/zephyr/cmake/modules/boards.cmake:196 (message):
  Error finding board: xiao_ble

  Error message: Traceback (most recent call last):

    File "C:\ncs\v2.9.0\zephyr\scripts\list_boards.py", line 469, in <module>
      dump_v2_boards(args)
    File "C:\ncs\v2.9.0\zephyr\scripts\list_boards.py", line 416, in dump_v2_boards
      boards = find_v2_boards(args)
               ^^^^^^^^^^^^^^^^^^^^
    File "C:\ncs\v2.9.0\zephyr\scripts\list_boards.py", line 341, in find_v2_boards
      b, e = load_v2_boards(args.board, board_yml, systems)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\ncs\v2.9.0\zephyr\scripts\list_boards.py", line 230, in load_v2_boards
      b = yaml.load(f.read(), Loader=SafeLoader)
                    ^^^^^^^^

  UnicodeDecodeError: 'gbk' codec can't decode byte 0xa2 in position 46:
  illegal multibyte sequence

明显看到2个报错:Error finding board: xiao_ble 'gbk' codec can't 实际上应该先解决'gbk' codec can't这个错误,解决后,第一个就自己解决了

如果是不熟悉的人,使劲解决第一个问题,可能会往configure那里加:-DBOARD_ROOT=c:/ncs/v2.9.0/zephyr -DBOARD_DIR=c:/ncs/v2.9.0/zephyr/boards/seeed/xiao_ble 这两个参数,分别加、一起加,都不顶用

解决办法:在目录C:\ncs\v2.9.0\zephyr\scripts,打开list_boards.py,229行改成:with board_yml.open('r', encoding='utf-8') as f:

问题2:

error: NRFX_PDM (defined at C:/ncs/v2.9.0/zephyr/modules/hal_nordic\nrfx/Kconfig:254,
modules\hal_nordic\nrfx/Kconfig:254) is assigned in a configuration file, but is not directly user-
configurable (has no prompt). It gets its value indirectly from other symbols. See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_NRFX_PDM and/or look up NRFX_PDM in the
menuconfig/guiconfig interface. The Application Development Primer, Setting Configuration Values,
and Kconfig - Tips and Best Practices sections of the manual might be helpful too.

这段的原因在于 prj.conf 有1行是:CONFIG_NRFX_PDM=y,把它注释掉就可以


http://www.kler.cn/a/458795.html

相关文章:

  • Fedora安装docker
  • 攻防世界web第六题upload1
  • 跟我学C++中级篇——std::shared_lock
  • 如何在 API 设计中做到接口幂等
  • SpringMVC进阶(自定义拦截器以及异常处理)
  • STM32控制PCA9685产生16路PWM波控制舵机
  • Java重要面试名词整理(十六):SpringBoot
  • 基于springboot的美容院管理系统设计与实现(java项目源码+文档)
  • 代码随想录Day37 动态规划:完全背包理论基础,518.零钱兑换II,本周小结动态规划,377. 组合总和 Ⅳ,70. 爬楼梯(进阶版)。
  • React Native中的核心技术概念
  • 【GridView渐进全解】第一部分GridView基础
  • 前端参数formData格式
  • 扬声器阵列的波束成形相关的关键技术和国内外研究现状
  • 未授权访问漏洞
  • AF3 AtomTransformerBlock类解读
  • SpringBoot数据字典字段自动生成对应code和desc
  • 硬件设计-硬件 EMC 设计规范
  • Day62 图论part11
  • 【每日学点鸿蒙知识】ets匿名类、获取控件坐标、Web显示iframe标签、软键盘导致上移、改变Text的背景色
  • 【Node】什么是Node,及基础使用
  • redis用途都有哪些
  • 《SwiftUI 实现点击按钮播放 MP3 音频》
  • 低空经济与数据资产入表的联系
  • llamafactory报错:双卡4090GPU,训练qwen2.5:7B、14B时报错GPU显存不足(out of memory),轻松搞定~~~
  • Android 学习小记1
  • plantuml 信号时序图