2010/10/27

Чөтгөрийн гарт ертөнцийн гэрэл ...

Өнгөрсөн хавраас хойш л гэрт нэг бяцхан чөтгөрийн хөгжүүлэгчийн өгсөн хавтанг утасгүй сүлжээний хандалтын цэг болгон ашиглах гэж нэг хэсэг туршив. Уг хавтан маань 32 битийн big endian MIPS процессортой нэлээд хэдэн сүлжээний порттой, хүчин чадал боломжийн SBC болой. Азаар MIPS дээрч ажиллах бяцхан чөтгөрийн порт хийгдээд тун удаагүй байсан юм. Тэгээд нэг цахилгааны инженер, хөдөлмөрч япон залуугийн порт хийсэн run драйвер ашиглаад хандалтын цэг ч дорхноо л бараг болчихов. Гэхдээ мэдээж нэлээн олон удаа panic, core dump ч боллоо, хөгжүүлэгчдийн тусламжтайгаар тэдгээрийг засаад ажиллагаатай ч боллоо доо. За ингээд утасгүй сүлжээний төхөөрөмжтэй болчихлоо гэж баярлаж байтал баяр дээр баяр болохоор сайхан боломжийг бас нэг орос гаралтай залуу хийсэн байлаа. Юу вэ гэхээр GPIO драйверийг бяцхан чөтгөрт оруулж хөгжлийн шинэ түвшинд хүргэж. За тэгээд сонирхож байгаа хүмүүс нь интернетээс хайгаад уншчихна биз, тэгээд ч хавтан маань бас GPIO хөлнүүдтэй байсан болохоор багахан туршилт хийхээр шийдэв.

Эхлээд бяцхан диод залгаж асааж унтрааж үзэхээр шийдэв. Электроникоос хол удсан болохоор диодоо сонгох, диодоо шатаахгүйн тулд тохирох эсэргүүцлээ сонгох гэж бас л жаахан уншив, залхуурч хүнээс хүртэл асуув :) Breadboard аваад диод эсэргүүцлээ тавиад асааж унтрааж үзлээ дээ, болж байнаа. Үнэндээ электроник жаахан гадарладаг хүүхэд нүдээ аниад хийчмээр эд болохоор ёстой ичмээр дамшигдаа гэж зарим нь хэлэх л байх. Гэхдээ тэрийг тоохгүй шүү.

За энэ ч яахав амархан боллоо гэж бодоод санаа амарсангүй бас өөр юм хийж үзэхээр сэтгэл шулуудав. 220V-ийн релей удирдаж гэрийн цахилгаан хэрэглэгч хянах шунаг бодол толгойд эргэлдээд өөрийн эрхгүй шаардлагатай зүйлсийг үтэр түргэн худалдаад авчихлаа. За харин транзистороо удирдах эсэргүүцлээ тооцох гэж бас л жаахан мунгинав, холболтоо ч дутуу хийснээ анзаарахгүй баахан л тоо бодов. Эцэст нь нэг юм алдаагаа олж, эсэргүүцлээ ч гаргаж элементүүдээ ч зоогоод туршилтаа ч амжилттай хийлээ. 220V гэдэг тоглоом биш болохоор аюулгүй ажиллагааг бас нэлээн анхаарч хайрцаг, савыг хайж олоод релейгээ байрлуулж хавтан, холболтуудаа ч мэргэжлийн юм шиг л хийв. Гэхдээ хавтангийн ар талыг харвал ч зарим нэгний хөх инээд хүрэх нь дамжиггүй :D

За баахан нуршиж чилээлээ. Доорх MPEG4 видеог нэг "мэргэжлийн" камер, нэг "мэргэжлийн" операторын хүчээр хийснийг харж нүдээ чилээх нэг нь чилээнэ буй заа.

Youtube видео



Мэдээж релей удирдахад ийм хүчирхэг хавтан шаардлагагүйг галзуу хүмүний тэмдэглэл уншиж буй улсууд эрхбиш нэг мэдэлгүй дээ гэж найднам :) PIC, Atmel-ийн 8 бит контроллер байхад л болох байх гэж мунхаг миний бие тунгааж байна.



Эцэст нь бяцхан чөтгөрийн гарт ч ертөнцийн гэрэл ... За юу гэж ойлгохоо өөрсдөө мэднэ биз.

FreeBSD rocks :)

2010/10/26

Замын хөдөлгөөн

Монголд замын уулзвар болгон дээр улаан гэрэл асахад ийм юм гарч ирдэг болговол мөн гоёдоо:

2010/10/14

Уран хүмүний өгөөмөр гар хүснэм

Эрдэнэчимэг эгчийн дэлгэж тавьсан зурмал үсэгнүүдийг эвлүүлж босгодог систем бэлдэж байх зуур дараах санаа төрж сайхан зурчихдаг санаа сайтай хүмүн үгүйлэн үүнийг тэрлэж сууна. Үүссэн монгол үсэгнүүдтэйгээ цуг үндэснийхээ шинж чанарыг харуулсан дүрс нэмье гэж бодов. Дараах жагсаалтыг танд дэлгэж харуулангаа дурын ( inkscape байвал сайн ) вектор дүрслэл хийж чаддаг програм дээр зурсан юмуу, эсвэл эдгээр дүрсийг дуурайж бэлтгэж болох фото зураг юмуу зурмал зургийн холбоосыг нь чулуудах хүн хайж байгаагаа уламжлая. Мөн үүн дээр нэмэх дүрс байх аваас санаа оноогоо харамгүй хайрлах эрх уншигч авхай танд бийг хэлүүлэлтгүй бүгд мэднэ дээ. Галзуу хүний тэмдэглэлийг тоож хардаг хүн цөөхөн гэдгийг бид мэддэг ч, юмыг яаж мэдэх вэ, овоо босгоогүй бол шаазгай юунд суух бил ээ :).

-
Монгол улсын Сүлднүүд ( Он дарааллаар. http://jaagii14.blogspot.com/2010/10/blog-post_08.html )
Монгол улсын газрын зургууд (Он дарааллаар)
Бөх
Морь
Нум сум
Есөн хөлт туг
Монгол цэрэг
Хонь
Ямаа
Үхэр
Тэмээ
Шонхор
Чоно
Нохой
Уурга
Эмээл
Дөрөө
Монгол гэр
Дээлтэй хүн ( ястан бүрийн )
Сүхбаатарын хөшөө
Янгир
Монгол гутал
Морин хуур
Хөсөг тэрэг ( морин, үхэр, тэмээн )
Өлзий хээ
Ааруул
Айраг
Ууц
Тарвага
Тавгийн идээ
Ул боов
Ташуур
Гэрэгэ ( анхны нэвтрэх үнэмлэх :)

2010/10/07

Шигтгээ

Мартаж болно шүү дээ, мартаж болно. Амраг ханийхаа үгийг мартаж болно. Аав ээжийн захиасыг мартаж болно. Алдрай үрийнхээ хүсэлтийг мартаж болно. Анд нөхдийн явдлыг умартаж болно. Салан баавгай шиг сарвайж авсан зүйлээ салаагаараа урсгаж, санаж явсан зүг чигээ салбагнаж хөөрөхийн зуур умартаж, нэрэлхүү аймхайн ачаар нийтийн дунд баатар болон ууж татаж явсаар нэг мэдэхэд нас урсаж, чадал доройтож, нүдний гал буурч, нүүрний цог унтарна. Энэ бүхнийг хаа сайгүй л бичиж ярьцгаадаг. Хүн болгон энэ сэдэв дээр ярих юмтай, хэлэх үгтэй байдаг. Анд нөхөдтэй ууж дуулж суухад иймэрхүү сэдвээр шөнөжин дуулж хуурдаж болно. Анзаарах юм бол арван хэдтэй бандийн амнаас гарах үгс арав арван жилээр урсах үедээ аажим аажим өөрчлөгдөнө. Сонсдог үе, дагаж хэлдэг үе, давтаж сурдаг үе, дагуулж хийдэг үе, дасгаж сургамжилдаг үе, дийлдэхгүй үглэдэг үе, дэмий чалчих үе, дуугүй сонсдог үе. Цагийн зүү хөдөлж байгаа гэж зарим нь харж хийдэг байхад зарим нь цагийн зүүг хөдөлгөж байна гэж харж хийх.

Эрдэмтэн мэргэд урсан өнгөрөх үйл явц, хүчин зүйлийн хэсэгхэн тайрдсаас нь юмуу өнгөрсөн түүхийг нь урдаа дэлгэж байгаад шидэт үгээ хэлж шившээд дараагийн хоромд урсах зүг, хазайх чиглэлийг нь хэлж байдаг. Хүн хэмээгч нь өөрөө цаг хугацаа хэмээх хэмнэлээр ажилладаг "бяцхан" робот. Нийгэм хэмээх орчинд байгаа олон робот. Төр хэмээх удирдах роботоор захирагдсан "төмөр/мах". Энэ роботыг агуулж байгаа хорвоо тэр чигээрээ эмх замбараагүйд оршино, эмх замбараагүй нь өөрөө өөрийн системээр эмх замбараагаа заана. Бүх зүйлийг эмх замбараагүй талаас нь харж болдог ч, бүх зүйлийг эмх замбараатай системээр бас харж болдог. Харж болдог гэдгийг бас тийм зүй тогтолтой гэж зоож болно. Зүй тогтол, Улс гүрэн, Төр засаг, Хууль журам, Боловсрол, Мөнгө гэсэн үгний цаана өргөө-ө-ө-н ойлголт бий. Үүнийг бүтээгчид нь бид, үр дүн нь бас бид.

Хэхэ, би хаана байна аа? За энэ дэмий асуултыг орхиё. Бие засах газар биенийхээ ялгадасыг гаргаж байхдаа, нийтийн тээврийн унаа хүлээж байхдаа, ажил дээр унтаж байхдаа, амраг хосын болзоонд хүлээн зогсохдоо орчин тойрноо та нэг хар даа. Дараа нь та нүдээ аниад ийм байх ёстой, ийм байгаасай гэж төсөөл дөө. Нүдээ нэгээд та ахиад хар даа. Хэр их ялгаатай байна? Хэзээ ч биелэхгүй гэж та боддог уу? Биелүүлэх юмсан гэж та мөрөөддөг үү?

Хорлонтой нүдээр монгол улсаа, эх орноо, хайрт үр хүүхдийн минь өсөх ёстой газрыг харж нэг үзэх үү? Төр хэмээх системд орвол түрийвч зузаарна, эрх мэдэлтэй, хүчтэй, хүчирхийллийг хууль ёсоор хийж болно гэсэн програмыг өнөөх роботуудад суулгах юмуу суухгүй байгаад нь вирусын зарчмаар суулгачихая. Өнөөх роботууд цаг хугацааныхаа давтамжаар уралдана биз дээ. Програмыг илүү найдвартай ажилууллахын тулд юмуу олонлогийг шүүж илүү хяналттандаа байлгахын тулд зарим орчны өөрчлөлт хийж болно. Архи, завхрал, дон, үл боловсрол зэрэг бага чадалтай роботуудыг тогтвортой нэг түвшинд аваачих орчин бүрдүүлье. Робот бүрд буй өөрийн гэсэн жижигхэн микроконтроллерийг нь хоосон л ажиллууллах юм уу шинэ модул залгахгүй л байлгаад байвал тэд миний үнэнч боол, хөгжилтэй тоглоом, хөөрхөн ашиг, бах тав минь. Эх хэл, соёл, газар шороо гэсэн үнэтэй програм суулгаж яах юм. Тэгвэл тэд захирагдахгүй ш дээ. Жаахан төвлөрөөд, дундын холбоо харилцаа холбооны эд зүйлс үүсээд, бичиг үсэг хэрэглээд мэдээллийн бааз үүсгээд ирвэл аюултай. Тэгвэл хоорондоо холбогдож ойлголцоод байгаа үсгийг нь холион бантан болгож өөрчлөх нэг функц ажиллуулчихна. Тэгээд яаж самуурч, тэнэгтэж, галзуурч, мунхарч байхыг нь инээдмийн жүжиг шиг харж баахан хөхрөе л дөө. Би өөрөө найруулагч нь болохоор театрын үйл явдлыг дураар өөрчилж тэндээсээ санаанд оромгүй үзэгдэл харвал бүр сонирхолтой. Хэрэв тэр дунд захирагдахгүй робот үүсэх юмуу програмын алдаанаас болж ажиллаад эхэлбэл байгаа роботуудыг тэрний эсрэг байлгах юмуу түүнийг адилхан болгож нөлөөлөх бүх шаардлагатай функцүүдийг бичнэ. Тэр их олонлогоос бусдыгаа цэвэрлэж шинэ систем бүрдүүлэх боломж бага. Тийм болохоор санаа зовох зүйл алга. Амжиргаа гэдэг функцээр бүх роботыг завгүй болгох хэрэгтэй. Учиргүй л бүх роботууд дотроосоо гэнэт ид шид шиг гэнэт өөрчлөгдчихгүй бол энэ програм найдвартай ажиллана.

Роботууд хоорондоо мөргөлдөөд ирвэл ёстой гоё тоглоом. Заримыг нь алсаас удирдаж тулааны үр дүнг сонирхолтой болгож болно. Ийм тоглоомон дээр өөрөө оршиж байгаа програмдаа байдаггүй юмнуудыг туршиж болно. Жишээ нь гэр дотроо нусаа нийж болохгүй, гадаа нийж болно. Гэрийн хоймор бааж болохгүй, гадаа бааж болно. Тодорхой системгүй олон роботыг яаж л бол яаж тоглоно ш дээ. Хоорондоо харилцах бүтэц, ижил функц, хамгаалах систем л суугдчихгүй бол яасан ч яах вэээ….

Ээ, болъё. Муу ёр. "Ийм болчихвол яана аа"!?

Бясалгал гэж нэг үг байдаг шүү дээ? Олон жил ном уншиж хураасан лам нар жишээ нь энэ үгийг хэлээд олон сар жилээр суучихдаг. Тэдний дотор юу болдог гэж та бодож байна. Энэ нь оюутны хувьд дипломын ажлын төгсгөл хэсэгт нь бичигдэх ёстой хэдэн мөртэй адилхан шахуу юм. Компьютер дээр бол бүндөүс системд байдаг дискэн доторх өгөгдлүүдийг ангилж дор бүр нь бөөгнөрүүлэх disc defragment тушаалтай ижил. Энгийн хүнээр бол өвгөрсөн хойноо нүднийхээ өмнө үр хүүхдүүдээрээ хийсэн бүтээснээ эвдүүлж, хорт утаагаар амьсгалцгааж, харийн хүнээр охин үрээ доромжлуулан эдлүүлж, хөвүүн үрээ хүний газар боол болгож заран, хэл усаар доромжлуулахыг хараад хоёр нүднээс нь дусагнах тэр шорвог шингэн зүйл. Арай л хатуу хэлчих шиг боллоо. Эсвэл илүү зөөлдөөд байна уу?

Миний дээр бичсэн хорлонтой програмд бясалгал нэртэй функц байлгаж хэрхэвч болохгүй. Энэ бол нөгөө олонлог робот бүр дотроосоо өөрийгөө цэвэрлэх даалгавар гэсэн үг. Юу боллоо гэж үүнийг суулгах вэ дээ. Ингэх юм бол идэх хоолоо барих гэж тавьсан хавхаа тойруулаад хашаа барьсантай адилхан юм болно. Би тийм тэнэг ч бас биш ээ. За яахав яг тэр лам нар шиг олон сар жилээр таг болчихдог бол ч бас яахав суулгаж болох юм. Гэхдээ сүүлдээ нэг л тас хийх аюултай учраас ер нь суулгах дэмий. Гэвч энэ функцны бас mini буюу бичил хувилбар байдаг. Тэр нь өнөөх робот дээр бол ямар нэгэн функц гүйцэтгээгүй хоосон зогсох үед, эсвэл гүйцэтгэж байхдаа давхар өөр функц гүйцэтгэх хэлбэрээр илэрч болно. Компьютер дээр бол нөгөө товч дарахгүй удаан байхаар процесорыг байнга тэжээж байхын тулд гэнэт screensaver гээч юм ажиллаад эхэлдэг ш дээ, яг тэрэн шиг тэр роботын тархинд болж өгвөл энэ бичил бясалгал хийлгэж болохгүй. Хянахад хэцүү ч гаднаас нь сайн нөлөөлж чадвал тэр процесыг саатуулж болно. Архи сайн цутгаад өгвөл мэдээж тэр функцийг дуудах нь бүү хэл функцгүй дугуй болно. хэхэ нүдэнд бүр харагдчихлаа. Эээ, буцаад нөгөө муухай юм яриад уналаа. Муу ёр,, түй түй. "Биелэчихвэл яана"?!

Бясалгалыг мөн програмын хэл дээр бол glue code буюу энд тэнд тархаж бичигдсэн функцүүдийг нааж залгаж нэгдсэн үр дүн болгодог явц гэж төсөөлж болно. Яг нэгтгээд цэвэр юм болгож заримдаа чадахгүй бол ерөнхийдөө байгаа төлвөө цэгцэлж чаддаг үйлдэл юм. Уран дарханд бол хээ хуараа залгах шигтгээ юмуу даа. Зөв газраа зөв зүйл шигтгэвэл нийлээд сайхан харагдана. Муу дүрсийг ч сайн шигтгээгээр засаж болно. Шижир ухаан, шинэ систем, шаардлага, шилжилт, шахах, шавхах, шүүх гээд бүгдээрээ шигтгээтэй ямар нэгэн хэлбэрээр бас уялдаж болно. За би л лав сүүлийн өгүүлбэрээ өөрөө ч сайн ойлгосонгүй :) Гэхдээ өвгөд дээдэс маань аль хэдийнээ амьдралын урсгал дунд оюу тархиа зөв зүйлээр шигтгэх мэргэн үгтэй байж:

Анд минь, дүү минь, үр минь - ганцаараа байхдаа өөрийгөө шинж.