[RemoteStick] Fjärrstyr och övervaka hemmet

Diskussion i 'Applikationsutveckling' startad av pakerfeldt, 21 jul 2010.

  1. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Ja, det påminner en hel del om reverse lookup-problem som man ibland kan uppleva med ftp-servrar. Jag vet dock inte varför det skulle uppstå i servern eller hur man kan göra för att komma runt det. Jag upplever inga fördröjningar när jag kör lokalt och jag har inte konfigurerat mitt nätverk på något speciellt sett just för min android-lur.
     
  2. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Står det "localhost" som adress? För du kan ju inte skriva in localhost i RemoteStick och ansluta till servern på så sätt. Du måste använda din Windows-dators ip-adress vilket jag gissar att du kan se genom att köra "ipconfig" i en svart kommandoprompt.

    Om du har möjlighet att skicka en rapport när du får en FC så gör detta! Det uppmanar jag alla att göra så fort ni får en FC i RemoteStick. Det är ovärderligt i min felsökning efter buggar.
     
  3. Kingcool

    Kingcool Adult Droid Medlem

    Blev medlem:
    25 mar 2010
    Inlägg:
    806
    Mottagna gillanden:
    112

    MINA ENHETER

    Nej det står inte localhost, hade glömt de exakt siffrorna, men nu när jag kollat 127.0.0.1 står det, och det var det jag skrev in i Remotestick också när jag fick FC.
    Logg:
    Bli medlem eller för att visa innehållet!

    Kan lägga till att jag hade problem först med att få igång Pythonskriptet. Jag har en x64 maskin med Win 7 och hade installerat en verison av Python för x64. När jag väl installerade en x86 version av Python så funkade det prima. Så om det är fler som har problem med att starta Pythonscriptet med en x64 Win 7 dator, så pröva att installera 32-bitars versionen ist:)
     
    Last edited: 13 aug 2010
  4. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Okej, 127.0.0.1 är en speciell adress som alltid pekar tillbaka på samma maskin. Dvs när du skriver in 127.0.0.1 i RemoteStick så försöker appen att ansluta mot telefonen självt vilket inte fungerar.

    Så gör såhär:
    På din windows-dator, öppna en kommandoprompt och skriv in "ipconfig" (alternativt "ipconfig /all") utan citationstecken. Leta därefter reda på datorn ip-adress vilken normalt sett brukar börja på något i stil med 192.168. Starta därefter remotestick-server.py på följande sett:
    Kod:
    remotestick-server.py -h 192.168.x.x
    Observera att du måste skriva in din korrekta ip-adress istället för 192.168.x.x. Du får själv skriva in sökvägen till Python före remotestick-server.py precis som du gjort tidigare.

    Därefter går du till RemoteStick i Android och skriver in ip-adressen under host, skriv även in något under Username och Password. Du kan skriva vad som helst (eftersom du inte angivit något användarnamn eller lösenord vid start av remotestick-server. Anledningen till att jag ändå ber dig definiera ett användarnamn och lösenord i appen är därför att du verkar ha hittat en bugg som kan uppstå om man lämnar dessa blankt. Så tills jag har löst den buggen får du göra så.
     
  5. Kingcool

    Kingcool Adult Droid Medlem

    Blev medlem:
    25 mar 2010
    Inlägg:
    806
    Mottagna gillanden:
    112

    MINA ENHETER

    När jag skall "Starta" remotestick-server.py så har jag bara dubbelklickat på filen ifråga. Det du beskrev där, skall jag klistra in det i en kommandoprompt som jag preppat med sökvägen till där jag lagt Remotestick-server filerna?
     
  6. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Kom ihåg att du även behöver "stå" i Telldus katalogen först. Typ:
    Kod:
    cd C:\Program Files (x86)\Telldus
    Återigen är jag osäker på hur det fungerar på Windows men du kan alltid prova, ja. Annars kanske du måste ange full sökväg till python först, alltså ungefär såhär (lite beroende på hur ditt system ser ut):
    Kod:
    C:\Program Files\Python\python.exe remotestick-server.py -h 192.168.x.x
    .

    Du har även alternativet att skapa en genväg till remotestick-server.py och skriva in parametrarna i genvägen (samt ange arbetskatalog). Hmm, nu blev det rörigt igen. Vi behöver verkligen en steg för steg guide ;)
    Tyvärr kan jag inte ordna det för Windows 7. Om det skiljer sig avsevärt mellan Windows 7 och Windows XP (som tattis skulle hjälpa oss skriva guide till) så kanske vi behöver komplettera med information för Windows 7.

    Jag kan nog försöka skriva ihop något för Mac OS X och Linux men det hjälper ju inte dig tyvärr.
     
  7. Kingcool

    Kingcool Adult Droid Medlem

    Blev medlem:
    25 mar 2010
    Inlägg:
    806
    Mottagna gillanden:
    112

    MINA ENHETER

    Jag testar när jag kommer hem:) Jag är rätt grön när det gäller Python och Linux, så jag fattar inte riktigt allt:) Men det ordnar säkert sig när en Windows XP guide dyker upp:)
     
  8. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Okej, sidospår (risk för dumförklaring):
    Förenklat kan man säga att remotestick-server.py är en "obehandlad" fil med instruktioner skrivna i språket Python. Den är inte kompilerad för något specifikt system (Windows, Mac OS X eller Linux) utan kan potentiellt köra på alla system. Koden syns även helt i klartext om man öppnar filen i en texteditor (till skillnad från en exe-fil som inte är läsbar). För att kunna köra filen så behöver man ett program som klarar av att tolka filens innehåll och utföra dess instruktioner. Det gör Python-programmet (python.exe) som är en interpretator (eller tolk).

    Python är förinstallerat på Mac OS X och (vanligtvis) Linux. Däremot är Python inte förinstallerat på Windows.
     
  9. Henke78

    Henke78 Infant Droid Medlem

    Blev medlem:
    10 aug 2010
    Inlägg:
    3
    Mottagna gillanden:
    0

    MINA ENHETER

    Vill börja med att tacka för de ändringar du gjort så att locale fungerar och den hjälp jag fick med lastvalue problemet + berömma för en lysande applikation!

    Jag kan bekräfta att allt nu fungerar hur bra som helst här hemma. Kan oxå upprepa ett inlägg som gjorts innan gällande hastigheten från knapptryck tills lampan släcks. Om man gör en regel i sin brandvägg som ger att möjligheten att styra från 3G så blir allt grymt snabbt när man anropar sin internet adress istället för den lokala 192.168.x.x. även när jag kör via wifi så blir det grymt mkt snabbare med internet adressen. Testa gärna detta ni som har problem med tiden. Jag har nu från 3G ca 1 sek och via wifi internt ca 500 ms.

    /Henke
     
  10. Tobben93

    Tobben93 Kid Droid Medlem

    Blev medlem:
    16 apr 2010
    Inlägg:
    56
    Mottagna gillanden:
    0

    MINA ENHETER

    Detta har ju pappa pratat om hur länge som helst att han velat ha, dock skaffade han sig aldrig en HTC Desire som jag, "smart" som han är så skaffade han sig en Sony Ericsson Vivaz. Något han ångrar idag. Bra grej! :)

    Har för övrigt en del Nexa-dosor här och var till lampor och TVn.
     
  11. tattis

    tattis Kid Droid Medlem

    Blev medlem:
    11 jun 2010
    Inlägg:
    42
    Mottagna gillanden:
    0

    MINA ENHETER

    Steg för steg guide - RemoteStick för Win XP / Win7

    Jag kommer INTE att gå igenom hur man öppnar portar i sin router. Det skiljer sig lite beroende på vilket märke man har men man brukar kunna känna igen sig.

    Om det skulle vara någon som inte vet hur man gör detta kan man läsa mer om det här: http://www.google.se/search?hl=sv&c...ortforwarding&aq=f&aqi=g-s1&aql=&oq=&gs_rfai=

    Och här har vi video på det: http://www.youtube.com/results?search_query=portforwarding&aq=f



    Börja med att gå in på 'Market' i din telefon och sök på 'remotestick', installera Patrik Åkerfeldts version.

    -==== STEG 1. Python 2.7 ====-
    Steg 1.1: Gå till Google och sök på följande, följ första träffen.
    http://img530.imageshack.us/f/94616834.png/

    Steg 1.2: Leta upp följande textsnutt (se länk). Klicka och installera. http://img801.imageshack.us/f/91860642.png/

    Python 2.7 Windows installer (Windows binary -- does not include source)
    (Jag installerade min under: C:\Program Files (x86)\Python27)


    -==== STEG 2. TelldusCenter ====-
    Steg 2.1: Gå till http://www.telldus.se/
    Klicka på Windows XP / Vista http://img230.imageshack.us/f/94641360.png/. Ladda ner och installera. Installera även drivrutin för din Tellstick-USB.

    Steg 2.2: Starta TelldusCenter (bör nu finnas under Start/All Programs/Telldus/TelldusCenter).

    Det är i det här programet du ska lägga till alla dina enheter, jag kör med Nexa och dimmers från Proove.
    Läs hjälpfilen (länk nedan) om du inte lyckas få in dina enheter http://download.telldus.se/TellStick/Manuals/manual_swedish.pdf .


    -==== STEG 3. Förberedande för RemoteStick-Server ====-
    Steg 3.1: Följ den här länken (nedan) och ladda ner
    Kod:
    remotestick-server-v0.3.4.zip  	v0.3.4 (zip)  	2010-08-02  	39  	17KB
    http://github.com/pakerfeldt/remotestick/downloads

    Steg 3.2: Packa upp mappen till: 'C:\Program Files (x86)'
    http://img821.imageshack.us/f/73740914.png/

    Steg 3.3: Håll in 'WIN+Pause Break' (eller högerklicka och välj 'Properties' på 'Computer)

    Steg 3.4: Klicka på 'Advanced system settings' (du får du upp följande på skärmen) http://img3.imageshack.us/f/86872716.png/

    Steg 3.5: Klicka på 'Environment Variables'.

    Steg 3.6: Leta upp 'Path' under 'System variables'.

    Dubbelklicka på 'Path' och klistra in följande (Längst bak i det långa textfältet som kommer fram): ;C:\Program Files (x86)\Telldus

    Såhär ser det ut: http://img529.imageshack.us/f/19932875.png/


    -==== STEG 4. RemoteStick-Server ====-

    Steg 4.1: Håll in 'WIN+r' (eller tryck på 'Start/All Programs/Accessories/Command Prompt')

    Du får upp följande ruta: http://img138.imageshack.us/f/42359383.png/

    Steg 4.2: Skriv följande:
    cd\ (tryck på enter)
    ipconfig (tryck på enter)
    Då får du upp följande: http://img9.imageshack.us/f/57069905.png/

    Ta reda på DIN_IP_ADRESS, skriv ned den (det är denna ipadress som du har port-forwardat i din router).

    Nu ska du fortsätta skriva:

    cd "Program Files (x86)" (tryck på enter)
    cd remotestick-server (tryck på enter)
    remotestick-server.py -h DIN_IP_ADRESS -p 8422 -u test -s 123abc" (tryck på enter)

    Nu ska server-programet vara startat.


    -==== STEG 6. ====-

    Steg 6.1: Klicka på länken: http://www.whatsmyip.org/
    Skriv ner DIN_IP_ADRESS_2.

    Steg 6.2: Öppna RemoteStick (från din mobiltelefon).

    Steg 6.3: Tryck på 'Menu'-knappen

    Steg 6.4: Tryck på 'Preferences'

    Steg 6.5: Fyll i uppgifter:
    HOST: DIN_IP_ADRESS_2 (det numret som du skrev ner tidigare)

    USERNAME: test

    PASSWORD: 123abc

    CONNECTION TIMEOUT: 16000

    SOCKET TIMEOUT: 30000

    Steg 6.6: Tryck nu på din 'Back'-knapp så ska du komma in!


    EDIT: Här hemma fungerar det bäst när telefonen inte kör wifi utan genom 3g, så har man problem med delay kan man testa att switcha detta (man får helt enkelt testa sig fram).
     
    Last edited: 15 aug 2010
  12. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Tack tattis! Är det okej om jag översätter och lägger in din guide under RemoteStick på github?
     
  13. tattis

    tattis Kid Droid Medlem

    Blev medlem:
    11 jun 2010
    Inlägg:
    42
    Mottagna gillanden:
    0

    MINA ENHETER

    absolut, gör vad du vill med texten :D
     
  14. Kingcool

    Kingcool Adult Droid Medlem

    Blev medlem:
    25 mar 2010
    Inlägg:
    806
    Mottagna gillanden:
    112

    MINA ENHETER

    Tack för en kanonguide! Ett litet hinder kvar bara (tror jag). När programmet försöker "Refresha devices" så kommer jag inte längre. Utan får upp "(7) SocketTimeoutException". Finns det någon rolig lösning till det?:)
     
  15. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Det låter som att du råkat ut för det berömda timeout-problemet som vi inte riktigt vet varför det uppstår. Gå in under Preferences och vrid upp Socket timeout till något rejält tilltaget, t.ex. 40000 för 40 sekunder.

    Ansluter du genom lokalt nätverk / WiFi eller 3G?
     
  16. Kingcool

    Kingcool Adult Droid Medlem

    Blev medlem:
    25 mar 2010
    Inlägg:
    806
    Mottagna gillanden:
    112

    MINA ENHETER

    Telefonen är uppkopplad till 3G.
    Funkar fortfarande inte, och då drog jag ändå upp det till 3000000 tillslut..:P
     
  17. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Hah! Betyder det att du satt och väntade i 50 minuter innan du fick felmeddelandet? Det måste röra sig om en felkonfigurerad router. Fungerar det om du kör lokalt genom WiFi (förutsatt att telefonen och datorn finns på samma nätverk)?
     
  18. rikobiff

    rikobiff Youth Droid Medlem

    Blev medlem:
    19 nov 2009
    Inlägg:
    104
    Mottagna gillanden:
    16

    MINA ENHETER

    En liten idé:
    Vore det inte möjligt att under grupper kunna välja vilken dimmernivå man vill ha på dimmermottagare? Då skulle man ju kunna lägga upp grupper på samma rum men som är anpassade efter det behov man är ute efter, tex arbetsljus, eller mysljus mm.
     
  19. Kingcool

    Kingcool Adult Droid Medlem

    Blev medlem:
    25 mar 2010
    Inlägg:
    806
    Mottagna gillanden:
    112

    MINA ENHETER

    Nej:-) Det konstiga var att det tog lika lång tid att få felmeddelandet oavsett vad jag skrev...

    Sent from my X10i using Tapatalk
     
  20. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Det där skulle du kunna åstadkomma bara jag sparade "last value" även för grupper (vilket jag inte gör i dagsläget). Lägger upp en issue för det!