Мазмуну:
- Анда мунун баары кантип мүмкүн?
- Эмне талап кылынат?
- 1 -кадам: SD картаны форматтоо
- 2 -кадам: SD картасын даярдоо
- 3 -кадам: Бул Pi'ни кубаттаңыз
- 4 -кадам: Баштапкы конфигурация
- 5 -кадам: Орнотууну жаңыртуу
- 6 -кадам: Конфигурация файлдарын даярдоо
- 7 -кадам: Hotword орнотуу
- 8 -кадам: Аудио конфигурациясы (1 -бөлүк)
- 9 -кадам: Аудио конфигурациясы (2 -бөлүк)
- 10 -кадам: Аудиону текшерүү
- 11 -кадам: Булутка туташуу
- 12 -кадам: Акыркы тестирлөө
- 13 -кадам: Баштоодо Google Жардамчыны орнотуу
- 14 -кадам: Финиш сызыгы
Video: Hands Free Google жардамчысы Raspberry Pi үчүн: 14 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Саламатсызбы жана менин биринчи Инструкторума кош келиңиз!
Бул нускамада мен сизге Raspberry Piге Google Assistantтин ырдоосун, бийлешин орнотуунун эң оңой жолу деп эсептейм. Ал OK Google буйругу менен колу бош жана Пиңизди жүктөгөндө автоматтык түрдө иштей баштайт. Ал супер сонун жана жөндөө оңой!
Анда мунун баары кантип мүмкүн?
Жакында Google Magpi журналынын №57 саны менен жасалма AI комплектин чыгарды. Бул өзүңүздүн Google жардамчыңызды түзүүнү абдан оңой кылды, бирок үн топтомун кармоо бир аз кыйыныраак болду жана көп жерлерде ал бир нече сааттын ичинде сатылып кетти.
Бактыга жараша, Google бардык программалык камсыздоону толук көрсөтмөлөр менен толуктады. Бул бизге мээнеттин баарынан пайдалануу үчүн "Магпинин" көчүрмөсүнүн кереги жок экенин билдирген.
Буга карабастан, журналдын көчүрмөсү жок же аны менен кошо жеткирилген жабдыксыз үн топтомун колдонуу боюнча онлайнда так көрсөтмөлөр жок окшойт. Анын ордуна, үйрөткүчтөрдүн көбү баарын башынан баштап орнотууга аракет кылышат, көбүнчө мага окшош кодерлер үчүн ээрчүү мүмкүн болбогон коддордун баш аламандыгы.
Мына ушул Нускама бул жерде. Бул жүздөгөн окуу куралдарын, видеолорду жана интернеттеги постторду карап 2 күндүк талыкпаган эмгектин жыйынтыгы. Натыйжада, туруктуу Google Жардамчысы иштей баштайт жана "OK Google" ысык сөзү менен үн менен иштетилет.
Эмне талап кылынат?
Бул Нускаманы ийгиликтүү аяктоо үчүн төмөнкүлөр керек болот:
- Raspberry Pi 3 (кадимки microSD картасы жана кубат кабели менен). * Бул дагы Raspberry Pi 2 менен иштээрин тастыктаган MichaelW142ге рахмат.
- 3,5 мм жардамчы туташуусу бар негизги динамик
- USB микрофону
- Чычкан жана клавиатура
1 -кадам: SD картаны форматтоо
Эң биринчи нерсе, биздин SD картаны форматтоо. Келгиле, Raspberry Pi расмий фонду сунуштаган SD Ассоциациясынын форматтоо куралын колдонолу.
Орнотулгандан кийин, тиркемени иштетиңиз жана 'Option' баскычын чыкылдатыңыз.
Азыр "OK" чыкылдатып, туура дискти форматтап жатканыбызды эки жолу текшерип, андан кийин "Формат" баскычын чыкылдатыңыз. Бул көпкө созулбашы керек, кийинки кадамга өтүүдөн мурун, диск ийгиликтүү форматталгандыгы тууралуу ырастоону күтө туруңуз.
2 -кадам: SD картасын даярдоо
Кийинки биз Raspberry Pi үчүн Voice Kit microSD картасынын сүрөтүн жүктөп алышыбыз керек. Сүрөттү менин Google Дискимден жүктөп алсаңыз болот.
Биз жаңы эле SD картабызга жүктөп алган сүрөттү өткөрүп берүү үчүн, Etcher.io аттуу программаны колдонобуз. Бул бекер, ачык булак жана орнотууну талап кылбайт.
Etcherди жүктөп алгандан кийин, программаны иштетиңиз жана сиз жогорудагыдай экранды көрүшүңүз керек. Жүктөө бир же эки мүнөткө созулушу мүмкүн, эгер ал дароо жүктөлбөсө, чыдамдуу болуңуз.
"Сүрөттү тандоо" баскычын чыкылдатып, биз жаңы эле жүктөп алган үн комплектинин сүрөтүнө өтүңүз (aiyprojects-2017-05-03.img). Тандалгандан кийин, мазмунду туура дискке жазып жатканыңызды текшериңиз. Туура диск тандалды деп ойлосок, "Жарк!" Дегенди басыңыз.
Сүрөттү SD картаңызга жазуу үчүн болжол менен 20 мүнөт же андан көп убакыт талап кылынышы мүмкүн, андыктан барып, өзүңүзгө жакшы чай ичип коюңуз, мен сизди бул жерден бир аздан кийин көрөм!
3 -кадам: Бул Pi'ни кубаттаңыз
SD карта даяр болгондо, биз microSD картасын Raspberry Piге сала алабыз. Бул жерде биз дагы электр өткөргүчтү, HDMI кабелин, клавиатураны, чычканды, мониторду, динамикти жана USB микрофонун туташтырышыбыз керек. Сиздин орнотууңуз мага окшош болушу керек деп үмүттөнөм.
Мен зымсыз клавиатураны жана чычканды колдонуп жатам, андыктан эгер сиз өзүңүздүн орнотууңуз менен бир нече кошумча кабелдерди алсаңыз, коркпоңуз!
Электр кабели сайылганда, Raspberry Piңиздин жүктөлүшүнө уруксат бериңиз жана сизге жакында стандарттык Pixel столу сунушталат.
4 -кадам: Баштапкы конфигурация
Курсорду кармап, экраныңыздын жогорку сол жагындагы Raspberry Pi логотипине өтүңүз. Ылдый түшүүчү жерден "Тандоолор", анан "Raspberry Pi Configuration" дегенди тандаңыз.
Андан кийин, "Интерфейстерге" барып, "SSH" күйгүзүңүз.
Эми экрандын жогорку оң жагындагы WiFi логотибин чыкылдатып, WiFi тармагыңызды тандаңыз. Эгерде сиздин WiFi сырсөз менен корголгон болсо, сиз аны киргизишиңиз керек. Жашыл белги ийгиликтүү туташканыбызды тастыктайт жана биз кийинки кадамга өтүүгө даярбыз.
5 -кадам: Орнотууну жаңыртуу
Бул үйрөткүч алгандай өнүккөн. Биз dev терминалын Google Assistant SDK, Project Kit жана көз карандылыкты жаңыртуу үчүн колдонобуз, акыркы версияларыбыз бар. Мунун эч бири сизге мааниси жок болсо, паника кылбаңыз, бирок бул кадамды өткөрүп жибербөөбүз абдан маанилүү. Бул үйрөткүчтө айтылгандай кылгыла, этият болгула, эч кандай ката кетирбеңиз жана баары жакшы иштейт.
Ошентип, дүрбөлөң башталды, баштайлы! Иш столунун сөлөкөтүн эки жолу чыкылдатыңыз "Dev терминалын баштоо".
Сиз жогорудагыдай коркунучтуу көрүнгөн dev терминал терезесин көрүшүңүз керек.
Кийинки терминалдарга төмөнкү буйруктарды төмөндө көрүнгөндөй териңиз. Бул жерде 9 буйрук бар жана ар бири пайда болуу тартибине жараша өзүнчө киргизилиши керек. Ар бир буйрукту жазгандан кийин, кийинкиге өтүүдөн мурун клавиатураңыздагы "Enter" баскычын басыңыз. Кээ бир буйруктарды аткаруу үчүн бир нече секунд талап кылынат, андыктан ар биринин аягына чейин чыдап, кийинкиге өтүүдөн мурун чыдамдуу болуңуз.
cd ~/assistant-sdk-python
git checkout master
git pull master
cd ~/үн таануучу-raspi
git checkout master
git pull master
cd ~/үн таануучу-raspi
rm -rf env
скрипттер/install-deps.sh
6 -кадам: Конфигурация файлдарын даярдоо
Андан кийин биз учурдагы конфигурация файлдарыбыздын камдык көчүрмөсүн алып, жаңы эле жаңыртылган жаңы версияларын алып келишибиз керек. Бул үчүн сиз дагы 4 буйрукту аткарыңыз. Муну биз жаңы эле колдонуп жүргөн dev терминалында жасаса болот. Дагы бир жолу, алар ушул тартипте жасалышы керек жана төмөндө көрүнгөндөй так жазылышы керек:
cp ~/.config/status-led.ini ~/.config/status-led.ini ~
cp ~/.config/үн таануучу.ini ~/.config/үн таануучу.ini ~
cp ~/үн таануучу-raspi/config/status-led.ini.default ~/.config/status-led.ini
cp ~/үн таануучу-raspi/config/үн-таануучу.ini.default ~/.config/үн-таануучу.ini
7 -кадам: Hotword орнотуу
Азырынча укмуш иш! Биз азыр чындап жакындап калдык, андыктан ошол жакка илинип коюңуз.
Биз азыр "AI Google" деген сөздөрдү айтканыбызда үнүбүзгө жооп бериши үчүн Google AIY долбоорубуздун триггерин алмаштырышыбыз керек.
Dev терминалына төмөнкү буйрукту териңиз:
нано ~/.конфигурация/үн таануучу.ini
Бул дагы коркунучтуу терезени пайда кылат.
Бул жаңы терезеде төмөнкү кодду издеңиз:
# Триггерди тандаңыз: gpio (демейки), кол чабуу, ok-google.
# триггер = шапалак
Биз бул кодду өзгөртүүбүз керек:
# Триггерди тандаңыз: gpio (демейки), кол чабуу, ok-google.
trigger = ok-google
Эгерде сиз клавиатураңыздын жебе баскычтарын колдонсоңуз, анда курсор пайда болгонун байкайсыз. Жебе баскычтарын колдонуп, курсорду биз өзгөртүүгө аракет кылып жаткан тексттин сабына түшүрөлү. Баскычтоптун артка баскычын колдонуу менен биз өзгөртүүгө аракет кылып жаткан тексттин линиясын жок кылабыз жана аны жогорудагы мисалдагыдай кайра теребиз.
Мен # символун алып салганыма көңүл буруңуз, бул # текстти бул жаңы сапка кошпоо маанилүү.
Мен мунун баары кандай болушу керектигин скриншотко чейин жана кийин тиркеп койдум (сизди ошол жерден жоготтум).
Сиздин терезе так меникине окшош деп ойлосоңуз, биз өзгөрүүлөрдү жаап, сактай алабыз. Терезеңизди жабуу үчүн клавиатураңыздагы 'Ctrl' басып, 'X' баскычын басыңыз. Андан кийин, биз киргизген өзгөртүүлөрдү сактоону суранабыз, "Y" баскычын басып, анан клавиатураңыздагы "Enter" баскычын басыңыз. Терезе эми жабылат жана өзгөртүүлөр сакталат.
Өзгөртүүлөрдү кабыл алуу үчүн, биз кызматты кайра башташыбыз керек. Терминал терезесине төмөнкү буйрукту териңиз жана "Enter" баскычын басыңыз:
sudo systemctl үн таанууну кайра баштоо.кызмат
8 -кадам: Аудио конфигурациясы (1 -бөлүк)
Азыр Google Жардамчысы аздыр -көптүр тирүү жана кызмат кылууга даяр.. Куттуктайбыз!
Бирок, сиз өтө толкунданганга чейин, бири -бириңизди уга албайсыз. Себеби, Google AIY Project Image комплект менен жеткирилген жабдыктар менен иштөө үчүн конфигурацияланган. Биз стандарттык aux динамикти жана USB микрофонун колдонуп жаткандыктан, конфигурациянын айрымдарын өзгөртүү керек.
Дагы бир жолу биз ошол эле терминалдык терезени колдонобуз, бул жолу:
sudo баракчасы /boot/config.txt
Бул текст терезесин ачат. Документтин эң ылдыйына жылдырып, dtparam = audio = on алдындагы # санын алып салыңыз жана астындагы эки сызыктын алдына # киргизиңиз.
Бул өзгөртүүлөрдү киргизгенден кийин, ал так ушундай болушу керек:
# Аудиону иштетүү (snd_bcm2835 жүктөлөт)
dtparam = audio = on #dtoverlay = i2s-mmap #dtoverlay = googlevoicehat-soundcard
Мен ошондой эле бул кандай болорун көрсөтүү үчүн скриншотту тиркеп койдум.
"Файлга" өтүп, "Сактоо" баскычын чыкылдатыңыз. Сиз азыр документти жаба аласыз.
9 -кадам: Аудио конфигурациясы (2 -бөлүк)
Кайра иштеп чыгуу терминалына кайра териңиз:
sudo leafpad /etc/asound.conf
Сиз "Enter" басканда, жаңы текст документи ачылат. Бул жолу документтин ичиндеги БАРДЫК текстти жок кылып, аны төмөнкүлөр менен алмаштырыңыз:
pcm.! демейки {түрү asym capture.pcm "mic" playback.pcm "speaker"} pcm.mic {type plug slave {pcm "hw: 1, 0"}} pcm.speaker {type plug slave {pcm "hw: 0, 0 "}}
Дагы мен бул кандай болорун көрсөткөн скриншотту тиркеп койдум.
Дагы бир жолу документти сактап, жабыңыз.
Эми Raspberry Pi'ни кайра жүктөө мезгили келди. Экраныңыздын жогорку сол жагындагы Raspberry Pi логотибин чыкылдатыңыз жана "Өчүрүү", андан кийин "Кайра жүктөө" дегенди басыңыз.
Пиди кайра жүктөгөндөн кийин, бизде дагы бир жөндөө бар. Дагы бир жолу "Dev терминалын баштоо" сүрөтчөсүн эки жолу чыкылдатып, төмөнкүлөрдү териңиз:
leafpad /home/pi/voice-recognizer-raspi/checkpoints/check_audio.py
Бул акыркы документте сиз окуган коддун линиясын табышыңыз керек:
VOICEHAT_ID = 'googlevoicehat'
Муну өзгөртүү:
VOICEHAT_ID = "bcm2835"
Бул өзгөртүүлөрдү киргизгенден кийин, биз мурункудай кылып, сактап, анан бул документти жабыңыз.
10 -кадам: Аудиону текшерүү
Иш столунда "Аудиону текшерүү" деп аталган файл бар. Муну эки жолу чыкылдатыңыз жана сүйлөөнүн да, микрофондун да иштешин камсыз кылуу үчүн көрсөтмөлөрдү аткарыңыз.
Эгерде сиз бул көрсөтмөнү туура аткарсаңыз, анда эч кандай көйгөй болбошу керек. Бирок, эгер сиз эч нерсе уга албасаңыз, үндүн катуулап турганын жана Raspberry Piңиздин үн чыгаруу үчүн "Аналогду" колдонуп жатканын эки жолу текшериңиз. Сиз муну экрандын жогору жагындагы үн сөлөкөтүн оң басуу менен кыла аласыз. "Аналог" скриншоттогу мисал сыяктуу белгилениши керек.
Аудио текшерүүдөн өттүңүз деп ойлосок, кийинки кадамга өтө алабыз.
11 -кадам: Булутка туташуу
Google Жардамчысы бизге жашоонун суроолоруна жооп берерден мурун, аны Google'дун Булуттагы Кызматтарына туташтыруу керек.
Муну жасоо оңой, бирок эгер сиз мурда булутта болбогон болсоңуз, анда ал башында бир аз коркуу сезилиши мүмкүн.
Бул жерде биз эмне кылышыбыз керек:
1) Raspberry Piде Chrome интернет браузерин ачып, Cloud Consoleго өтүңүз:
2) Учурдагы Google аккаунту менен кириңиз же болбосо, катталыңыз.
3) Жаңы долбоор түзүп, ага ат коюңуз. Мен өзүмдү "Google Pi" деп атадым
4) Издөө тилкесин колдонуп, "Google Жардамчысын" тере баштаңыз жана сиз "Google Жардамчынын API'син" көрүшүңүз керек. Аны чыкылдатыңыз, андан кийин кийинки баракча жүктөлгөндө, API иштетүү үчүн "Иштетүү" дегенди басыңыз.
5) "API менеджерине", андан кийин "Ишеним грамоталарына" барып, "OAuth 2.0 кардарын" түзүңүз.
6) "Ишеним грамоталарын түзүү" баскычын чыкылдатып, "OAuth кардар IDсин" тандаңыз. Эгер сиз мурда булутта болгон эмес болсоңуз, анда азыр сизден макулдук экранын конфигурациялоо сунушталат. Колдонмоңузду атооңуз керек болот, меники "Raspberry Pi" деп аталды. Башка бардык талааларды бош калтырууга болот.
7) Ишеним грамоталарынын тизмесинен жаңы грамоталарыңызды таап, оң жактагы жүктөө сөлөкөтүн чыкылдатыңыз.
8) Chrome браузери азыр кичинекей JSON файлын жүктөйт, анын ичинде сиздин ишеним грамоталарыңыз коопсуз сакталып турат. Бул файлды таап, атын "assistant.json" деп өзгөртүп, андан кийин /home/pi/assistant.jsonго жылдырыңыз.
9) Акыр -аягы, Аракеттерди көзөмөлдөө барагына өтүңүз: https://myaccount.google.com/activitycontrols жана төмөнкү кызматтарды күйгүзүңүз: Веб жана колдонмонун ишмердүүлүгү, Жайгашкан жерлер таржымалы, Түзмөк маалыматы, Үн жана аудио ишмердүүлүгү. Мурдагыдай эле Google каттоо эсеби менен кирүүнү унутпаңыз!
Эгерде сиз ушул этапта кандайдыр бир учурда тыгылып калсаңыз, таң калбаңыз, Google бул процессти Google AIY Kit веб -сайтындагы ар бир кадам үчүн скриншоттор менен документтештирүү боюнча мыкты жумуш аткарды.
12 -кадам: Акыркы тестирлөө
Эгерде булутта баары туура орнотулган болсо, биз азыр Google менен сүйлөшүүгө даярбыз. "Dev терминалын баштоо" буйрук терезесин кайра колдонуп, төмөнкүлөрдү териңиз:
src/main.py
Бул биздин жардамчыны ойготот, бирок Google кызматтарына биринчи жолу туташып жаткандыктан, веб -браузер ачылат жана Raspberry Piге Google Assistant APIге кирүүгө уруксат берүү үчүн Googleга киришиңиз керек болот. Дагы бир жолу, сиз мурун Google каттоо эсебиңизге киргениңизди текшериңиз.
Сиз ийгиликтүү кирип, уруксат бергенден кийин сизден терезени жабуу сунушталат. Буйрук терезеси азыр бардыгы туура орнотулганын тастыктаган скриншотко окшош болот.
Улан, суроо бер, ал угуп жатат!
Сиз өтө толкунданып кете электе, биз аягына чыга элекпиз. Ойноп бүткөндөн кийин, терезени жабыңыз, бул үчүн терезенин жогорку оң жагындагы ак крестти колдонуңуз.
13 -кадам: Баштоодо Google Жардамчыны орнотуу
Мен сизге Raspberry Pi'ди иштеткенде Google Жардамчыбыз автоматтык түрдө ишке кирерин убада кылдым. Бул үчүн, рабочий столундагы 'Start dev terminal' сөлөкөтүн колдонуп жаңы буйрук терезесин ачыңыз. Терминал терезесине төмөнкү кодду киргизиңиз жана клавиатураңыздагы "Enter" баскычын басыңыз:
sudo systemctl үн таанууну иштетет
Биз жаңы эле Google Жардамчыны автоматтык түрдө баштоону бир сап код менен конфигурацияладык. Бул кандай оңой эле !!
14 -кадам: Финиш сызыгы
Эми сиз бардык кадамдарды аяктагандан кийин, Raspberry Pi'ни кайра жүктөңүз. Эгерде сиз бул көрсөтмөлөрдүн бардыгын кылдаттык менен аткарсаңыз, анда Pi жүктөлгөндө Google Жардамчы фондо иштеши керек. Колдонуп көрүңүз, OK Google деп айтып, аны ойготуп, андан каалаган нерсеңизди сураңыз!
Бул нускама сизге жакты деп ишенем. Бул 2 күндүк талыкпаган эмгектин жана көп онлайн окуунун натыйжасы. Мен, албетте, кодер эмесмин, андыктан Raspberry Piге Google жардамчысын алуунун эң оңой жана логикалык жолун табууга аракет кылдым жана мен ишенем.
Эгерде сизде ушул Нускамага байланыштуу суроолор же сунуштар болсо, төмөндөгү комментарийлерде мага билдириңиз. Мен да сенин кандай болгонун уккум келет.
Мен көптөгөн үйрөткүчтөрдү, блог постторун жана форум жазууларын окудум, бирок бул долбоордогу эң чоң жетишкендиктерим онлайндагы 2 билдирүүдөн келип чыкты, алар экөө окшош милдеттерди аткарууга аракет кылышкан: https://eduncan911.com/stem/embedded/aiy-google-assistant -upgrades-may-2017.html жана https://www.androidauthority.com/build-google-assistant-raspberry-pi-770296/. Бул көрсөтмө экөөнү кантип оңой жана түз алдыга коюуга болорун түшүнүүнүн натыйжасы!
Кошумча Кредиттер
- Google Жардамчынын SDKсында буга чейин көптөгөн функциялар камтылган, бирок ага кошумча функцияларды берүү үчүн AIY комплектине кошо ала турган көптөгөн "моддор" бар. Ktinkererде жеткиликтүү акыркы моддордун жаңыртылган тизмеси бар, аны текшериңиз! Муну көрсөткөн cyberwolves рахмат:)
- Кыйкырган жаңы AI үчүн спикердин корпусу жөнүндө эмне айтууга болот? Муну adylinn аркылуу текшериңиз.
Эгерде сиз бул Нускамага кошо турган дагы бир нерсе ойлонсоңуз, анда байланышыңыз:)
Авторлор конкурсунда биринчи жолу жеңүүчү
Сунушталууда:
Hands-Free Cardum Gumball Machine: 18 кадам (Сүрөттөр менен)
Hands-Free Cardon Gumball Machine: Биз микро: битти, жинди схемалардын бит тактасын, аралык сенсорун, сервону жана картонду колдонуп сенсорсуз гамбол машинасын жасадык. Аны жасап, колдонуу " BLAST "! ? ? Колуңузду ракетанын түбүнө койгондо, аралыкты сезүүчү
Google Жардамчысы көзөмөлдөгөн LED матрицасы!: 7 кадам (Сүрөттөр менен)
Google Жардамчысынын көзөмөлдөгөн LED матрицасы!: Бул үйрөткүчтө мен сизге Google Жардамчысынын көзөмөлдөгөн LED матрицасын кантип жасоо керектигин көрсөтөм, аны каалаган жерден смартфондун жардамы менен башкарууга болот, андыктан баштайлы
Hands Free тиш щеткасы: 6 кадам (сүрөттөр менен)
Hands Free тиш щеткасы: Hands free тиш щеткасы - Майкл Митч, Росс Олсен, Жонатан Моратая жана Митч Хирттин долбоору. Биз куруу үчүн кызыктуу чечим болушу мүмкүн болгон көйгөйгө кайрылгыбыз келди, ошондуктан сиз кыла албаган нерсени жасоону чечтик
Доктор Ким Тардис Google Жардамчысы менен Түнкү Жарык: 4 Кадам (Сүрөттөр менен)
Доктор Ким Тардис Google Жардамчысы менен Түнкү Жарык: Hello Instructables жана Dr Who Fans Ошентип, мен кичинекей балам үчүн бийиктиги 20 смдей болгон кичинекей бир версиясын куруп койгом жана үйдө чоң атасы болушу керек деп ойлогом. Бул чоң 35 см Tardis түнкү жарык, ESP8266 менен иштейт
Hands Free велосипед камерасынын штативи: 6 кадам (сүрөттөр менен)
Hands Free Vicycle Camera Tripod: Мен велосипед тепкенди жакшы көрөм. Мен дагы сүрөт тартууну жакшы көрөм. Фотография менен велосипедди айкалыштыруу дайыма эле иштебейт. Эгерде кийимиңизде чоң чөнтөк жок болсо, сиз сүрөткө тартпай жатканда камераңызды сактоо көйгөйүнө туш болосуз