Meriv çawa bi Raspberry Pi-yê Alîkarekî AI-ê yê DIY ava dike

Meriv çawa bi Raspberry Pi-yê Alîkarekî AI-ê yê DIY ava dike

Alîkarekî dengî yê pir biçûk dixwazî ​​ku bi rastî jî rêya te dişopîne, li ser alavên te yên taybet dixebite, û ji ber ku te şaş nebihîstiye, bi xeletî diwanzdeh ananas siparîş nake? Alîkarekî AI yê DIY bi Raspberry Pi bi awayekî ecêb pêkan, kêfxweş û nerm e. Tu dê peyvek hişyarkirinê, naskirina axaftinê (ASR = naskirina axaftinê ya otomatîk), mejiyek ji bo zimanê xwezayî (qaîde an LLM), û nivîs-bi-axaftinê (TTS) saz bikî. Çend skrîptan, yek an du karûbaran, û hin sererastkirinên dengî yên baldar lê zêde bike, û axaftvanek jîr a berîkê heye ku guh dide qaîdeyên te.

Werin em te ji sifirê bigihînin axaftina bi Pi-ya xwe re bêyî kişandina poran a asayî. Em ê parçeyan, sazkirinê, kodê, berawirdkirinan, xeletiyan... tevahiya burritoyê vebêjin. 🌯

Gotarên ku hûn dikarin piştî vê yekê bixwînin:

🔗 Meriv çawa bi bandor AI-ê dixwîne
Nexşerêyek xwendinê biafirînin, projeyên pratîkê bikin, û pêşveçûnê bişopînin.

🔗 Meriv çawa pargîdaniyek AI-ê dest pê dike
Pirsgirêkê piştrast bike, MVP ava bike, tîmê bicivîne, xerîdarên destpêkê ewle bike.

🔗 Meriv çawa AI-ê bikar tîne da ku hilberînertir bibe
Karên rûtîn otomatîk bikin, herikînên kar hêsan bikin, û hilberîna afirîner zêde bikin.

🔗 Meriv çawa AI-ê di karsaziya xwe de bicîh dike
Pêvajoyên bi bandora bilind nas bikin, pîlotan bicîh bînin, ROI bipîvin, û pîvan bikin.


Çi dibe alîkarê AI-ê yê DIY-ê yê baş bi Raspberry Pi-yê re ✅

  • Bi xwerû taybet - deng li cihê xwe bihêle, heta ku mimkun be. Hûn biryar didin ka çi ji cîhazê derdikeve.

  • Modular - pêkhateyên wekî Lego biguherînin: motora peyva wake, ASR, LLM, TTS.

  • Bi arzanî - bi piranî mîkrofon, axaftvan û Pi-yek çavkaniya vekirî, yên asayî.

  • Hackbar - otomasyona malê, dashboard, rûtîn, jêhatîyên xwerû dixwazin? Hêsan e.

  • Pêbawer - ji hêla xizmetê ve tê rêvebirin, bixweber dest bi guhdarîkirinê dike û boot dike.

  • Xweş - hûn ê gelek tiştan li ser deng, pêvajoyan û sêwirana bûyer-ajotî fêr bibin.

Serişteyek biçûk: Heke hûn Raspberry Pi 5 bikar tînin û plan dikin ku modelên herêmî yên girantir bikar bînin, sarincokek klîp-on di bin barekî domdar de dibe alîkar. (Dema ku di gumanê de bin, Sarincoka Çalak a fermî ya ku ji bo Pi 5 hatî çêkirin hilbijêrin.) [1]


Parçe û Amûrên Ku Hûn ê Pêdivî Bin 🧰

  • Raspberry Pi : Ji bo cîhê serî Pi 4 an Pi 5 tê pêşniyar kirin.

  • Karta microSD : 32 GB+ tê pêşniyarkirin.

  • Mîkrofona USB : mîkrofoneke konferansê ya USB ya sade pir baş e.

  • Axêver : Axêverek USB an 3.5 mm, an jî I2S amp HAT.

  • Tor : Ethernet an Wi-Fi.

  • Taybetmendiyên bijarte: qapax, sarincokê çalak ji bo Pi 5, bişkoka pêlkirinê ji bo pêlkirina axaftinê, zengila LED. [1]

Sazkirina OS û Xeta Bingehîn

  1. Raspberry Pi OS bi Raspberry Pi Imager ve Flash bike. Ew rêya herî hêsan e ji bo bidestxistina microSD-ya bootable bi mîhengên pêşwext ên ku hûn dixwazin. [1]

  2. Boot bike, bi torê ve girêbide, paşê pakêtan nûve bike:

nûvekirina sudo apt && nûvekirina sudo apt -y
  1. Bingehên dengî : Li ser Raspberry Pi OS hûn dikarin derana xwerû, ast û cîhazan bi rêya UI-ya sermaseyê an raspi-config . Dengê USB û HDMI li seranserê modelan tê piştgirî kirin; Derana Bluetooth li ser modelên bi Bluetooth heye. [1]

  2. Amûran piştrast bikin:

arecord -l aplay -l

Paşê tomarkirin û lêdanê biceribîne. Ger ast ecêb xuya dikin, berî ku sûcdarkirina mîkrofonê bikin, mîkser û mîhengên xwerû kontrol bikin.

 

AI raspberry pi

Mîmarî bi Kurtebirî 🗺️

yê maqûl bi herikîna Raspberry Pi-yê wiha xuya dike:

Peyva hişyarkirinê → girtina dengê zindî → nivîsandina ASR → birêvebirina niyetê an LLM → nivîsa bersivê → TTS → lîstina deng → çalakiyên vebijarkî bi rêya MQTT an HTTP.

  • Peyva Şopandinê : Porcupine piçûk, rast e, û bi kontrola hesasiyeta her peyvê-kilît bi awayekî herêmî dixebite. [2]

  • ASR : Whisper modelek ASR ya pirzimanî û mebest-giştî ye ku li ser ~680k demjimêran tê perwerdekirin; ew li hember dengên bi deng/paşxaneyê berxwedêr e. Ji bo karanîna li ser cîhazê, whisper.cpp rêyek texmînkirinê ya C/C++ ya sade peyda dike. [3][4]

  • Mejî : Hilbijartina te - LLM-yeke ewr bi rêya API-yê, motoreke qaîdeyan, an jî texmîneke herêmî li gorî hêza hespê.

  • TTS : Piper axaftina xwezayî li herêmê çêdike, bi lez û bez ji bo bersivên bilez li ser alavên sade. [5]


Tabloya Berawirdkirina Bilez 🔎

Hacet Baştirîn Ji Bo Bihayekî zêde Çima Ew Dixebite
Peyva Şiyarbûna Porcupine Tetikê herdem guhdarî dike Asta belaş + CPU kêm, rast, girêdanên hêsan [2]
Whisper.cpp ASR-ya herêmî li ser Pi Çavkaniya vekirî Rastbûneke baş, CPU-dostane [4]
Faster-Whisper ASR-ya zûtir li ser CPU/GPU-yê Çavkaniya vekirî Baştirkirinên CTranslate2
TTS-ya Piper Derana axaftina herêmî Çavkaniya vekirî Dengên bilez, gelek ziman [5]
API-ya LLM-ya Ewr Sedemên dewlemend Li gorî bikaranînê Hesabên giran ji holê radike
Node-RED Orkestrasyona çalakiyan Çavkaniya vekirî Herikînên dîtbarî, MQTT-dostane

Avakirina Gav bi Gav: Yekem Loopa Dengê We 🧩

Em ê Porcupine ji bo peyva hişyarkirinê, Whisper ji bo nivîsandinê, fonksiyoneke sivik a "mejî" ji bo bersivê (bi LLM-ya xweya bijartî biguherînin), û Piper ji bo axaftinê bikar bînin. Kêmtirîn bihêlin, dûv re dubare bikin.

1) Girêdayîyan saz bike

sudo apt sazkirin -y python3-pip portaudio19-dev sox ffmpeg pip3 sazkirina sounddevice numpy
  • Porcupine: SDK/girêdanên ji bo zimanê xwe bigirin û destpêka bilez bişopînin (bişkoja gihîştinê + lîsteya peyvên sereke + çarçoveyên dengî → .process ). [2]

  • Whisper (heval-bi CPU): whisper.cpp :

klona git https://github.com/ggml-org/whisper.cpp cd whisper.cpp && cmake -B build && cmake --build build -j ./models/download-ggml-model.sh base.en ./build/bin/whisper-cli -m ./models/ggml-base.en.bin -f your.wav -otxt

Ev yek destpêka bilez a projeyê nîşan dide. [4]

Pythonê tercîh dikî? faster-whisper (CTranslate2) gelek caran ji Pythonê vanilla li ser CPU-yên navîn zûtir dixebite.

2) Piper TTS saz bike

git clone https://github.com/rhasspy/piper cd piper make # Modelek dengî ya ku hûn jê hez dikin dakêşin, mînak, en_US-amy echo "Silav li wir." | ./piper --model voices/en/en_US-amy-medium.onnx --output_file hello.wav aplay hello.wav

Piper ji bo TTS-ya li ser cîhazê bi gelek vebijarkên deng/ziman hatiye sêwirandin. [5]

3) Xelek alîkar a herî kêm di Pythonê de

Bi zanebûn kompakt: li benda hevokeke hişyarkirinê (stub) dimîne, tomar dike, bi whisper.cpp , bersivekê çêdike (cîgir), dû re bi rêya Piper diaxive. Cîgirgir bi LLM an jî mantiqa qaîdeyê ya bijareya xwe biguherîne.

import os, subprocess, wave import sounddevice as sd WAKE_WORD = "hey komputer" # swap for Porcupine in production [2] RECORD_SECONDS = 6 SAMPLE_RATE = 16000 CHANNELS = 1 WORKDIR = "/home/pi/assistant" ASR_BIN = "/home/pi/whisper.cpp/build/bin/whisper-cli" # [4] ASR_MODEL = "/home/pi/whisper.cpp/models/ggml-base.en.bin" PIPER_BIN = "/home/pi/piper/build/piper" # [5] PIPER_VOICE = "/home/pi/piper/voices/en/en_US-amy-medium.onnx" os.makedirs(WORKDIR, exist_ok=True) def record_wav(path, seconds=RECORD_SECONDS): audio = sd.rec(int(saniye * SAMPLE_RATE), samplerate=SAMPLE_RATE, channels=CHANNELS, dtype='int16') sd.wait() bi wave.open(path, 'wb') re wekî w: w.setnchannels(CHANNELS); w.setsampwidth(2); w.setframerate(SAMPLE_RATE) w.writeframes(audio.tobytes()) def transcribe(path): cmd = [ASR_BIN, "-m", ASR_MODEL, "-f", path, "-otxt"] subprocess.run(cmd, check=True, cwd=WORKDIR) with open(path.replace(".wav", ".txt"), "r", encoding="utf-8") as f: return f.read().strip() def generate_reply(prompt): if "weather" in prompt.lower(): return "Ez ewran nabînim, lê dibe ku baş be. Ji bo her halî jaketekê bi xwe re bîne." vegere "Te got: " + prompt def speak(text): proc = subprocess.Popen([PIPER_BIN, "--model", PIPER_VOICE, "--output_file", f"{WORKDIR}/reply.wav"], stdin=subprocess.PIPE) proc.stdin.write(text.encode("utf-8")); proc.stdin.close(); proc.wait() subprocess.run(["aplay", f"{WORKDIR}/reply.wav"], check=True) print("Alîkar amade ye. Hevoka şiyarkirinê binivîse da ku were ceribandin.") while True: typed = input("> ").strip().lower() if typed == WAKE_WORD: wav_path = f"{WORKDIR}/input.wav" record_wav(wav_path) text = transcribe(wav_path) reply = generate_reply(text) print("Bikarhêner:", text); print("Alîkar:", reply) speak(reply) else: print("Hevoka şiyarkirinê binivîse da ku çerxê biceribînî.")

Ji bo tespîtkirina rastîn a peyva şiyarbûnê, detektora herikîna Porcupine (CPU kêm, hesasiyeta her peyvê-kilît) entegre bike. [2]


Mîhengkirina Dengî ya ku Bi Rastî Girîng e 🎚️

Çend rastkirinên piçûk dibin sedema ku alîkarê we 10 caran zîrektir hîs bike:

  • Dûriya mîkrofonê : 30–60 cm ji bo gelek mîkrofonên USB xala herî baş e.

  • Ast : ji qutkirina têketinê dûr bisekinin û lîstina bi rêkûpêk bihêlin; berî ku hûn li dû xeyalên kodê bikevin, rêwerzê rast bikin. Li ser Raspberry Pi OS, hûn dikarin cîhaza derketinê û astan bi rêya amûrên pergalê an raspi-config . [1]

  • Akustîka odeyê : dîwarên hişk dibin sedema dengvedanê; doşekek nerm di bin mîkrofonê de dibe alîkar.

  • Asta peyva şiyarbûnê : pir hesas → tetikên xeyalî; pir hişk → hûn ê li plastîk biqîrin. Porcupine dihêle hûn hesasiyetê li gorî peyvên sereke biguherînin. [2]

  • Termal : nivîsandinên dirêj li ser Pi 5 ji bo performansa domdar ji sarincokê çalak a fermî sûd werdigirin. [1]


Ji Pêlîstokan Ber bi Amûrên Elektrîkê Ve: Xizmet, Destpêkirina Otomatîk, Kontrolên Tenduristiyê 🧯

Mirov ji bîr dikin ku skrîptan bimeşînin. Komputer ji bîr dikin ku baş bin. Çembera xwe veguherînin xizmetek birêvebirî:

  1. Yekîneyeke systemd biafirîne:

[Yekîn] Danasîn=Alîkarê Dengî yê DIY Piştî=network.target sound.target [Xizmet] Bikarhêner=pi WorkingDirectory=/home/pi/assistant ExecStart=/usr/bin/python3 /home/pi/assistant/assistant.py Restart=always RestartSec=3 [Sazkirin] WantedBy=multi-user.target
  1. Çalak bike:

sudo cp assistant.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now assistant.service
  1. Dûvên têketinê:

journalctl -u alîkar -f

Niha di dema bootkirinê de dest pê dike, di dema têkçûnê de ji nû ve dest pê dike, û bi gelemperî wekî amûrekê tevdigere. Hinekî bêzar e, lê pir çêtir e.


Sîstema Jêhatîbûnê: Li Malê Bi Rastî Bikêrhatî Bike 🏠✨

Dema ku dengdan û derketin saxlem bûn, çalakiyan lê zêde bikin:

  • Routerê niyetê : rêyên peyvên sereke yên hêsan ji bo karên hevpar.

  • Mala jîr : bûyeran li MQTT biweşînin an jî xalên dawî yên HTTP-ê yên Alîkarê Malê telefon bikin.

  • Pêvek : fonksiyonên Pythonê yên bilez ên wekî set_timer , what_is_the_time , play_radio , run_scene .

Tewra bi LLM-ya ewr di çerxê de jî, ji bo leza û pêbaweriyê pêşî fermanên herêmî yên eşkere bi rê ve bibin.


Alîkariya Tenê Herêmî li hember Alîkariya Ewr: Guhertinên ku Hûn ê Hîs Bikin 🌓

Tenê herêmî
Erênî: taybet, negirêdayî, lêçûnên pêşbînîkirî.
Neyînî: modelên girantir dikarin li ser panelên piçûk hêdî bin. Perwerdehiya pirzimanî ya Whisper ji bo domdariyê dibe alîkar ger hûn wê li ser cîhazê an li ser serverek nêzîk bihêlin. [3]

Alîkariya ewr Awantaj
: aqilmendiya bihêz, pencereyên kontekstê yên mezintir.
Neyînî: daneyên ji cîhazê derdikevin, girêdayîbûna torê, lêçûnên guhêrbar.

Hîbrîd pir caran serdikeve: peyva şiyarbûnê + ASR herêmî → gazîkirina API-yekê ji bo aqilmendiyê → TTS herêmî. [2][3][5]


Çareserkirina Pirsgirêkan: Gremlînên Xerîb & Çareseriyên Bilez 👾

  • Tetikên derewîn ên peyva şiyarkirinê : hesasiyetê kêm bikin an mîkrofonek cûda biceribînin. [2]

  • Lagiya ASR : modelek Whisper-ê ya piçûktir bikar bînin an jî whisper.cpp bi alên berdanê ( -j --config Release ) ava bikin. [4]

  • TTS-ya Qutbûyî : hevokên hevpar pêş-çêbike; cîhaza xwe ya deng û rêjeyên nimûneyê piştrast bike.

  • Mîkrofon nehat tespîtkirin : arecord -l û tevlihevkeran kontrol bike.

  • Guhertina germî : ji bo performansa domdar, Sarincokê Çalak ê fermî li ser Pi 5 bikar bînin. [1]


Nîşeyên Ewlehî û Taybetîtiyê yên Ku Divê Hûn Bi Rastî Bixwînin 🔒

  • Pi-ya xwe bi APT-ê nûve bike.

  • Heke hûn API-ya ewr bikar tînin, tiştên ku hûn dişînin tomar bikin û pêşî li ser sererastkirina beşên kesane yên li herêmî bifikirin.

  • Xizmetan bi îmtiyazên herî kêm bixebitîne; sudo di ExecStart de dûr bisekine.

  • Ji bo mêvanan an jî demjimêrên bêdeng moda tenê-herêmî peyda bikin


Guhertoyên Avakirinê: Mîna Sendwîçekê Tevlihev Bikin û Lihev Bikin 🥪

  • Ultra-herêmî : Porcupine + whisper.cpp + Piper + qaîdeyên hêsan. Taybet û saxlem. [2][4][5]

  • Alîkariya ewr a bilez : Porcupine + (Whisper herêmî ya piçûktir an ewr ASR) + TTS herêmî + ewr LLM.

  • Navenda otomasyona malê : Herikînên Node-RED an Home Assistant ji bo rûtîn, dîmen û sensoran zêde bikin.


Mînaka Jêhatîbûnê: Ronahî bi rêya MQTT vêdixin 💡

import paho.mqtt.client as mqtt MQTT_HOST = "192.168.1.10" TOPIC = "mal/jûreya rûniştinê/ronahî/set" def set_light(state: str): client = mqtt.Client() client.connect(MQTT_HOST, 1883, 60) payload = "ON" if state.lower().startswith("on") else "OFF" client.publish(TOPIC, payload, qos=1, retain=False) client.disconnect() # if "ronahîyan vêxe" di nivîsê de: set_light("on")

Rêzek dengî lê zêde bike wekî: "lampa odeya rûniştinê vêxe," û tu ê xwe wek sêrbaz hîs bikî.


Çima Ev Stack di Pratîkê de Kar Dike 🧪

  • Porcupine di tespîtkirina peyva hişyarkirinê de li ser panelên piçûk bi bandor û rast e, ku guhdarîkirina her dem gengaz dike. [2]

  • Perwerdehiya berfireh û pirzimanî ya Whisper wê ji bo jîngeh û devokên cûrbecûr maqûl dike. [3]

  • whisper.cpp wê hêzê li ser cîhazên ku tenê CPU-yê bikar tînin, mîna Pi-yê, bikar tîne. [4]

  • Piper bêyî şandina deng bo TTS-ya ewr, bersivên bilez dihêle. [5]


Pir dirêj bû, min nexwend

Bi tevlihevkirina Porcupine ji bo peyva hişyarkirinê, Whisper (bi rêya whisper.cpp bi Raspberry Pi-yê re Alîkarekî AI-ê yê modular û taybet ava bikin . Wê wekî karûbarek systemd bipêçin, deng mîheng bikin, û çalakiyên MQTT an HTTP-ê têxin nav xwe. Ji ya ku hûn difikirin erzantir e, û bi awayekî ecêb xweş e ku meriv pê re bijî. [1][2][3][4][5]


Referans

  1. Nermalava Raspberry Pi û Sarkirin - Raspberry Pi Imager (dakêşin û bikar bînin) û agahdariya hilberê Pi 5 Active Cooler

  2. Porcupine Wake Word – SDK & destpêka bilez (peyvên sereke, hesasiyet, texmîna herêmî)

  3. Whisper (modela ASR) - ASR-ya pirzimanî, bihêz ku li ser ~680 hezar demjimêran hatiye perwerdekirin

    • Radford et al., Naskirina Axaftinê ya Bi Hêz Bi Rêya Çavdêriya Lawaz a Pîvana Mezin (Whisper): bêtir bixwînin

  4. whisper.cpp – Tesbîta Whisper a CPU-dostane bi CLI û gavên avakirinê

  5. Piper TTS – TTS-ya neuralî ya bilez û herêmî bi gelek deng/zimanan

AI-ya herî dawî li Dikana Alîkarên AI-ya Fermî bibînin

Çûna nava


Vegere blogê