2013-01-03 14 views
5

Mam ten scenariusz. Gdzie piszę jedną aplikację w usłudze Android bash/python. Tak, że za pośrednictwem komputera mogę połączyć się z Androidem i z Androidem za pomocą USB i mogę podłączyć docelowy komputer/serwer.Jakie ramy systemu Android można wykorzystać do połączenia komputera z systemem Android i systemem Android z innym komputerem?

Ale jakie API jest dostępne, aby wysyłać wszystkie moje żądania Androida do USB, tak, że mogę zdalnie mieć pomoc na komputerze z serwerem przez Androida? Czy jest jakaś inna dostępna struktura open-source do robienia takich?

enter image description here

lub

enter image description here

Kontynuacja:

Nie ma już opcji "Tethering i przenośny hotspot" w moim telefonie komórkowym. Bez instalowania jakichkolwiek aplikacji innych firm.

enter image description here

Więc raz i pozwoliło, mam nowy interfejs o nazwie usb0 z adresu IP w tej samej podsieci Androida + laptopa.

Potem zainstalowałem prosty serwer SSHDroid w Androidzie, teraz z 3G mogę połączyć się z Androidem. Teraz zarówno PC, jak i Android mają interfejs usb0 z tą samą podsiecią do udostępniania danych, który rozwiązuje wszystkie problemy z dostępem zdalnym.

na moim laptopie:

$ ip addr 

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 
     link/ether d4:be:d9:55:91:4a brd ff:ff:ff:ff:ff:ff 
     inet 192.168.0.219/24 brd 192.168.0.255 scope global eth0 
     inet6 fe80::d6be:d9ff:fe55:914a/64 scope link 
      valid_lft forever preferred_lft forever 

    7: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 
     link/ether c6:8a:95:bf:fa:2b brd ff:ff:ff:ff:ff:ff 
     inet 192.168.42.202/24 brd 192.168.42.255 scope global usb0 
     inet6 fe80::c48a:95ff:febf:fa2b/64 scope link 
      valid_lft forever preferred_lft forever 

Na moim Android komórkowego:

/data/data/berserker.android.apps.sshdroid/home # ip addr 

11: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 
    link/ether 6e:54:53:29:68:8c brd ff:ff:ff:ff:ff:ff 
    inet 192.168.42.129/24 brd 192.168.42.255 scope global usb0 
    inet6 fe80::6c54:53ff:fe29:688c/64 scope link 
     valid_lft forever preferred_lft forever 

15: wlan0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 
    link/ether 50:01:bb:e3:fb:d7 brd ff:ff:ff:ff:ff:ff 
    inet 192.168.0.163/24 brd 192.168.0.255 scope global wlan0 
    inet6 fe80::5201:bbff:fee3:fbd7/64 scope link 
     valid_lft forever preferred_lft forever 
+0

Nie jest jasne, co już pracujesz i co chcesz osiągnąć. A także nie jest jasne, czy rootowanie urządzenia z Androidem jest dopuszczalne, czy nie. Również zależy to od tego, w jakim stopniu sieć 3g jest zaporą ogniową. Uniwersalne rozwiązanie byłoby trudne do osiągnięcia, ale uważam, że w konkretnych przypadkach nie powinno być trudno. – akostadinov

Odpowiedz

1

co chcesz zrobić, powinno być możliwe, ale wymaga wysiłku. Są apps to enable USB tethering, ale nie sądzę, że działają one uniwersalnie dla wszystkich urządzeń. To może stworzyć sieć, z której możesz komunikować się z podłączonym serwerem. Jeśli zainstalujesz serwer ssh na Androidzie, możesz go wykorzystać do tunelowania połączenia z serwerami wewnętrznymi. Przekazywanie portów to another option. Myślę, że prawdopodobnie potrzebujesz zrootowanego telefonu. Że jeśli połączenia przychodzące do twojego telefonu są możliwe z twoim przewoźnikiem 3g.

Jeśli połączenia przychodzące nie są możliwe, można skonfigurować skrypt w telefonie lub na jednym z serwerów, aby wypróbować ssh na określonym komputerze (komputerze lub routerze domowym) co 5 minut, tworząc tunel do sieci wewnętrznej.

Aby mieć stabilne nazwy hostów, możesz skorzystać z usług dynamicznej usługi dns, takich jak dnsdynamic.org, ponieważ Twoje publiczne adresy IP najprawdopodobniej zmienią się przynajmniej na końcu 3G.

Myślę, że o wiele łatwiej byłoby kupić tanią skrzynkę routera z USB dla klucza 3G. Możesz też umieścić klucz 3G w jednym z serwerów i użyć go jako routera. Właściwie możesz spróbować użyć telefonu z Androidem jako klucza sprzętowego modemu USB. Znajduję this guide.

Wszystko zależy od konkretnych możliwości urządzenia i szczęścia, ale na zakończenie, jeśli to ja, najpierw spróbuję użyć telefonu z Androidem jako klucza sprzętowego do modemu USB i korzystać z usługi dynamicznego usługodawcy internetowego, więc zawsze znam aktualne IP Połączenie 3G. Następnie użyj ssh, aby połączyć się z serwerem z połączeniem 3G. Z tego serwera można ssh do dowolnego innego serwera. Wtedy chciałbym spróbować użyć dedykowanego routera z jakimś kluczem usb 3G. Nigdy nie pójdę do kłopotów konfigurujących telefon z Androidem pracujący jako router, brzmi to zbyt czasochłonne.

Nadzieję, że pomaga.

Powiązane problemy