Application Android - Droid-IPX800

Bonjour.

Sachant que l’application Imperihome n’est pas compatible avec les IPX800 V2, j’ai développer une petite application android qui vous permet de piloter votre IPX V2.
Elle utilise le protocole M2M pour actionner les relais, et le parsing du fichier status.xml, pour afficher l’état réel de vos entrées/sorties.
Je sais, la partie affichage elle est pas géniale, surement pas compatible avec toutes les modèles de smartphone, mais, j’essayerais de faire mieux avec le temps.
En pièce jointe, l’application(a désarchiver).

Bon test a tous.

  • 8.07.2014 Nouvelle version. Droid-IPX800.

  • Publié sur google play store en suivant ce lien: https://play.google.com/store/apps/details?id=com.cip.droid.ipx800

  • 16.08.2013

  • Mise a jour de la version.

  • Nouvelles impressions écran en page 5 de ce poste.

  • 16.08.2013

  • Correction concernant l’accès au fichier status.xml, en utilisant un utilisateur et un mot de passe.

  • Correction concernant l’affichage par défaut de l’écran « info application ».

  • Correction concernant le type de clavier pour l’adresse IP.

  • 18.07.2013

  • Corrections des bugs:
    ___Le nom personnalisée des entrées analogiques et désormais enregistré.
    ___Le choix utilisateur pour le type d’affichage des entrées analogiques (analog, température, voltage) et enregistré.
    ___Plus besoin de tuer la tache (pressente dans la RAM), l’application se relance correctement.
    ___Affichage d’une notification au démarrage si le Socket M2M est « Connecté » et également en cas de « Déconnexion ».

  • Nouvelles fonctions:
    ___Lors de l’envoie d’une commande impulsionnelle, on affiche une notification. (Commande envoyé).
    ___Rajout d’un sous-menu pour changer l’apparence de l’écran.
    ___Possibilité de passer en mode FullScreen.
    ___Accès au paramètres avec le bouton « menu » du téléphone.

  • 23.08.2013

  • Correction de bugs.

  • Petite modification concernant une image ON/OFF des entrées. (et test)

  • Changement des boutons dans la barre du haut.

Evidemment, j’attend vos retours, conclusions et opinions.

Ci joint, des impressions écran, pour avoir un avant-gout.

Et une 3eme…

Salut,

Ton application est la bienvenu, ne vais la tester rapidement et je te ferai bien entendu un retour.
J’utilise actuellement un page Web pour contrôler mon portail et je visualise avec l’affichage du flux de ma camera Axi,
il serait possible de faire la même chose avec ton application ?

Car dans mon cas l’utilisation d’un navigateur ( chrome ou opera ) est contraignante pour diverse raison.

Merci.

Salut
Peut-on réutiliser les sources librement ?

Merci
Thomas

Petits retour a chaud :

La connection est OK, les commandes sont bien envoyé en fugitif par contre il n’y a pas de changement de l’état ( OUT reste toujours sur OFF, il serait logique qu’il passe furtivement a ON ).
Les bouton IN s’activent bien mais pas de réaction au niveau des entrée physique ( mais il me semblait d’ailleurs que l’on ne peut pas activer les entrée comme cela, a confirmer )

Il faudrait aussi pouvoir modifier la fonction du bouton ( passer du mode FUGITIF au mode ON/OFF )
Il faudrait pouvoir renommer les relais ainsi que les boutons.

Au lancement de l’application, il serait intéressant de pouvoir choisir différent profil ( LOCAL et distant ) car dans mon car j’ai une SFRBOX et
pour me connecter via un DNS il faut que je soit en 3G et non sur mon réseau WIFI, et en WIFI seul l’adresse local fonctionne ( normal ).

Il faudrait pouvoir utiliser l’application via internet , j’ai essayer via la 3G en renseignant mon adresse no-ip ( avec id+mp ) mais sans succès ( peut être que le M2M n’accepte pas le distant ).
Si le fonctionnement via l’extérieur serait possible, il serait interressant qu’au lancement de l’application l’on puisse choisir différent profil ( LOCAL et distant )
car dans mon car j’ai une SFRBOX et pour me connecter via extérieur ( adresse no-ip ) il faut que je soit en 3G et en WIFI seul l’adresse local fonctionne ( no-ip ne pas pas en local chez SFR ).

A chaque appui sur un bouton Pulse ou refresh j’ai une erreur ( error:Unauthorized ),
j’ai également cette erreur aléatoirement sans rien faire.

Voila pour l’instant mes remarques.
Bon courage et merci

Bonsoir a tous.
Merci pour vos remarques , c’est le but de mon partage.
D’abord, quelques précisions concernant l’application:
- ayant uniquement une IPX800 V2, j’ai pas essayer de programmer l’interfaçage avec une V3, car impossible de faire des tests sans une V3.
- en ce qui concerne la connexion, je suis en IP fixe sur une Freebox, avec deux ports router vers l’extérieur, un pour M2M et l’autre pour accéder au site embarquée.
- pas testé en DNS, no ip. ( pour le moment je sais pas le faire en dns…pas d’idée)
- j’ai également testé en 3G, tout OK si on capte bien la 3G.
- concernant le retour d’état après une commande impulsionnelle, j’ai programmer un refresh automatique toutes les 60 secondes… pour tester, essayer de programmer
sur un relais, un pulse de 10 secondes par exemple dans l’interface web, et après avoir appuyer sur le bouton pulse, faire un refresh en appuyant sur le bouton.
- concernant les entrées, pas d’action sur les boutons, l’application affiche uniquement l’état réel (pas de commande possible sur une V2).
- a cote de chaque relais, on a deux boutons: un bouton impulsionnel et un ON/OFF. Les deux doivent fonctionner.
- l’erreur qui apparaisse et causé de la fermeture du Socket TCP/IP (déconnexion du mode M2M…pas de signal en 3G ou wifi).

La suite… j’aime bien m’expliquer… :slight_smile:
Je travaille déjà sur la prochaine version …
Prévu: - rajout de la possibilité de renommer les relais
- réglage manuel de la fréquence du refresh
- intégration des cameras IP (axis pour le moment car j’ai que ça sous les mains)
- compatibilité avec les V3 (j’ai du pain sur la planche)

Je précise…ça fait que 3 moi depuis que je développe sous android…je suis autodidacte.
Le manque de temps et surtout d’expérience fait que j’avance lentement.
Je suis un technicien en automatismes et domotique industrielle…pas un vrais développeur.

Pour Thomas (guenneguez_t)… je sais que il y a un certain temps, vous avez chercher un collaborateur pour développer sous android votre application multicarte.
C’est toujours le cas? J’ai surement pas le niveau attendu mais je pourrais peut-être apporter ma contribution.

Bonsoir,
Chez moi impossible en mode on / off, le bouton n’est pas cliquable.
Les bouton des entre eux sont cliquable alors qu’il ne devrait pas.
J’utilise une V2.
J’ais tester en 3G directement avec mon ipod mais idem, partout êtes que je ne temps pas constamment l’adresse.
Merci

D’ici quelque jours, je vais poster une nouvelle version, avec quelques corrections. En espérant que ça serait mieux.
Je vais chercher une solution pour le no ip… car j’ai aucune idée de comment procéder dans ce cas de figure.
Vous utiliser quel type de smartphone? L’application est bien en plein écran? ou image tronquée?

Merci, l’application est bien en plein écran ( écran 5 pouces HD ) est rien n’est tronqué à l’écran.
Par contre, j’ai mis un mot de passe dans l’ipx mais sans le renseigner nul part sa fonctionne !
J’ai essayer la même syntaxe que la page web mais sans succès.
Je patiente donc quelque jours sans soucis, c’est super cool que quelqu’un ce penche sur les V2.
Merci encore.

Edit : pour les caméras, j’ai aussi des axis.
Édit 2 : tout les bouton on / off sont grisés.

Pour être honnête, j’ai rêver moi aussi d’une V3, mais j’ai pas le budget pour ça.
J’e viens d’épouser ma chère et tendre… et j’ai exploser mes économies avec le mariage.
Pour le mot de passe,moi aussi j’ai fait la même chose…un mot de passe dans l’ipx, et ça marche sans… peut-être que le M2M a pas besoin…?
Tes cameras axis sont elle aussi en dns? Pas de ip fixe je présume…en ip fixe c’est beaucoup plus simple a gérer…
Je vais me renseigner …sans faire des promesses.
En tout cas, je suis décide d’avancer… de faire mieux…il me faut du temps et de la chance…c’est pas les idées qui manque :slight_smile:

Je vais regarder pour les boutons grises …j’ai une piste…

Je comprend, je suis passé par là aussi il y a 1 an 1/2 ( mariage + bébé ) et du coup j’avais acheté une V2 :wink:

Sinon, en fait j’ai accès a toutes mes cameras IP de l’extérieur avec une redirection de port toute simple faite dans la SFRBOX ( j’avais la Freebox avant et c’était pareil )
J’accède a l’IPX via la un navigateur WEB avec la syntaxe suivante http://identifiant:motdepasse@adresselocal-IPXx:port/pageperso.htm
Ce qui me permet de n’avoir rien a taper et simplement ouvrir un raccourci tout en étant sécurisé un minimum, bizare qu’en M2M aucun mode de passe est demandé est que cela fonctionne !!!

EDIT : NO-IP fonctionne maintenant :wink:, j’ai rebouté ma BOX, un problème en moins a réglé par contre les cases ON/OFF sont toujours grisé

Salut

Je cherchait à faire une application Android pour l’application multicardipx800, mais je ne trouvais pas d’exemple. Serais-tu d’accord pour m’envoyer par MP les sources de ton application pour que je comprenne ce mode de progammation ?

A+
Thomas

Pour programmer, j’utilise basic4android. Tu peut faire une recherche google…
Ils ont un forum très intéressant, avec des librairies, des tutos, des exemples.
C’est comme ça que j’apprend et donc les sources sont pas compatible avec Eclipse… il sont en .b4a.

Concernant l’application…j’utilise un Socket TCP/IP pour M2M, et je fait du parsing du status.xml en le téléchargeant.
Voila un bout de code… si vous voulez, je peut vous donner les sources…

Sub Activity_Resume
	ServerSocket1.Initialize(0, "")
	MyIP = ServerSocket1.GetMyIP 
	lblMyIp.Text = MyIP
	
End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub btnConnect_Click
	Socket1.Initialize("Socket1")
	ServerIp = txtServerIp.Text
	port = txtPort.Text 
	Socket1.Connect(ServerIp,port,5000)
End Sub


Sub Socket1_Connected(Connected As Boolean)As Boolean 
	If Connected = True Then
		ToastMessageShow("Connected",True)
		TcpStreams.Initialize(Socket1.InputStream,Socket1.OutputStream,"tcpStreams")
	Else
		ToastMessageShow("Server not available",True)
	End If
End Sub

Sub SendData(Msg As String)
	Dim Buffer() As Byte 
	'add vehicle number to each message
	Msg = txtMsg.Text
	If Socket1.Connected = True Then
		Try
			Buffer = Msg.GetBytes("UTF8")
			TcpStreams.Write(Buffer)
		Catch
			Log("TcpStreams.Write Error")
		End Try
	Else
		Log("Connection lost")
	End If
		
End Sub

Sub TcpStreams_NewData (Buffer() As Byte)
    Dim Msg As String
	Msg = BytesToString(Buffer, 0, Buffer.Length, "UTF8")
	lblRecMsg.Text = Msg	
	
End Sub


Sub ToggleButton1_CheckedChange(Checked As Boolean)
	If Checked Then
        txtMsg.text = Set11.text
	    SendData(txtMsg.Text)
    Else
        txtMsg.text = Set10.text
	    SendData(txtMsg.Text)
    End If
End Sub

Et en plus, vous devez avoir les mêmes librairies que j’utilise…
C’est pas mal…l’interface et du style visual basic, mais très évoluée, a voir.

Cordialement.

Salut

Merci pour le bout de code. Si tu veux me faire un ZIP avec les fichiers sources, je suis pas contre. Mon mail est : thomas [AT] guenneguez [DOT] com

A+
Thomas

J’ai regardé avec Eclipse, mais je trouve pas de moyen de créer dynamiquement de bouton, images, …
A+
Thomas

Justement. Je travaille pas avec Eclipse. Trop compliquée pour moi.
Basic4android est une interface plus simplifiée, qui utilise le sdk de android et java.
Ils ont aussi une interface « designer » ou tu peut créer des boutons, texte, listes, des views…dynamiquement… C’est pas mal.
Mes sources sont compatible uniquement avec ça.

L’app que j’est fait représente 40 heures de travail environ…peut-être moins. Avec Eclipse, j’aurais passe plus de temps pour faire ça…je suis nul en Eclipse.

Je vais t’envoyer par mail les sources…et un lien pour trouver basic4android.

Cordialement.

J’ai trouvé basic4android.
Merci pour les sources j’ai hâte de tester.

A+
Thomas