połączenie komórka <-> serwer

[Reklama] Telefony satelitarne wszystkich sieci Thuraya, Iridium, Inmarsat https://ts2.shop/pl/3-telefony-satelitarne

Moderator: Moderatorzy

ODPOWIEDZ
johnyjj2
Początkujący użytkownik forum
Posty: 9
Rejestracja: 2009-08-16, 16:54
Lokalizacja: Opole

połączenie komórka <-> serwer

Post autor: johnyjj2 »

Witam :-)!

Moja wiedza dotycząca telefonii komórkowej jest ograniczona, bardziej zajmuję się programowaniem. Stąd też byłbym wdzięczny, gdybyście mogli mi zasugerować jakieś tutoriale, które omawiają potrzebne mi zagadnienia oraz odpowiedzieli na moje pytania.

Generalnie to mam do napisania pewną aplikację na telefon komórkowy (max cena docelowego telefonu to 700zł, testować będę na Sony Ericsson k750i). Aplikacja ta musi rozpoznawać mowę i w odpowiedni sposób reagować na rozpoznane liczby (liczyć sumę kontrolną i odpowiadać). Zamierzam użyć CMU Sphinx, jednak pozostaje jeszcze kwestia, czy będzie to rozpoznawanie mowy na komórce (PocketSphinx) i wysłanie rezultatów na serwer (post, httpconnection; próbowałem też Wireless Messaging API, ale coś kiepsko działało), czy też przekierowanie rozmowy na serwer (myślałem o Digium + Asterisk, ale karty Digium są dość drogie) i rozpoznawanie na serwerze (Sphinx4).

I teraz w zależności od tego, którą opcję wybiorę, pozostaje kwestia połączenia komórka <-> serwer. W wypadku opcji pierwszej jest to tylko wysłanie krótkiego pliku tekstowego na serwer. Próbowałem użyć httpconnection, metody post (get raczej odpada), ale na MIDlecie. Gdybym użył PocketSphinksa to raczej musiał bym jakoś inaczej zaimplementować wysyłanie danych, nie bardzo wiem jak. Natomiast w razie drugiej opcji to niestety moja wiedza jest niewielka i muszę się więcej dowiedzieć na temat sposobów, w jakie telefon łączy się z internetem, a to jest temat rzeka.

Tak na pierwszy rzut oka to opcja pierwsza (jeśli wypali, co może być trudne ze względu na spore wymagania PocketSphinksa i niewielkie możliwości komórek za mniej niż siedem stów - chyba że nie użyć telefonu komórkowego, ale np. palmtopa/palmfona?) wydaje się być dużo tańsza w eksploatacji (pomijając cenę karty Digium, która być może nie jest konieczna, za to kosztuje, z tego, co się orientuję, około półtorej tysiąca złotych). Może mam jakieś mylne wyobrażenia (jeśli tak, to wyprowadźcie mnie, proszę, z błędu :-P), ale łączenie się komórki z internetem to nie taka tania sprawa. Zwłaszcza, że tutaj chodzi o wykonanie kilkunastu (może więcej) połączeń w ciągu dnia z komórki na serwerm (mówię teraz o opcji drugiej).

W sumie to zasugerowano mi, że może komórka ze Skypem będzie dobrą i tanią opcją. W miejscu, w którym będę stosował aplikację, powinien być internet przewodowy w biurze (i raczej też faks - może jakoś użyć jakiejś karty telefon/faks?), natomiast komórka będzie używana do kilku kilometrów od biura. Tak na mój gust to stworzenie sieci bezprzewodowej o zasięgu paru kilometrów mija się z celem ze względu na koszty i potencjalne zakłócenia sygnału.

Raczej zajmuję się programowaniem na kompy, więc na komórkach się nie znam. (Główna część mojego projektu to wytrenowanie modelu akustycznego dla j. polskiego na komputerze przy użyciu SphinxTraina, bo na dzień dzisiejszy darmowe modele akustyczne na voxforge są dostępne tylko dla kilku języków, wśród nich nie ma polskiego). Tak że nie wiem, co jest potrzebne, żeby komórka miała tani dostęp do internetu. Jakie są opcje? Jakieś specjalne karty do telefonu? Połączenia satelitarne? VoIP, w wypadku gdy komórka znajduje się w zasięgu hotspota? Jakie jeszcze i która jest wystarczająco tania i dobra?

Z góry dzięki za odpowiedzi :-)!
Pozdrawiam :-)!
Awatar użytkownika
Jo_gurt
Guru bezprzewodowy
Posty: 16330
Rejestracja: 2007-11-16, 21:49
Lokalizacja: Lublin

Re: połączenie komórka <-> serwer

Post autor: Jo_gurt »

johnyjj2, a GSM/3G źle? Są przecież tanie prepaidy.
marens
Guru bezprzewodowy
Posty: 3607
Rejestracja: 2007-04-14, 10:01
Lokalizacja: Wrocław

Re: połączenie komórka <-> serwer

Post autor: marens »

Mógłbyś określić jakie ilości danych będą przesyłane?
Jeśli chodzi o głos to ma być przesyłany "na żywo" czy biernie, np zapisany plik.
johnyjj2
Początkujący użytkownik forum
Posty: 9
Rejestracja: 2009-08-16, 16:54
Lokalizacja: Opole

Re: połączenie komórka <-> serwer

Post autor: johnyjj2 »

Dzięki za odpowiedzi :-)!

Być może GSM/3G będzie odpowiednie, będę musiał więcej o tym poczytać. Jakie komercyjne oferty w Polsce mógłbyś zaproponować?

Jeśli chodzi o ilość danych to ok. trzydziestu numerów dwunastocyfrowych + być może pewne dodatkowe informacje, takie jak jakaś nazwa (zapewne jedna z grupy kilkunastu predefiniowanych) lub dodatkowe dane liczbowe.

aś co do przesyłania to raczej na żywo. Jeśli użytkownik poda numer dwunastocyfrowy, numer ten musi być rozpoznany z niewielkim opóźnieniem, następnie program (piewsza opcja - na komórce, druga opcja - na serwerze; którą opcję wybiorę to się jeszcze okaże, na ile komórka w cenie <700 zł obsłuży sprzętowo PocketSphinx) obliczy sumę kontrolną. Po rozpoznaniu numeru i obliczeniu sumy, program odpowie, że numer jest prawidłowy, bądź też nie. Następnie użytkownik zaakceptuje błędny numer lub poda go od nowa, a następnie przejdzie do kolejnego lub zakończy połączenie. Z tego właśnie powodu, że rozmowa trochę przypomina rozmowę z żywym człowiekiem, raczej ma być to na żywo (przynajmniej w wypadku drugiej opcji, gdy mowę rozpoznawać będzie serwer). Jeśli by to była pierwsza opcja, to pozostaje tylko przekierowanie dźwięku z komórki do PocketSphinksa i żaden dźwięk zapisywany ani przesyłany nigdzie być nie musi, przesyłane zostaną tylko w pliku tekstowym wyniki końcowe.

Pozdrawiam :-)!
marens
Guru bezprzewodowy
Posty: 3607
Rejestracja: 2007-04-14, 10:01
Lokalizacja: Wrocław

Re: połączenie komórka <-> serwer

Post autor: marens »

johnyjj2 pisze: Jeśli chodzi o ilość danych to ok. trzydziestu numerów dwunastocyfrowych + być może pewne dodatkowe informacje, takie jak jakaś nazwa (zapewne jedna z grupy kilkunastu predefiniowanych) lub dodatkowe dane liczbowe.
Jak szacuje będzie to kilkadziesiąt - kilkaset kilobajtów?
johnyjj2 pisze:co do przesyłania to raczej na żywo
Tylko mi chodziło o to, czy ma to działać na zasadzie połączeń telefonicznych via internet. Czy na zasadzie przesyłania danych czyli plików.

Ma to znaczenie o tyle, że jak chcesz przesłać w trybie rzeczywistym głos to na GPRS/EDGE tego nie zrobisz. Jak chcesz przesłać głos w pliku to jak najbardziej tak.
Nie wiem czy się rozumiemy. Weźmy za przykład przesyłanie głosu przez Skype. Rozmawiać nie da się wszędzie (GPRS/EDGE), ale za to przesłać plik już tak.
johnyjj2 pisze:(przynajmniej w wypadku drugiej opcji, gdy mowę rozpoznawać będzie serwer).
Serwer możne dostać mowę w postaci pliku czy tylko i wyłączenie wchodzi w grę mowa live tak jak ma to miejsce przez np. telefon ?

Jeśli chodzi o oferty np. na kartę
http://www.bez-kabli.pl/viewtopic.php?p=196746#196746
johnyjj2 pisze:łączenie się komórki z internetem to nie taka tania sprawa. Zwłaszcza, że tutaj chodzi o wykonanie kilkunastu (może więcej) połączeń w ciągu dnia z komórki na serwerm (mówię teraz o opcji drugiej).
Jest oferta np. mBank mobile 15zł/300MB rozliczane do co 1kB
Więc tutaj ilość połączeń nie powinna być problemem.
johnyjj2
Początkujący użytkownik forum
Posty: 9
Rejestracja: 2009-08-16, 16:54
Lokalizacja: Opole

Re: połączenie komórka <-> serwer

Post autor: johnyjj2 »

Dzięki za odpowiedź :-)!

> Tylko mi chodziło o to, czy ma to działać na zasadzie połączeń telefonicznych via internet. Czy na zasadzie przesyłania danych czyli plików.

I tutaj właśnie wychodzi mój brak wiedzy :-). Przesyłać chciałbym w czasie rzeczywistym lub z niewielkim (do kilku sekund) opóźnieniem. No a skoro to ma być "rozmowa" człowieka z komputerem to, o ile dobrze rozumiem, raczej wchodzi w grę opcja przesyłania głosu przez Skype'a. Czy możesz coś więcej napisać?

> Serwer możne dostać mowę w postaci pliku czy tylko i wyłączenie wchodzi w grę mowa live tak jak ma to miejsce przez np. telefon ?

No właśnie rzeczy w tym, że trzeba, aby program sprawdził te sumy kontrolne i odpowiednio na nie zareagował, więc raczej tylko live wchodzi w grę, czyli tak jak przez telefon.

Czy po uwzględnieniu tych dwóch informacji dalej sugerujesz oferty na kartę (link, który podałeś) lub mBank mobile?

I ważna kwestia, jak to wyglądał by odbiór rozmowy ze strony serwera? W wypadku karty Digium (czyli opcja, która przy moim obecnym stanie wiedzy raczej odpada ze względu na cenę) to właśnie karta odbiera rozmowę, przekazuje ją do Asteriska, on zaś do Sphinksa4. Nie wiem, jak miało by to wyglądać w wypadku rozwiązań zaproponowanych przez Ciebie, czyli "połączeń telefonicznych via internet" lub "przesyłania danych czyli plików".

Pozdrawiam :-)!
marens
Guru bezprzewodowy
Posty: 3607
Rejestracja: 2007-04-14, 10:01
Lokalizacja: Wrocław

Re: połączenie komórka <-> serwer

Post autor: marens »

johnyjj2 pisze:Czy możesz coś więcej napisać?
Podałem przykład aby zorientować się jaka jest Twoja potrzeba aby dobrać ofertę do wariantu. Skype to było tylko porównanie, bo obsługuje rozmowy głosowe / przesyłanie plików. Myślę, że raczej nie uda się nic wymyślić opartego na Skype, bo kod jest zamknięty i raczej ciężko będzie coś tutaj wymyślić.
johnyjj2 pisze:I ważna kwestia, jak to wyglądał by odbiór rozmowy ze strony serwera?
Nie mam pojęcia :?
johnyjj2 pisze:Nie wiem, jak miało by to wyglądać w wypadku rozwiązań zaproponowanych przez Ciebie, czyli "połączeń telefonicznych via internet" lub "przesyłania danych czyli plików".
Myślałem, że można napisać program który "nagrywa" rozmowę przesyła przez transmisje pakietową a serwer liczy z tego sumę kontrolną. Niestety stan mojej wiedzy nie jest zbyt dobry jeśli chodzi o programowanie.
johnyjj2
Początkujący użytkownik forum
Posty: 9
Rejestracja: 2009-08-16, 16:54
Lokalizacja: Opole

Re: połączenie komórka <-> serwer

Post autor: johnyjj2 »

Dzięki za odpowiedź :-)!

Wysłałem maila do pomocy technicznej Skype i odpowiedzieli mi:
Unfortunately Skype does not have any features that would make it
possible to send/route calls to other software. However, as an
alternative solution, you may install Skype on your server, then you
should buy an online number. When using an online number, there is a
possibility to accept calls automatically. Regarding the third question
[pytanie było takie: how to redirect speech from/to other application and Skype
(i.e. allow Skype to send speech to Sphinx4 and receive speech from Sphinx4)?]
Skype does not support this in any way. If you look around Skype's
"extras" there might be a possibility to find a solution fitting your
needs. Please note, that Skype does not provide any support for any of
its extras.
Znalazłem coś takiego jak MyToGo (https://extras.skype.com/1014/view i http://saveonphoneservices.com/modules. ... icle&sid=9) i myślę, że w jakiś sposób mogło by to mi pomóc, ale jak :-)? Druga rzecz to https://developer.skype.com/Docs czyli Skype Public API. Spróbowałem też trochę popytać na forum: http://forum.skype.com/index.php?showtopic=464711 . Czy mogę liczyć na jakieś dalsze sugestie, jak rozwiązać mój problem?

Z góry dzięki!
Pozdrawiam :-)!
ODPOWIEDZ