Тази тема е много важна и моля да обърнем серизно внимание, защото с малко усилия от ваша страна ще можем рязко да подобрим условията на живот на
онази част от инвалидите, които не могат да си движат ръцете и са на голямо тегло.
Повечето от тези инвалиди имат компютър, което улеснява нашето задание. Някои от тях ползват софтуер за гласово разпознаване като Dragon Nаturally Speaking, с който могат да позиционират мишката си чрез мрежа от 9 квадрата, която постоянно намалява растера си.
Как работи тя: извикваш я с команда, върху монитора излиза мрежа от 9 големи квадрата, избираш един квадрат и влизаш в него, той става на 9 по-малки квадратчета, влизаш в едно от тях и т.н. - докато позиционираш мишката много точно и кликнеш върху обекта.
Драгона работи доста добре на английски, като в началото след инсталация е нужно кратко обучение - повтаряш няколко пъти текст, докато се научи да ти разпознава тембъра.
Лошото е, че Драгон струва от 100 до 500 долара, а инвалидите нямат пари - те едвам оцеляват, камо ли да си позволят да я купят. Принципно е тежка програма и кракнатите версии пък често забиват компютъра и им липсват някои опции - примерно да разпънеш прозорец с влачене на левият му долен край.
Има и разни безплатни софтуери, които асоциират вградения в Windows Voice Recognition енжин, но са доста зле и нямат много от опциите на Драгона - особено позиционирането на мишката. А и самият енжин не е особено свестен, много пъти си играх с него, в 50% от случаите не ме разбира правилно.
Конкретно се нуждая се от вашата помощ да довършим един проект. Първо да уточня, че с команди през COM порта и накрая с микро релета ще дублираме натискането на бутони на клавиатура за управление на легло на инвалид. Леглото си има фабрични: мотори, мотор контролери, крайни изключватели, клавиатура с кабел с бутони за нагоре-надолу и т.н. Ние просто ще накараме системата чрез гласово разпознаване да "натиска" тези бутони, за да може да върти моторите на леглото в някаква посока.
Вариантите са:1. На прикачената схема е показван прост проект, който работи и го писахме преди няколко месеца за управление на моторите на леглото на инвалид през COM порта.
Има софтуер Leglo.exe (виж прикачения файл), в който се натискат с мишката бутони с имена "Легло нагоре", "Легло надолу", а софтуера изпраща към COM порта следните команди (на Делфи са, 16-битови):
$10 = Легло нагоре
$20 = Легло надолу
$30 = Възглавница нагоре
$40 = Възглавница надолу
$50 = Компютър включи
$60 = Компютър изключи
$70 = Лампа включи
$80 = Лампа изключи
$90 = Звънец [10 sec]
След което PIC16F1827 (на прикачената схема) приема командата и щраква реле
паралелно на бутоните на оригиналната жична клавиатура на леглото за някакви секунди (за да не заклини леглото към края, нищо че всички легла по принцип имат краен изключвател).
Софтуерни настройки на COM порта за работа с Leglo.exe:
DCB.BaudRate:=CBR_9600;
DCB.Parity:=NOPARITY;
DCB.ByteSize:=8;
DCB.StopBits:=OneStopBit;
DCB.EvtChar:=chr(13);//задание символа для флага
DCB.Flags:=1; //NO HANDSHAKE
Спецификация на COМ порта:
Protocol: RS232
Speed: 9600
Data: 8 bits
Stop Bits: 1 stop bit
Parity: none
Проекта работи, но
само до ниво натискане с мишката на бутони върху интерфейса на Leglo.exe. Но проблема е, че инвалида като не може да си движи ръцете, ще му се наложи да управлява мишката чрез гласово разпознаване (или пък има едни софтуери с камера - следи ти лицето, позиционираш с поглед и мигаш с очи за кликането на ляв и десен бутон, но си е мъка - неточни са и много зор се позиционира). Екзето е писано на Делфи, но авторът е затрил сорса, иначе върви на всякакви windows-и директно без инсталация.
Недовършеното на този проект е, че не успях да намеря начин да се напише скрипт, който да направи директна връзка между софтуера за гласовото разпознаване и командите по RS-232 ($10, $20 и т.н). Една такава директна връзка ще облекчи инвалида да си управлява мишката - няма да има нужда да се ползва мишката въобще!
Бяхме писали на студента Любомир Янчев, разработил "Мелиса - модерният иконом", в началото прояви интерес, но явно е зает, отговаря след месеци и може би не му се занимава особено. А инвалидите са на голямо тегло, повярвайте ми.
В момента активно общувам с този човек по скайп:
http://marianminkov.atspace.com/ - Мариян, той е първият, показал ми работата на Драгон в действие. Интелигентен и борбен, успял е да завърши психология както е инвалид, той може да говори, да си движи само главата и много слабо рамената, а ръцете и цялото тяло са абсолютно неподвижни.
А проекта за моторите на леглото го нарекох Анелия, защото идеята тръгна от нея:
https://www.facebook.com/profile.php?id ... &sk=photos - Анелия Флорова, тя може да си движи главата, рамената и едвам дясната ръка, но само ако тялото й е в седнало положение.
"Мелиса" е скрипт, който инициализира вграденият Windows Voice Recognition, след което управлява хардуерни у-ва като лампи и климатици по безжичен начин, най-вероятно e bluetooth. Пример командата: Melissa Turn Lamp ON включва лампа. При него хубавото е, че практически е направил връзката между софтуерното гласово разпознаване и хардуерното изпълнително устройство, искам и ние да направим такова нещо. Лошото е, че вграденият Voice Recognition е доста тъп, на Драгона е много по-съвършен.
Разбира се, може и Linux решения, но всички инвалиди карат на Windows и някои нямат смартфони с Android.
2. Купувам оригинална версия на Драгон и се опитваме да я кракнем, също дописваме скрипт към нея да може да праща команди по RS-232. След което я качвам на всички сайтове на инвалиди да си я теглят безплатно и написвам инструкции на български как се работи с нея.
3. Пиша на разработчиците на Dragon Speech Recognition и ги питам дали имат възможност да се дописват скриптове към нея, с цел управление на хардуер по USB или COM.
Ако ми кажат, че нямат такава опция, почваме да мислим варианти, тоест как да накараме софтуерите да пращат команди по RS-232. Други енжини за гласово разпознаване също можем да ползваме, но не са толкова съвършени като Драгона. Доколкото знам, Янчев си е качил всички сорсове в Gitnub и ползвайки ги, можем да направим нещо тясно специализирано за инвалиди - но няма се оправя сам, ще ми трябва вашата помощ.
Идеалният случай би бил такъв: пишем скрипт за Драгона, който чрез гласово разпознаване извиква Leglo.exe. И след като се извика този прозорец, Драгон само с глас да може да позиционира по тези бутони (go to "Легло нагоре") и след това да клика по тях (press "Легло нагоре"). Тоест да се избират и натискат софтуерни бутони, без да се ползва мишката.
4. Мислим за варианти за позициониране на мишката с камерата, то има такива софтуери, но не знам колко от тях са опън сорс и дали въобще е качен сорса.
5. Мислим за вариант само за 2 команди с процесор + филтър, да разпознава примерно 2 тона (не реч, а тонове - примерно да каже "АААА" и процесора да хване честотата). Единият тон за легло нагоре, другият за легло надолу и толкова.
Ще се радвам ако бутнете рамо да довършим проекта, защото сме в бедна държава и инвалидите са последна грижа - дават им се минимални помощи, някои от тях са сами (починали родители), гледат ги социални работници и то само за няколко часа от денонощието и
всяко дребно нещо им е от полза, дори да може да си вдига и сваля леглото е нещо много ценно за тях.
Представете си какво е да дишаш трудно посред нощ, да си сам и да не можеш да си вдигнеш леглото.