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
-
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]
-
Boot bike, bi torê ve girêbide, paşê pakêtan nûve bike:
nûvekirina sudo apt && nûvekirina sudo apt -y
-
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] -
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.

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.cpprê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î:
-
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
-
Çalak bike:
sudo cp assistant.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now assistant.service
-
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.cppbi 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;
sudodi 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.cppwê 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
-
Nermalava Raspberry Pi û Sarkirin - Raspberry Pi Imager (dakêşin û bikar bînin) û agahdariya hilberê Pi 5 Active Cooler
-
Wênegirê Raspberry Pi: bêtir bixwînin
-
Sarincokê Çalak (Pi 5): bêtir bixwîne
-
-
Porcupine Wake Word – SDK & destpêka bilez (peyvên sereke, hesasiyet, texmîna herêmî)
-
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
-
-
whisper.cpp – Tesbîta Whisper a CPU-dostane bi CLI û gavên avakirinê
-
Piper TTS – TTS-ya neuralî ya bilez û herêmî bi gelek deng/zimanan