Whatsapp @ VU+ Box: (Forschungsthread) Verbindung möglich? Ja!

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Whatsapp @ VU+ Box: (Forschungsthread) Verbindung möglich? Ja!

    Hi,

    ich nutze Whatsapp recht intensiv. Was liegt daher näher als Whatsapp auch auf der Box nutzbar zu machen? Dankenswerterweise hat mich noox darauf aufmerksam gemacht, dass es ein OpenSource Projekt für Linux gibt.

    Wir legen mal los ...
    ______________________________
    EDIT: Paket gebaut und downloadbar. Have fun!
    Hinweis: habe das Paket auf der SOLO2 mit VTI 5 getestet.
    Dateien
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • Auf folgendem Blogeintrag beschreibt aleperno, dass man mittels Python auf den Whatsapp-Service zugreifen kann: Klick

    Zitat: "Everything is made through yowsup (see requirementes) from Tarek Galal which within few simple steps we get a working client."

    Python haben wir ja auf der Box. Bestens.

    Ferner wird noch python-dateutil gebraucht.

    Ahh...!

    Quellcode

    1. root@solo2:/tmp/yowsup/src# opkg list|grep python-dateutil
    2. python-dateutil - 1.4.1-r1 - Extensions to the standard Python date/time support
    3. python-dateutil-zoneinfo - 1.4.1-r1 - Extensions to the standard Python date/time support
    4. root@solo2:/tmp/yowsup/src#
    Thanks@plnick. ;)

    Mamba
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • Whatsapp ist für den Betrieb auf Smartphones gedacht und daher braucht man auch ein solches, um Whatsapp auf der Box zu nutzen.

    Man braucht:

    - IMEI, es wird als Beispiel "YYYYYYYYYYYYYYY" verwendet
    - Handynummer, es wird als Beispiel "491234567890" verwendet

    Das Ganze muss in den Config-File eingetragen werden:

    Quellcode

    1. root@solo2:/tmp/yowsup/src# cat /home/root/my_whatsapp_config.txt
    2. phone=491234567890
    3. id=YYYYYYYYYYYYYYY
    4. password=
    5. root@solo2:/tmp/yowsup/src#
    => man muss die eigene Handynummer ohne "+" oder "00" eintragen, jedoch muss der Nummer der Ländercode vorangestellt werden und die führende "0" der Hanynummer muss man weglassen. Wenn man also die Handynummer 01234567890 hätte und aus Deutschland kommt, dann sieht es wie oben angegeben.

    => die IMEI kann man fast immer auf dem Aufkleber im Handyakkufach ablesen oder bei Android im Settingsmenu (z.B. bei Cyanogenmod-ROMs unter "System Settings" => "About Phone" => "Status").

    => das "password" bekommt man erst im nächsten Schritt. Das bleibt daher frei.

    Wenn man diese beiden Infos eingetragen hat, dann muss man sich bei Whatsapp registrieren. Das geht bequemerweise auch mit yowsup.
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • Registrierung:

    Kurz und bündig geht das so:

    Quellcode

    1. python yowsup-cli -r sms -c /home/root/my_whatsapp_config.txt
    Man erhält nun eine SMS auf sein Handy mit einem 6-stelligen Code.

    Diesen Code muss man an Whatsapp zurück kommunizieren. Das geht so:

    Quellcode

    1. python yowsup-cli -R XXX-YYY
    XXX-YYY steht für den Code, den man per SMS erhalten hat.

    Nun gibt yowsub das hier aus:

    Quellcode

    1. status: ok
    2. kind: free
    3. pw: XXXXXXXXXXXXXXXXXX
    4. price: EUR
    5. price_expiration: 1361070419
    6. currency: EUR
    7. expiration: 1389574419
    8. login: 491234567890
    9. type: new
    Man nimmt nun das Passwort und trägt es in den File /home/root/my_whatsapp_config.txt ein:

    Quellcode

    1. root@solo2:/tmp/yowsup/src# cat /home/root/my_whatsapp_config.txt
    2. phone=491234567890
    3. id=YYYYYYYYYYYYYYY
    4. password=XXXXXXXXXXXXXXXXXX
    5. root@solo2:/tmp/yowsup/src#
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • Einloggen:

    Quellcode

    1. python yowsup-cli -c /home/root/my_whatsapp_config.txt -l
    Führt zu:

    Quellcode

    1. Connecting to c.whatsapp.net
    2. Authed 491234567890
    Wenn man sich nun eine Message senden läßt, dann kommt:

    Quellcode

    1. 490987654321@s.whatsapp.net [13-01-2013 01:59]:Hallo Mamba@Whatsapp@Enigma2!
    :D :D :D

    Q.e.d. => Whatsapp auf der VU+.

    Mamba
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • Das sieht ja echt schon mal super aus.
    Besser geht es ja fast nicht das Format in eine Oberfläche zu bringen.
    :286:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von RoooNY ()

  • Yes, sir. Ich poste das Paket gleich. Da kann sich ja ein Python-E2-Plugin-Profi mal drüber her machen. ;)
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • Für den genehmen Leser hier die Kommandozeilen-Parameter von yowsup:

    Quellcode

    1. root@solo2:/tmp/yowsup/src# python yowsup-cli
    2. usage: yowsup-cli [-h] [-l | -s <phone> <message> | -i <phone>] [-w] [-a] [-k]
    3. [-r (sms|voice) | -R code | -e]
    4. [--generatepassword input | --decodestring encoded_array]
    5. [--help-config] [--v1] [-c file] [-D] [-d] [-v]
    6. yowsup-cli Command line options
    7. optional arguments:
    8. -h, --help show this help message and exit
    9. --help-config Display info about configuration format
    10. --v1 If specified, it will force usage of old API in
    11. registration calls. Also password field in config will
    12. be ignored and will attempt to generate password from
    13. specified identity (IMEI/MAC)
    14. -c file, --config file
    15. Path to config file containing authentication info.
    16. For more info about config format use --help-config
    17. -D, --dbus Start DBUS interface
    18. -d, --debug Enable debug messages
    19. -v, --version Print version info and exit
    20. Client options:
    21. -l, --listen Listen to messages
    22. -s <phone> <message>, --send <phone> <message>
    23. Send message to phone number and close connection.
    24. Phone is full number including country code, without
    25. '+' or '00'
    26. -i <phone>, --interactive <phone>
    27. Start an interactive conversation with a contact.
    28. Phone is full number including country code, without
    29. '+' or '00'
    30. -w, --wait If used with -s, then connection will not close until
    31. server confirms reception of the message
    32. -a, --autoack If used with -l or -i, then a message received ack
    33. would be automatically sent for received messages
    34. -k, --keepalive When used with -l or -i, Yowsup will automatically
    35. respond to server's ping requests to keep connection
    36. alive
    37. Registration options:
    38. -r (sms|voice), --requestcode (sms|voice)
    39. Request the 3 digit registration code from Whatsapp.
    40. -R code, --register code
    41. Register account on Whatsapp using the provided 3
    42. digit code
    43. -e, --exists Check if account credentials are valid. WARNING:
    44. Whatsapp now changes your password everytime you use
    45. this. Make sure you update your config file if the
    46. output informs about a password change
    47. Debug tools:
    48. --generatepassword input
    49. Generate password from given string in same way
    50. Whatsapp generates it from a given IMEI or MAC Address
    51. --decodestring encoded_array
    52. Decode byte arrays found in decompiled version of
    53. Whatsapp. Tested with S40 version. Input should be
    54. comma separated without the enclosing brackets.
    55. Example: ./yowsup-cli --decodestring
    56. 112,61,100,123,114,103,96,114,99,99,61,125,118,103
    57. root@solo2:/tmp/yowsup/src#
    Alles anzeigen
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • So, das sieht brauchbar aus:

    Quellcode

    1. root@solo2:/var/lib/opkg# opkg install /tmp/python-yowsub-cli_0.1-pre0_all.ipk
    2. Installing python-yowsub-cli (0.1-pre0) to root...
    3. Installing python-dateutil (1.4.1-r1) to root...
    4. Downloading http://vuplus-support.org/openembedded/2.0/vti/20121212_vti-5.0/mipsel/python-dateutil_1.4.1-r1_mipsel.ipk
    5. Configuring python-yowsub-cli
    6. Configuring python-dateutil
    7. root@solo2:/var/lib/opkg#
    Paket ist im ersten Post downloadbar.

    Mamba
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • Und hier noch die Verzeichnisstruktur, wenn das ipk File installiert wurde:

    Quellcode

    1. root@solo2:/usr/local/yowsup# ls -al
    2. total 48
    3. drwxr-xr-x 4 root root 4096 Jan 13 02:39 .
    4. drwxr-xr-x 3 root root 4096 Jan 13 02:38 ..
    5. drwxr-xr-x 2 root root 4096 Jan 13 02:39 Examples
    6. drwxr-xr-x 7 root root 4096 Jan 13 02:39 Yowsup
    7. -rwxr-xr-x 1 root root 1151 Jan 13 02:39 config.example
    8. -rwxr-xr-x 1 root root 10859 Jan 13 02:39 yowsup-cli
    9. root@solo2:/usr/local/yowsup# cd Yowsup/
    10. root@solo2:/usr/local/yowsup/Yowsup# ls -al
    11. total 92
    12. drwxr-xr-x 7 root root 4096 Jan 13 02:39 .
    13. drwxr-xr-x 4 root root 4096 Jan 13 02:39 ..
    14. drwxr-xr-x 3 root root 4096 Jan 13 02:39 Auth
    15. drwxr-xr-x 3 root root 4096 Jan 13 02:39 Common
    16. drwxr-xr-x 2 root root 4096 Jan 13 02:39 ConnectionIO
    17. drwxr-xr-x 4 root root 4096 Jan 13 02:39 Interfaces
    18. drwxr-xr-x 4 root root 4096 Jan 13 02:39 Registration
    19. -rwxr-xr-x 1 root root 2 Jan 13 02:39 __init__.py
    20. -rwxr-xr-x 1 root root 44255 Jan 13 02:39 connectionmanager.py
    Alles anzeigen
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • Coole Sache. Endlich Brauch meine Frau mein Handy nicht mehr zum schnüffeln :D
    Nun bekommt sie alles in Echtzeit...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hodder ()

  • Hi,

    tolle Sache, gefällt mir als intensiver WhatsApp Nutzer auch sehr gut!

    Wird die Nachricht dann sowohl auf der VU als auch auf dem Smartphone zugesendet oder nur an ein Device?
  • Naja ... WA läßt leider nur ein Device zu einer Zeit unter einer Nummer zu. In anderen Worten: weil man WA nicht auf 2 Handies gleichzeitig betreiben kann, wird man eine Nachricht nicht auf der Box und auf dem smartphone empfangen können. Ob man das umgehen kann, muss man sehen.

    Ich habe 2 SIMs und einfach meine 2. Handynummer für die Box registriert. Man kann auch Mamas Handynummer zweckentfremden. ;)
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • Wenn die IMEI = VU+ = Smartphone ist und die Nr. ebenfalls identisch, könnte es dann eventuell auf zwei Devices gehen?
  • Naja, WA lässt einfach keine 2 Devices unter dem selben "Namen" (IMEI) zu. Es erkennt das und dann muss man den Account neu "bestätigen". Etwas nervig, aber die wollen das halt so.
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>
  • Gruppenchats funktionieren doch auch mit WA ?

    Wäre folgendes nicht eine Lösung, eine Nachricht aufs eigene Smartphone und der VU+ zu bekommen?

    Der jeweilige WA-Bekannte legt einen Gruppenchat mit den beiden Telefonnummern von mir an.
    Also in dem Fall von meinem Smartphone und der VU+Box mit "Mamas" Nummer. ;)
    Diesen Gruppenchat bezeichnet er der Einfachheit mit meinen Namen.

    Ich (der VU+Nutzer) legt einen Gruppenchat mit dem WA-Bekannten, sowie der eigenen Smartphonenummer, bzw. am eigenen Smartphone mit dem Bekannten und VU+ an und bezeichnet den Gruppenchat mit dem Namen vom WA-Bekannten.


    Gruß,
    Arcelor
    Ultimo, Solo 4K

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Arcelor ()

  • So, jetzt hab ich mich auch mal daran versucht. Leider gibt mir die Console folgenden Fehler aus:

    Quellcode

    1. root@vusolo2:~# cd /usr/local/yowsup
    2. root@vusolo2:/usr/local/yowsup# python yowsup-cli -r sms -c /home/root/my_whatsa
    3. pp_config.txt
    4. Traceback (most recent call last):
    5. File "yowsup-cli", line 33, in <module>
    6. from Examples.CmdClient import WhatsappCmdClient
    7. File "/usr/local/yowsup/Examples/CmdClient.py", line 21, in <module>
    8. from Yowsup.connectionmanager import YowsupConnectionManager
    9. File "/usr/local/yowsup/Yowsup/connectionmanager.py", line 28, in <module>
    10. from Common.watime import WATime
    11. File "/usr/local/yowsup/Yowsup/Common/watime.py", line 23, in <module>
    12. from dateutil import tz
    13. ImportError: No module named dateutil
    14. root@vusolo2:/usr/local/yowsup#
    Alles anzeigen


    dateutil ist aber unter python 2.6 installiert.
    Kann mir jemand sagen warum er dateutil trotzdem nicht findet?

    Ein opkg list|grep python-dateutil gibt mir das aus:

    Quellcode

    1. root@vusolo2:/usr/local/yowsup# opkg list|grep python-dateutil
    2. python-dateutil - 1.4.1-r1
    3. python-dateutil-dev - 1.4.1-r1
    4. python-dateutil-zoneinfo - 1.4.1-r1
    5. root@vusolo2:/usr/local/yowsup#


    Gruß, Steve.
    "Komm wir essen Opa!" --- Satzzeichen retten Leben!
  • opkg update
    opkg install python-dateutil
    checking for long long... yes<br>
    checking for long double... yes<br>
    +++ Divide By Cucumber Error. Stopping. +++<br><br>