Aller au contenu

Appli Webcam autonome wifi par ftp sur free.


Recommended Posts

Salut a tous !

je reve de mettre une webcam sur un spot de windsurf.

Je viens d acheter un smartphone android parfait pour ca

le xperia x10 mini !

wifi

android 2.1

photo de qualite

tout petit !

le projet doit pouvoir:

1/ transmettre les photos HD toutes les 2min en wifi par ftp (en utilisant les reseaux ouverts (free sfr...))

2/ se recharge en solaire, donc conso au minimum (coupure du wifi, ecran...)

3/ fiable (pas de plantage) !

n étant pas un expert de la programmation java, je me suis intéressé a ce projet très simple :

ici

il utilise Ruby, un langage script fonctionnant sous Scripting Layer for Android (SL4A)

20lignes et incroyable ca marche !

sources completes ici :

https://github.com/mleone/spycam

sur ma lancé j ai modifié le projet pour prendre des photos et les transmettre sur FTP .

en 30 lignes, les photos sont transmises automatiquement,

le fichier est dispo ici

( remplacez le username et pass par vos identifiant free )

j ai ajouté le programme keepscreen, pour désactiver le mode veille lors du lancement de l appli..

probleme :

Si coupure connexion wifi, le script plante lamentablement...

bref a moitié content

Vous avez des idees ?, ou vous connaissez deja une appli de ce genre ?

Happy Android !

Lien vers le commentaire
Partager sur d’autres sites

j ai refait le boulot en python, encore plus marrant, j arrive mieux a gerer le reseau wifi comme ca.

ca tourne depuis pas mal.

la source en python est ici : http://escota.free.fr/webcam/camera_wifi_v1.py

un bon tuto du forum est la, les exemple sont bluffants !

l'image transmise est top, contrairement a SECuRET LiveStream sur android market.

si vous avez des remarques...

je cherche de l aide sur la gestion des erreurs en ftp car si j ai probleme lors de la transmission, tout plante...

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

J'ai cherché ce genre d'application également.

Je suis tombé là dessus:

http://www.slackey.com/nascam/

Avec mon X10 mini pro, çà fonctionne à merveille pour un upload sur free.

Le truc c'est que tu veux cela toutes les X secondes, il existe peut-être une autre version avec plus d'options...

Sur le X10, si jamais tu essais l'appli, renseigne correctement le nom du fichier et son chemin et surtout reboot le X10 après changement.

Bon courage.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Merci pour le lien !

je me suis remis a ce petit projet, mais en script.

j ai branche un petit panneau solaire 4v de 10x5 cm au *** du x10, ca charge !

j ai l espoir de le faire tourner 24h, une photo toute les 5min, ou toutes les 10min si bat<40%

je cherche des info sur le deep sleep.

avec la nouvelle version de sl4a (r3) tout est bien plus stable.

voila la source (juste le login et pass a changer)

#!/usr/bin/python
import android
import time

droid = android.Android()

from ftplib import FTP


# Demarrer avec le Plane mode ON
data = droid.toggleAirplaneMode().result
if data == False:
  print '*** Desactivation du mode avion ***'
  data = droid.toggleAirplaneMode().result

#  print '****  RAZ du Log'     
f = open("/sdcard/log.txt" , "w")
f.close()

# 10000 Photos
#for loop in range(0, 10000):

loop = 1
infinite = 1 
while infinite == 1 :

# Plane mode OFF
 data = droid.toggleAirplaneMode().result

 #print '+++++++++ REVEIL ' + str(loop)
 wifi = False
 while wifi == False :        

   droid.batteryStartMonitoring()
   # tentative toute les 20s :
   time.sleep(20)

   # Verification de la connection Wifi
   data = droid.wifiGetConnectionInfo().result
   # Verification de la batterie
   battery = droid.batteryGetLevel().result
   temp = droid.batteryGetTemperature().result
   statebat = droid.batteryGetStatus().result

   droid.batteryStopMonitoring() 

   info = ''
   count = 0
   ip_record = 0

   # Parser
   for k, v in data.items():
     info += k + ': ' + str(v) + '\n'
     count = count + 1

     if count == 7: 
      rssi_record = v
      #print str(loop) + ' rssi ' + str(rssi_record) + ' bat ' + str(battery) + ' temp ' + str(temp)

     if count == 8: 
      ip_record = v

   if rssi_record < -75 :
     print '**** WIFI LOW ****'
     wifi = False

   elif ip_record == 0 :
     print '**** NO IP ****'
     wifi = False
     droid.wifiReassociate()

   else :      
       #print '**** WIFI OK ****'
       wifi = True  

 #print '****  Take picture'
 droid.cameraCapturePicture ("/sdcard/photo.jpg")
 time.sleep(3)

 #print '****  Ecriture le Log'     
 f = open("/sdcard/log.txt" , "a")
 f.write( str(loop) + ' ' + time.strftime('%c') + ' ,bat ' + str(battery) + ' ,temp ' + str(temp) + ' ,power ' + str(statebat) + ' rssi ' + str(rssi_record) + "\n" )
 f.close()

 #print '****  Transmission par FTP' 
 ftp=FTP("ftpperso.free.fr", "xxx", "xxx")
 ftp.cwd ('webcam')

 #print '****  Write FTP'
 fichier = open("/sdcard/photo.jpg", 'rb')
 ftp.storbinary('STOR latest.jpg', fichier)
 #ftp.storbinary('STOR photo' + str(loop) + '.jpg', fichier)
 #ftp.rename('photo' + str(loop) + '.jpg', 'latest.jpg')
 fichier.close()

 fichier = open("/sdcard/log.txt", 'rb')
 ftp.storbinary('STOR log.txt', fichier)
 fichier.close()

 ftp.close()    
 # Plane mode ON
 droid.toggleAirplaneMode()
 #print '**** DODO ****'

 #droid.wakeLockAcquirePartial() 
 #droit.wakeLockRelease() 

 #preserve la batterie
 tempo = 5  

 if  battery < 40 :
   tempo = 10

 for loop_dodo in range(0, tempo):
  time.sleep(60)

 loop = loop + 1  

Modifié par eurobears
Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...
  • 2 weeks later...

Bon je me suis a nouveau penché sur le projet mais en JAVA .

prise de photo en full resolution avec autofocus : Ok
transmission ftp : OK
gestion de wifi : OK
transmission en FTP : OK
Timer gestion du sleep mode: OK

tout marche donc, sauf ca plante a la deuxieme photos :huh:
 

Modifié par eurobears
Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...
  • 1 year later...
  • 1 year later...

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...