成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 Ansible 在樹莓派上部署 Mycroft AI 語音助手

系統(tǒng) Linux 開源
Mycroft AI 是一款虛擬助手應(yīng)用程序,可以響應(yīng)語音請求并完成相應(yīng)的任務(wù),比如在互聯(lián)網(wǎng)上搜索你需要的某些信息,或者下載你喜歡的博客等等。這是一款優(yōu)秀的開源軟件,不同于那些收集個人數(shù)據(jù)業(yè)務(wù)的公司的同款軟件,Mycroft AI 注重于保護隱私以及提供平臺靈活性。

[[441459]]

使用本文中的這些 Ansible 劇本可以幫你獲得更優(yōu)的 Mycroft AI 體驗。

Mycroft AI 是一款虛擬助手應(yīng)用程序,可以響應(yīng)語音請求并完成相應(yīng)的任務(wù),比如在互聯(lián)網(wǎng)上搜索你需要的某些信息,或者下載你喜歡的博客等等。這是一款優(yōu)秀的開源軟件,不同于那些收集個人數(shù)據(jù)業(yè)務(wù)的公司的同款軟件,Mycroft AI 注重于保護隱私以及提供平臺靈活性。

Mycroft AI 使用 python 開發(fā),可以安裝于不同的硬件平臺上。家喻戶曉的樹莓派便是一個非常熱門的運行語音助手的硬件方案(不過不是唯一的方案)。方便的是,Mycroft 為樹莓派提供了 Picroft 鏡像,雖然目前 Picroft 還有一些限制,比如不支持 64 位系統(tǒng),不過不能阻止它成為一種優(yōu)秀的解決方案。

樹莓派 4,我選擇的目標(biāo)平臺

樹莓派在 Mycroft 社區(qū)中非常受歡迎,因為其性價比高,在教育行業(yè)中有著巨大的優(yōu)勢,并且由于 Mycroft 提供的便捷功能以及樹莓派本身易于訪問的輸入/輸出(GPIO)引腳等,為樹莓派提供了有趣的擴展可能(比如,提供 喚醒詞 LED GPIO 能力)。

樹莓派 4B 具有足夠的 CPU 算力以及內(nèi)存來平穩(wěn)運行 Mycroft。我使用的是 8G 內(nèi)存的樹莓派4B,運行 Raspberry Pi OS Bullseye 64-bit 系統(tǒng),你可以從 RaspberryPi.org 網(wǎng)站下載該系統(tǒng)鏡像文件。

自動化這件事

構(gòu)建你自己的 Mycroft AI 系統(tǒng),必須要注意一些細(xì)節(jié)問題。根據(jù)我(一年以來)的初步經(jīng)驗,以下羅列了一些重要的技術(shù)細(xì)節(jié)點:

  • 音頻輸出(揚聲器配置)
  • 音頻輸入(麥克風(fēng)配置)
  • 麥克風(fēng)質(zhì)量(以購買的實際硬件為準(zhǔn))
  • 喚醒詞響應(yīng)(比如打招呼 “嘿,Mycroft”)
  • 響應(yīng)延遲(比如提問 “天氣怎么樣”)

這些并不是 Mycroft AI 的問題(LCTT 譯注:難道軟件平臺就沒有處理延時問題?),它們只能是你在選擇硬件和配置操作時必須牢記關(guān)心的事情。樹莓派本身能夠運行 Mycroft AI,但有一些配置需要額外的注意下:

  • CPU 調(diào)度器
  • SD 卡性能
  • PulseAudio 配置
  • 網(wǎng)絡(luò)延遲

我做了大量的研究和實踐來解決上面列出這些令人頭疼的注意點,最終我實現(xiàn)了我的“終極”目標(biāo) —— 最流暢的體驗!

Ansible 雪中送炭

我已經(jīng)摸索出了最流暢的體驗配置,但是如何確保在任何樹莓派 4 板子上都能不遺漏每一個設(shè)置細(xì)節(jié),然后達(dá)到重新部署這種流暢性體驗的目標(biāo)呢?

Ansible 能幫助你實現(xiàn)。Ansible 在設(shè)計上是冪等設(shè)計,這意味著它僅在需要時響應(yīng)更改的請求。如果一切配置正確,Ansible 不會改變?nèi)魏问虑椤_@便是冪等設(shè)計的優(yōu)美之處。

為了達(dá)到這一目的,我使用了兩種 Ansible 場景角色工具:

  • 一個用于配置和調(diào)整樹莓派
  • 一個用于安裝和配置 Mycroft AI

Ansible prepi 角色

Ansible prepi role 應(yīng)用了一些配置,以便讓樹莓派 4B 發(fā)揮更佳的性能以及為安裝 Mycroft 做前提準(zhǔn)備。

  • 更新 Raspberry Pi OS 至最新版本
  • 添加 Debian backports 倉庫
  • 使用 next 分支更新固件,該分支支持 5.15 版本內(nèi)核以及邊緣固件
  • 使用測試版本更新 EEPROM,該版本支持邊緣功能
  • 設(shè)置 initial_turbo 用來加速啟動過程
  • 將樹莓派超頻至 2GHz
  • 在 RAMDisck 上掛載 /tmp
  • 優(yōu)化 / 分區(qū)掛載選項,提升 SD 卡讀/寫性能
  • 管理 I2C、SPI、UART 接口
  • 設(shè)置 CPU 控制器至避免在空間內(nèi)核函數(shù)之間發(fā)生上下文切換的模式,以便提升性能
  • 安裝和配置 PulseAduio(非系統(tǒng)范圍)
  • 新固件或者 EEPROM 安裝后重啟樹莓派

Ansible mycroft 角色

Ansible mycroft role 基于腳本 dev_setup.sh 從 Github 倉庫獲取并安裝和配置 Mycroft AI,該腳本是 Mycroft 核心團隊提供。

  • 需要準(zhǔn)備 Python3 環(huán)境
  • 系統(tǒng)集成環(huán)境
  • 額外的安裝技能
  • 安裝 Boto3、py_mplayer、pyopenssl 庫
  • 支持 IPC 的 RAMDisck
  • 支持文件配置
  • PulseAudio 優(yōu)化
  • 安全的 Mycroft 消息總線 websocket

我利用 Ansible 劇本 來協(xié)調(diào)上面兩個角色的使用。

個人配置需求

下面列舉了一些個人配置的需求:

  • 能上網(wǎng)的樹莓派 4B 板子(或者更新的板子)
  • Raspberry Pi OS 64-bit
  • Ansible 2.9(或者更新版本)
  • 可正常工作的 SSH

推薦使用 Etcher 來燒錄 Raspberry Pi OS 鏡像至 SD 卡,你也可以使用你選擇的鏡像燒錄工具。

我將樹莓派超頻來提升性能,不過這可能對你的硬件是一種潛在危險。在使用我的 Ansible 劇本配置之前,請先仔細(xì)閱讀。你需要為你的每個配置選擇負(fù)責(zé)。你將決定使用哪個固件、哪個 EEPROM。超頻的話需要記得提供相應(yīng)的冷卻系統(tǒng)。

執(zhí)行 Ansible 劇本

第一步,使用命令從 Github 獲取 Ansible 劇本:

  1. $ git clone https://github.com/smartgic/ansible-playbooks-mycroft.git

源碼中,requirements.yml 文件中提供了該劇本的依賴角色列表,必須從 Ansible Galaxy 中檢索這些依賴。

  1. $ cd ansible-playbooks-mycroft
  2. $ ansible-galaxy install -r requirements.yml
  3. Starting galaxy role install process
  4. - downloading role 'mycroft', owned by smartgic
  5. - downloading role from https://github.com/smartgic/ansible-role-mycroft/archive/main.tar.gz
  6. - extracting smartgic.mycroft to /home/goldyfruit/.ansible/roles/smartgic.mycroft
  7. - smartgic.mycroft (main) was installed successfully
  8. - downloading role 'prepi', owned by smartgic
  9. - downloading role from https://github.com/smartgic/ansible-role-prepi/archive/main.tar.gz
  10. - extracting smartgic.prepi to /home/goldyfruit/.ansible/roles/smartgic.prepi
  11. - smartgic.prepi (main) was installed successfully

第二步,編輯倉庫中的 Ansible 清單,設(shè)置需要管理的主機。

  1. [rpi]
  2. rpi4b01 ansible_host=192.168.1.97 ansible_user=pi

[rpi] 代表組,無需更改。該組有一個主機 rpi4b01,其 IP 地址為 192.168.1.97, 并創(chuàng)建 pi 作為 Linux(Raspberry Pi OS)上的默認(rèn)用戶。

現(xiàn)在比較棘手的部分到了:你希望每個選項怎么配置?這取決于你自己,下面是我的首選配置,供你參考:

  1. # file: install-custom.yml
  2. - hosts: rpi
  3. gather_facts: yes
  4. become: yes
  5.  
  6. pre_tasks:
  7. - name: Install Python 3.x Ansible requirement
  8. raw: apt-get install -y python3
  9. changed_when: no
  10. tags:
  11. - always
  12.  
  13. vars:
  14. # PREPI
  15. prepi_pi_user: pi
  16. prepi_hostname: mylovelypi
  17. prepi_firmware_update: yes
  18. prepi_overclock: yes
  19. prepi_force_turbo: yes
  20. prepi_cpu_freq: 2000
  21. prepi_pulseaudio_daemon: yes
  22.  
  23. # MYCROFT
  24. mycroft_branch: dev
  25. mycroft_user: "{{ prepi_pi_user }}"
  26. mycroft_skills_update_interval: 2.0
  27. mycroft_recording_timeout_with_silence: 3.0
  28. mycroft_enclosure_name: picroft
  29. mycroft_extra_skills:
  30. - https://github.com/smartgic/mycroft-finished-booting-skill.git
  31.  
  32. tasks:
  33. - import_role:
  34. name: smartgic.prepi
  35.  
  36. - import_role:
  37. name: smartgic.mycroft

上面的配置內(nèi)容需要保存在文件里(比如,install-custom.yml)。

現(xiàn)在關(guān)鍵步驟:運行你新創(chuàng)建的劇本。

  1. $ ansible-playbook -i inventory install-custom.yml -k

-k 選項只有在不需要 SSH 密鑰的時候才使用。在命令執(zhí)行期間,樹莓派可能會重啟若干次。Ansible 劇本會自動處理這個問題,不必?fù)?dān)心。

Ansible 配置完成后,你可以看到一條祝賀消息,提示你下一步需要做什么。 

Congratulations message (Gaëtan Trellu, CC BY-SA 4.0)

Ansible 讓定制 Mycroft 變得更容易

這些 Ansible 劇本是我開始使用 Mycroft AI 后學(xué)到的經(jīng)驗教訓(xùn)。它們幫助我在任何一個地方都能構(gòu)建、重構(gòu)、定制、拷貝我的安裝,并保持一致,這讓我很省心!

讀完此文,你有何意見、問題或疑慮?歡迎在 Twitter上 @goldyfruit上和我交流,或者訪問 Mycroft 頻道 搜尋答案。 

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2024-08-22 12:49:02

2019-03-08 08:00:00

AI語音助理Mycroft

2019-05-06 13:52:00

樹莓派Ubuntu MATEUbuntu

2018-03-26 11:39:13

LinuxAnsible計算系統(tǒng)

2019-06-27 14:00:13

edoraMycroft開源

2020-03-31 12:50:34

樹莓派K3sKubernetes集

2020-06-01 20:00:28

樹莓派TT-RSSLinux

2020-10-26 07:40:17

Terraform

2024-06-17 13:39:45

2021-03-30 17:03:02

React開發(fā)部署Nginx

2021-03-19 13:00:39

樹莓派Linux

2012-05-24 09:15:45

ibmdw

2019-04-19 13:37:01

FacebookAI語音助手人工智能

2018-11-08 09:00:31

樹莓派WordPressLinux

2009-06-01 11:23:08

Glassfish部署Glassfish

2019-07-31 09:32:06

2013-07-26 11:28:08

Git

2017-04-24 17:00:26

Linux樹莓派Fedora 25

2012-05-07 08:33:20

dotcloudDjango

2017-11-23 08:30:27

數(shù)據(jù)庫Postgres樹莓派
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 免费黄色片在线观看 | 久久久久久免费毛片精品 | 91亚洲精选 | 三区在线| 美女视频久久 | 国产精品久久 | 午夜精品久久久久久久久久久久 | 欧美成人一区二区 | 成人网av| 久草综合在线视频 | 久久精品国产a三级三级三级 | 亚洲精品中文字幕中文字幕 | 国产一区 | 日本一区二区三区精品视频 | 毛片a级 | 国产丝袜一区二区三区免费视频 | 国产第一页在线播放 | 精品久久久久久 | 九七午夜剧场福利写真 | 欧美日韩在线视频一区 | 色综合视频 | 亚洲欧美日本在线 | 在线播放国产一区二区三区 | 少妇一区二区三区 | 久久精品久久久久久 | 国产精品久久久久久久7电影 | 亚洲免费网址 | 一级aaaaaa毛片免费同男同女 | 国产精品福利视频 | 日韩中文字幕视频 | 欧美色性 | 久久久久久久一区 | 国产成人免费视频网站高清观看视频 | 色综合99| 日本黄色影片在线观看 | 免费看日韩视频 | 国产精品污www在线观看 | 午夜国产一级 | 成人精品久久 | av网站在线播放 | 欧美日韩精品中文字幕 |