Мазмуну:

Raspberry Pi Smart Scale: 10 кадам (сүрөттөр менен)
Raspberry Pi Smart Scale: 10 кадам (сүрөттөр менен)

Video: Raspberry Pi Smart Scale: 10 кадам (сүрөттөр менен)

Video: Raspberry Pi Smart Scale: 10 кадам (сүрөттөр менен)
Video: Top 5 алдын ала орнотулган пайдалуу Windows программалары 2024, Июль
Anonim
Image
Image

Күн сайын эртең менен ошол кызыксыз, эски, жаман кабарлардын ванна таразасын карап чарчадыңызбы? Сиз баскан сайын сизге "мен сени жек көрөм" деп көп айтчу. Эмне үчүн эч ким чындыгында кызыктуу же мотивация бере турган масштаб жасаган жок? Бул акылдуу гана эмес, сиздин күндү жарык кылуу үчүн бир аз көбүрөөк инсанга ээ болгон масштабды түзүүгө убакыт келди. Биз өзүбүздүн хакерлик, салмагыбызды көзөмөлдөөчү, тамашалашуу менен келген тексттик билдирүү ванна масштабын курабыз.

Бул Wii балансы тактасын, Raspberry Pi менен интернеттеги аналитикалык платформаны бириктирип, Python сценарийи аркылуу башкарылуучу веб масштабын түзүү үчүн кызыктуу, оңой долбоор.

Долбоордун деңгээли: Баштоочу Болжолдуу бүтүрүү убактысы: 20 мүнөт Кызыктуу фактор: Өлчөөчү эмес

Бул этап-этабы менен үйрөткүчтө сиз:

  • Wii балансын тактасын Raspberry Pi менен bluetooth аркылуу туташтырыңыз, баланс тактасына чыкканда салмагыңызды өлчөгөн Python скриптин иштетүү
  • салмагыңызды булут кызматына жеткирүү үчүн Raspberry Pi колдонуңуз (Баштапкы абал)
  • таразага тартылган сайын SMS билдирүүсүн орнотуңуз
  • веб браузериңизден кире турган салмакты көзөмөлдөө тактасын куруңуз

1 -кадам: жабдуулар

Wii Balance Board шкаласы
Wii Balance Board шкаласы

Бул жерде биз ар бир нерсени сатып ала турган шилтемелер менен бул окуу куралында колдоно турган бардык жабдуулардын тизмеси.

  • Raspberry Pi 3 SD картасы жана кубаттуулугу менен (https://init.st/psuufmj)
  • Wii Баланс Башкармасы (https://init.st/qg4ynjl)
  • Заряддалуучу батарея Wii Fit (https://init.st/iyypz2i)
  • 3/8 "Кийиз төшөктөр (https://init.st/8gywmjj)
  • Карандаш (мен сизге карандашты кайдан сатып алууга шилтеме бербейм … булардын бирине ээ болууңуз керек)

Эскертүү: Эгерде сизде Raspberry Pi 1 же 2 болсо, анда сизге Bluetooth адаптери керек болот (https://init.st/7y3bcoe)

2 -кадам: Wii Balance Board Scale

Эмне үчүн Wii Balance Board? Көрсө, бул чындыгында жакшы, чыдамдуу масштаб, bluetooth байланышы бар. Бул бизге салмагын Python сценарийинде окуу үчүн жана бир өлчөөчү компьютерге (Raspberry Pi) туташтырууга мүмкүндүк берет жана бул өлчөөлөрдү сонун иштерди аткаруу үчүн онлайн маалымат кызматына жөнөтөт. Мындан тышкары, сизде же сиз тааныган бирөөнүн чаң чогултуучу мүмкүнчүлүгү бар.

Бул долбоорду практикалык жана ыңгайлуу кылуу үчүн биз Wii Balance Boardго бир нече жөнөкөй өзгөртүүлөрдү киргизишибиз керек.

3 -кадам: Bluetooth орнотуу

Raspberry Pi 3 орнотулган bluetooth менен коштолот, биз Wii Balance Board менен баарлашуубуз керек. Эгерде сизде Raspberry Pi 1 же 2 болсо, адаптерди туташтыруу үчүн USB портторубуздун бирин колдонууга туура келет.

Pi'иңизди күйгүзүңүз (мен сиз Raspbian -ды мурунтан эле орнотуп койгонсуз деп ойлойм) жана Raspberry Pi терминалдык терезесине өтүңүз. Сиз Bluetooth hongle дарегиңизди "hcitool dev" буйругу менен көрө аласыз:

$ hcitool devDevices: hci0 00: 1A: 7D: DA: 71: 13

Python скрипттерибизде колдонула турган Bluetooth модулдарын орнотуңуз:

$ sudo apt-get python-bluetooth орнотуу

Орнотуу аяктагандан кийин, биз Wii Balance Board менен байланышууга жана байланышууга даярбыз. Биз тактайыбызды Bluetooth аппараттарыбыздын көбүндөй кылып Pi менен биротоло жупташтырбайбыз. Wii Balance Board эч качан Wiiден башка эч нерсе менен жупташууга багытталган эмес жана туруктуу жупташуу абдан башаламан чакырык болуп чыкты. Python сценарийибизди иштеткен сайын жупташуу болот.

4 -кадам: Таразаны окуу

Wii Balance Boardубузду Raspberry Pi менен байланыштырууга убакыт келди. Биз муну Stavros Korokithakisтин Gr8W8Upd8M8.py сценарийинин (https://github.com/skorokithakis/gr8w8upd8m8) версиясын өзгөртүү аркылуу жасайбыз. Бул кадам үчүн биз колдоно турган питон скрипти ушул жерде жайгашкан. Сиз бул файлдын мазмунун Raspberry Pi түзгөн файлга көчүрө аласыз же бул долбоор үчүн колдонула турган бардык питон файлдарын клондой аласыз. Келгиле, экинчисин жасайбыз. Raspberry Piдеги терминалга төмөнкү буйруктарды териңиз:

$ cd ~ $ git clone $ git clone https: github.com/initialstate/smart-scale.git клондоштуруу 'акылдуу масштабга'… алыстан: объекттерди саноо: 14, бүттү. алыскы: Объекттерди кысуу: 100% (12/12), бүттү. алыскы: Бардыгы 14 (дельта 1), кайра колдонулган 8 (дельта 0), кайра пакеттелген 0 Объекттерди таңгактоодон чыгаруу: 100% (14/14), бүттү. Байланыш текшерилүүдө… бүттү.

"акылдуу масштабга" клондоштуруу… алыстан: объекттерди саноо: 14, бүттү. алыскы: Объекттерди кысуу: 100% (12/12), бүттү. алыскы: Бардыгы 14 (дельта 1), кайра колдонулган 8 (дельта 0), кайра пакеттелген 0 Объекттерди таңгактоодон чыгаруу: 100% (14/14), бүттү. Байланыш текшерилүүдө… бүттү.

Сиз жаңы акылдуу масштабдагы эки python файлын көрүшүңүз керек - smartscale.py жана wiiboard_test.py.

$ cd акылдуу масштабдуу $ lsREADME.md smartscale.py wiiboard_test.py

Wiiboard_test.py скриптин иштетип, байланышты текшериңиз жана Wii Баланс Башкармасынан салмак көрсөткүчтөрүн алыңыз:

$ sudo python wiiboard_test.py

Сиз төмөнкү жоопту көрөсүз:

Такта табылууда… Тактадагы кызыл шайкештирүү баскычын азыр басыңыз

Кызыл синхрондоштуруу баскычын табуу үчүн тактанын астындагы батарейканын капкагын алыңыз. Скриптти иштеткенден кийин бир нече секунданын ичинде баскычты басканыңызды текшериңиз, же күтүү убактысы келип чыгат. Ийгиликке жеткенден кийин, төмөнкүлөргө окшош нерсени көрөсүз:

00 дарегинде Wiiboard табылды: 23: CC: 2E: E1: 44 Туташууга аракет кылууда… 00: 23: CC: 2E: E1: 44Wiiboard туташкан ACB маалымат жазуу үчүн алынган84.9185297 lbs84.8826412 lbs84.9275927 lbs

Wiiboard_test.py скрипти 10 -сапта көрсөтүлгөн салмак өлчөөлөрүнүн санын алып, орточо көрсөткүчтү чыгарат:

# --------- Колдонуучунун жөндөөлөрү --------- WEIGHT_SAMPLES = 500# ------------------------- --------

Бул номер менен ойной аласыз, маанини өзгөртүп жана ар бир өлчөө үчүн талап кылынган салмактагы өзгөрүүнү жана убакытты көрүү үчүн скриптти кайра иштетүү. Өзүңүздү таразалаңыз, итиңизди таразалаңыз, эмнени болсо да таразалап көрүңүз жана өлчөөлөрдүн мааниси бар -жогун көрүңүз. Скриптти токтотуу үчүн CTRL+C басыңыз.

Сиз азыр Wii Balance Boardту Raspberry Pi менен байланышкан масштабга ийгиликтүү айландырдыңыз. Эми, муну салкын масштабда кылалы.

5 -кадам: Аппараттык Tweaks

Hardware Tweaks
Hardware Tweaks

Nintendo сиз Wii Balance Boardту ар дайым төрт АА батарейкасы менен кубаттайсыз деп ойлогон жана AC кубаттуулук адаптери жок. Батарейканын кубаттуулугуна ээ болуу ыңгайсыз болмок, анткени биз Wii тактабызды bluetooth аркылуу Pi менен биротоло жупташтыра албайбыз. Биз аны синхрондошубуз керек, андан кийин батарейкаларды түгөтпөстөн шайкештирилген бойдон калууга уруксат берүүбүз керек, андыктан биз таразага басып, таразага түшө алабыз. Бактыга жараша, Wii Balance Board үчүн жасалган үчүнчү тараптын бир нече адаптерлери бар, аларды биз дубал розеткасынан туруктуу кубаттуулукту камсыз кылуу үчүн колдоно алабыз. Батареяларды батарейка менен алмаштырыңыз жана AC адаптерин розеткага сайыңыз.

Python скриптибизди иштеткен сайын Wii Balance Board менен Raspberry Pi жупташуусу керек, синхрондоштуруу баскычынын жайгашкан жерине байланыштуу дагы бир ыңгайсыздыкты жаратат. Шайкештирүү баскычы Wii тактасынын ылдый жагында, демек, биз аны шайкештештирүү үчүн ар бир жолу оодарып салууга туура келет. Муну карандаш менен 3/8 дюймдук кийиз төшөктөрдү колдонуу менен кичине рычаг жасап оңдоп койсок болот. Аккумуляторлуу батарейка пакети синхрондоштуруу баскычын тактанын астына чыгарат. Карандашты (же ушуга окшош нерсени) скотч менен жазыңыз синхрондоштуруу баскычынан тактанын сырткы бетине чейин. Карандаштын ортосуна 3/8 дюймдук кийиз төшөмөлөрдү (же окшош нерсени) салыңыз. Карандашты тактан көп чыгарбоо үчүн этият болуңуз, анткени сиз аны кокусунан ыргытып жиберүүнү каалабайсыз. Тактайды оодарыңыз, жана рычагды басуу менен синхрондоштуруу баскычын бассаңыз болот. Бир аз бузулган, бирок натыйжалуу.

Wii тактаңызды кантип сактаганыңызга жараша, тактанын буттарынан резина кармагычтарды алып салгыңыз келиши мүмкүн (текчелер - бул сиз чече турган стикерлер). 3/8 дюймдук төшөктөрдү тактанын бутуна коюп койсоңуз болот.

6 -кадам: Баштапкы абал

Баштапкы мамлекет
Баштапкы мамлекет

Биз салмагыбызды/маалыматыбызды булут кызматына өткөрүп берүүнү каалайбыз жана бул кызмат биздин маалыматты ноутбуктан же мобилдик түзмөгүбүздөн кире турган жакшы тактасына айландырууну каалайбыз. Биздин маалыматтар баруучу жайга муктаж. Биз ошол мамлекет катары Баштапкы Мамлекетти колдонобуз.

1 -кадам: Баштапкы мамлекеттик эсепке катталуу https://iot.app.initialstate.com дарегине өтүңүз жана жаңы каттоо эсебин түзүңүз.

2 -кадам: ISStreamer орнотуу Пиңизге Initial State Python модулун орнотуңуз: Командалык кеңеште (адегенде Пиңизге SSH киргизүүнү унутпаңыз), төмөнкү буйрукту аткарыңыз:

$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

3 -кадам: Automagic кылыңыз 2 -кадамдан кийин сиз экранга төмөнкү чыгарылышка окшош нерсени көрөсүз:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: ISStreamer Python Easy орнотуусун баштоо! Бул орнотуу үчүн бир нече мүнөт талап кылынышы мүмкүн, кофе алыңыз:) Бирок кайра келүүнү унутпаңыз, кийинчерээк суроолорум болот!

Easy_install табылды: setuptools 1.1.6

Табылган пип: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip негизги версиясы: 1 pip minor version: 5 ISStreamer табылды, жаңыртылып жатат … Талап буга чейин жаңыртылган: ISStreamer /Library/Python/2.7/site-packages Тазалоо… Сиз автоматтык түрдө мисал скриптин алууну каалайсызбы? [y/N]

(Эгерде сиз Баштапкы Питон агымдык модулун эч качан орното элек болсоңуз, чыгаруу башкача жана көпкө созулушу мүмкүн)

Автоматтык түрдө скрипт үлгүсүн алуу суралганда, y деп териңиз. Бул биздин Piден баштапкы абалга маалымат агымын камсыз кылуу үчүн иштете турган тесттик сценарийди түзөт. Сизге сунуш кылынат:

Мисалды кайда сактагыңыз келет? [демейки:./is_example.py]:

Сиз ыңгайлаштырылган жергиликтүү жолду териңиз же демейки кабыл алуу үчүн enter бассаңыз болот. Баштапкы мамлекеттик каттоо эсебиңизди каттоодон өткөргөнүңүздө сизден жаңы колдонуучу атыңыз менен сырсөзүңүз суралат. Экөөнү тең киргизиңиз жана орнотуу аягына чыгат.

4 -кадам: Кирүү ачкычтары

Келгиле, түзүлгөн скрипт үлгүсүн карап көрөлү.

$ nano is_example.py

15 -сапта стример = Streamer (bucket_… менен башталган сапты көрөсүз. Бул саптар "Python Stream Example" деп аталган жаңы маалымат чакасын түзөт жана сиздин каттоо эсебиңиз менен байланышкан. Бул ассоциация access_key = "…" байланыштуу болот.) Ошол эле саптагы параметр. Тамгалар менен сандардын узун сериясы - бул сиздин Баштапкы абалдын каттоо эсебине кирүү ачкычы. Эгерде сиз веб -браузериңиздеги Баштапкы абалдын эсебине кирсеңиз, жогорку оң бурчтагы колдонуучу атыңызды чыкылдатып, андан кийин "Менин Жөндөөлөрүмө" өтүңүз, сиз ошол эле кирүү ачкычын барактын ылдыйында "Агымга кирүү ачкычтары" астында таба аласыз.

Маалымат агымын түзгөн сайын, бул кирүү ачкычы ошол маалымат агымын сиздин эсебиңизге багыттайт (андыктан ачкычыңызды эч ким менен бөлүшпөңүз).

5 -кадам: Мисалды иштетүү

Статистикалык сценарийди баштапкы абалдагы эсебиңизге маалымат агымын түзө аларыбызга ынануу үчүн иштетиңиз. Төмөнкүлөрдү иштетүү:

$ python is_example.py

6 -кадам: Пайда

Веб -браузериңиздеги баштапкы абалга кайтыңыз. "Python Stream Example" деп аталган жаңы маалымат чакасы журналдын текчесинде сол тарапта көрүнүшү керек болчу (баракты жаңыртууңуз керек болушу мүмкүн). Ушул эле маалыматты панель түрүндө көрүү үчүн, плиткалардагы маалыматтарды көрө аласыз.

7 -кадам: Акыркы скрипт

2-бөлүктө "git clone https://github.com/InitialState/smart-scale.git" буйругун аткардыңыз деп ойлосоңуз, баарын бириктирген акыркы скрипт сиздин ~/акылдуу масштабдагы каталогдо smartscale.py деп аталат. (https://github.com/InitialState/smart-scale/blob/master/smartscale.py)

Иштетүүдөн мурун скриптте бир нече жөндөөлөр орнотулушу керек. Нано сыяктуу сүйүктүү текст редакторунда smartscale.py ачыңыз.

$ cd ~ $ cd акылдуу масштабдуу $ нано smartscale.py

Бул файлдын жогору жагында Колдонуучунун Орнотуулар бөлүмү бар.

# --------- Колдонуучунун Орнотуулары --------- BUCKET_NAME = ": apple: Менин Салмагы Тарыхы" BUCKET_KEY = "weight11" ACCESS_KEY = "БАШТАГЫ МАМЛЕКЕТТИК КИРҮҮ АЧУУҢУЗДУ БУЛ ЖЕРДЕ ОРНОТУЗ" METRIC_UNITS = FalseWEIGHT_SAMPLES = 500 ТАРТУУ_МИСАЛДАРЫ = 100САЛМАТТЫК ТАРЫХ = 7# ---------------------------------

  • BUCKET_NAME салмагыңыз/берилиштериңиз агымдала турган Баштапкы Мамлекет маалымат топтомунун аталышын коёт. Бул жерде орнотулуп, кийинчерээк UIде өзгөртүлүшү мүмкүн.
  • BUCKET_KEY - маалыматыңыз кайда агып кетерин көрсөтүүчү уникалдуу чака идентификатору. Эгерде сиз башка чака/тактаны түзгүңүз келсе, бул жерде башка идентификаторду колдонуңуз (*эскертүү, эгер сиз чаканы архивдеп койсоңуз, анын ачкычын жаңы чакада кайра колдоно албайсыз).
  • ACCESS_KEY - бул сиздин баштапкы абалдын эсеп ачкычы. Эгерде сиз ACCESS_KEY'иңизди бул талаага койбосоңуз, анда маалыматыңыз каттоо эсебиңизде көрүнбөйт.
  • METRIC_UNITS "True" деп коюлса, салмагыңызды кг менен же "False" деп койсоңуз lb менен аныктоого мүмкүндүк берет.
  • WEIGHT_SAMPLES сиздин чыныгы салмагыңызды алуу үчүн канча өлчөө алынганын жана орточо эсепке алынганын аныктайт. 500 өлчөө 4-5 секундга созулат жана так жыйынтыктарды берет.
  • THROWAWAY_SAMPLES тактага биринчи кадам таштаганда ыргытылган үлгүлөрдүн санын аныктайт. Бул баштапкы кадамдарды жана акыркы өлчөөнү ыргытып жиберүүдөн сактайт. Бул ар дайым WEIGHT_SAMPLESке караганда алда канча аз болушу керек.
  • WEIGHT_HISTORY кошумча жаңыртуу жөнөтүлгөнгө чейин алынган өлчөөлөрдүн санын белгилейт. Бир гана эки саат же андан көп аралыкта жүргүзүлгөн өлчөөлөр тарыхка кирет.

Бул бөлүмдө ар бир параметрди белгилеп, өзгөртүүлөрүңүздү сактагандан кийин, акыркы сценарийди иштетүүгө даярсыз. Сценарийди иштетүүдөн мурун, ал эмне кыларын карап көрөлү.

  • Сценарийдин башында сизден Wii Balance Boardту Raspberry Pi менен жупташтыруу суралат. Сунуш кылынганда синхрондоштуруу баскычын басуу үчүн 2 -бөлүм: Hardware Tweaks бөлүмүндө чогуу бузулган рычагды колдонуңуз.
  • Сценарий иштеп баштагандан кийин, Wii тактасына кирип, салмагыңызды өлчөй баштаңыз. 4-5 секунддан кийин салмагыңыз автоматтык түрдө Баштапкы Мамлекет эсебине жөнөтүлөт.
  • Биз SMS эскертмелерди орноткондон кийин (бир -эки кадам менен), өлчөөңүздөн көп өтпөй сизге SMS келет.

Сыйкырды баштоо үчүн скриптти иштетиңиз.

$ sudo python smartscale.py

8 -кадам: Куралдар тактасы

Куралдар тактасы
Куралдар тактасы

Баштапкы абоненттик эсебиңизге барып, BUCKET_NAME параметрине (башкача айтканда Менин Салмагы Тарыхым) ылайык келген жаңы маалымат чакасын чыкылдатыңыз. Плиткаларды басып, салмагыңыздын тарых тактасын көрүңүз. Сиз плиткаңыздагы маалыматты биринчи жолу көргөнүңүздө үч плитканы көрүшүңүз керек - Жаңыртуу, Салмагы жана Салмагы (lb). Сиз тактаңызды плиткалардын өлчөмүн өзгөртүү жана жылдыруу, ошондой эле көрүнүштөрдүн түрлөрүн өзгөртүү, ал тургай плиткаларды кошуу менен ыңгайлаштыра аласыз. Бул панель сизге салмагыңыздын тарыхын бир кароого мүмкүнчүлүк берет. Бул мобилдик достук жана сиз аны башкалар менен бөлүшө аласыз.

Дайындарыңызга көбүрөөк инсандык жана контекст берүү үчүн сиз панелге фондук сүрөттү кошо аласыз.

9 -кадам: SMS

SMS
SMS

Келгиле, тараза салмагын өлчөгөндө SMS эскертүүсүн түзөлү. Сиздин салмак тарыхыңыздын маалымат пакети жүктөлгөнүн текшериңиз.

  1. Маалымат чакасы терезесиндеги чаканын жөндөөлөрүн (анын аты астында) чыкылдатыңыз.
  2. Triggers өтмөгүн чыкылдатыңыз.
  3. Иштетүү үчүн маалымат агымын тандаңыз. Маалыматтар чакасы жүктөлгөндөн кийин, учурдагы агымдардан тандоо үчүн ачылуучу тизмени колдонсоңуз болот же агымдын атын/ачкычын кол менен тере аласыз. Жогорудагы мисал скриншотунда "Жаңыртуу" тандалган.
  4. Шарттуу операторду тандаңыз, бул учурда 'дал'.
  5. Аракетти козгой турган Триггер маанисин тандаңыз (кол менен каалаган маанини териңиз). Эгерде сиз метрикалык бирдиктерди колдонбой жатсаңыз lb териңиз же метрикалык бирдиктерди колдонуп жатсаңыз кг менен териңиз. "Жаңыртуу" агымында "lb" (же "kg") болгондо, сизге текст билдирүүсү тууралуу билдирүү келет.
  6. Триггер шартын кошуу үчүн '+' баскычын басыңыз.
  7. Электрондук почта дарегиңизди же телефон номериңизди "Байланыш үчүн кабарлоо" талаасына киргизиңиз.
  8. Байланыш маалыматын кошуу үчүн '+' баскычын басыңыз.
  9. Орнотууну аягына чыгаруу үчүн жаңы телефон номерин кошсоңуз, текшерүү кодун киргизиңиз.
  10. Негизги экранга кайтуу үчүн ылдыйдагы Бүттү баскычын чыкылдатыңыз. Сиздин триггериңиз азыр жандуу жана шарт аткарылганда күйөт.

Орнотуу аяктагандан кийин, сиз өзүңүздүн салмагыңызды камтыган ар бир жолу SMS аласыз, салмагыңыз акыркы өлчөөдөн бери канча өзгөрдү жана кокус тамашалоо / кемсинтүү / комплимент.

10 -кадам: Жыйынтык

Сиз азыр жараткан нерсеге таянуу үчүн чексиз мүмкүнчүлүктөр бар. Бул жерде бул долбоор үчүн кээ бир идеялар бар:

  • Өзүңүздүн жеке ден соолук тактаңызды түзүү үчүн башка булактардан алынган маалыматтарды ошол эле таржымал тактасына (маалыматка) өткөрө аласыз.
  • Сиз MessWeighFirst, messageWeighLess, messageWeighMore жана messageWeighSame функцияларындагы тамашаларды өзүңүздүн тамашаңызга жараша өзгөртө аласыз.
  • Сиз тамашаларды практикалык билдирүүлөргө өзгөртө аласыз же аларды алып салсаңыз болот жана өзүңүздүн салмагыңыздан башка маанилүү нерсенин салмагын көзөмөлдөө үчүн шкаланын кодун колдоно аласыз.
  • Ушул эле ыкманы колдонуу менен өзүңүздүн акылдуу сыра/вино муздаткычыңызды түзө аласыз. Бул үчүн буга чейин укмуштуудай үйрөткүч бар.

Бул окуу куралы сизди укмуштуудай нерсени жаратууга шыктандырса, мага билдирип коюңуз.

Сунушталууда: