Interaction entre une app IOS et windows

Bonjour a tous,


Je suis débutant dans le monde IOS, et je me pose des questions sur la faisabilité de mon projet.


J utilise a l heure actuelle l'app LightBlue pour contrôler un objet en Bluetooth Low Energy.


Ma question est la suivante: est il possible de connecter une app a windows pour pouvoir avoir des interactions depuis windows?


En gros j aimerai pouvoir contrôler cette application depuis un PC, est ce possible?


J'ai penser a coder une application a cote pour interagir avec elle mais visiblement avec les Sandbox cela est impossible...

Existe t il un équivalent de cette application le permettant? (ou en open source peut être)


Merci d'avance pour vos conseils icon_wink.gif


Réponses

  • LarmeLarme Membre

    Le BLE est un bon moyen de communication entre deux appareils.


    Dans ton cas, le Wi-Fi (si même réseau) aussi.


     


    Il faut juste créer l'application Windows qui pourra recevoir/envoyer des commandes à  l'application iOS qui pourra recevoir/envoyer des commandes, et elles agiront en fonction.


    Attention, le BLE est limité, dans le sens où le streaming audio ou vidéo n'est pas possible.


  • FazertingFazerting Membre
    juin 2017 modifié #3

    Ok, je n'ai que des informations de type chiffre a transmettre, je pense donc que le Bluetooth suffirait. Mon soucis est plutot de savoir si on peut controller une app deja existante sans modifier son code source, je m explique avec le schema suivant pour transporter une info :


     


    PC sous windows 10 => iPhone (application LightBlue ou autre) => objet connecte (type lampe par exemple)


     


    l objectif est donc d'envoyer des informations depuis l'iphone, en controlant depuis windows ;)


     


    Je ne pense pas qu'une telle app existe, et je pense donc devoir creer ma propre application, en utilisant une base de donnee pour communiquer entre l iPhone et le PC.


     


    Avez vous d autres solutions a me proposer?




  • PC sous windows 10 => iPhone (application LightBlue ou autre) => objet connecte (type lampe par exemple)


     


    l objectif est donc d'envoyer des informations depuis l'iphone, en controlant depuis windows ;)


     




    C'est plutôt tordu comme idée .. Pourquoi ne pas chercher à  commander directement l'objet connecté à  partir d'une application Windows ? Je doute que le BLE soit spécifique à  iOS. Je ne vois pas l'intérêt d'insérer un iPhone dans la chaà®ne de communication.


     


     




    Je ne pense pas qu'une telle app existe, et je pense donc devoir creer ma propre application, en utilisant une base de donnee pour communiquer entre l iPhone et le PC.


     




    Euh .. faire communiquer un iPhone et un PC par l'intermédiaire d'une base de données ?

  • Joanna CarterJoanna Carter Membre, Modérateur
    juin 2017 modifié #5

    Pourquoi pas créer une appli Windows qui contrôle l'objet directement ?


  • L'objectif sur le long terme est d'automatiser des tests de l'application, d'ou la chaine de communication qui peut paraitre etrange ;)


     


    @Draken : Oui la communication entre l'iphone et windows est quelquechose qui me pose beaucoup de probleme, c'est pourquoi j'ai penser a une BDD, je ne sais parcontre pas s'il s agit du systeme le plus optimiser effectivement...


  • Joanna CarterJoanna Carter Membre, Modérateur
    juin 2017 modifié #7

    Tu veux faire les tests pour l'appli Windows ou tu veux faire les tests pour l'appli iOS ?


     


    Côté BDD, ça se trouve où ? Comment être notifier si la BDD change ?


  • Je veux tester l'appli IOS, dans la globalité de son fonctionnement ( envoie d information en Bluetooth, vérifier si ce qu elle reçoit est cohérent etc) depuis une interface windows (type labview par exemple)


     


    Cote BDD c'est ma grande question, est ce le moyen le plus cohérent de communiquer entre une app et Windows? ( Existe t il des solutions d échange directe d information via USB par exemple?)


    Pour que l'échange soit possible, je pense que cette BDD devra être en ligne sur un serveur dédier a cette utilisation.


  • Joanna CarterJoanna Carter Membre, Modérateur
    juin 2017 modifié #9


    Je veux tester l'appli IOS, dans la globalité de son fonctionnement ( envoie d information en Bluetooth, vérifier si ce qu elle reçoit est cohérent etc) depuis une interface windows (type labview par exemple)




     


    Tu dois avoir un ordi Mac pour le développement de l'appli iOS ; je ne comprends pas pourquoi tu aurais besoin d'une appli Windows pour faire ces tests. Pourquoi pas utiliser le Mac soi-même pour les faire?


     




    Cote BDD c'est ma grande question, est ce le moyen le plus cohérent de communiquer entre une app et Windows? ( Existe t il des solutions d échange directe d information via USB par exemple?)


    Pour que l'échange soit possible, je pense que cette BDD devra être en ligne sur un serveur dédier a cette utilisation.




     


    à‰galement, je ne comprends pas pourquoi avoir une BDD pour faire la communication, surtout sur un serveur. Pour faire ça, il faudrait écrire une appli qui tournerait sur le serveur, et tu le ferais en quelle langue et sur quelle plate-forme ?


     


    Tu compliques beaucoup la vie !


  • DrakenDraken Membre
    juin 2017 modifié #10

    Le plus simple dans ton cas, c'est de communiquer entre le Pc et le device iOS via le Wifi. C'est un domaine que je ne connait pas, mais il y a une API iOS pour ça : bonjour.


     


    https://developer.apple.com/bonjour/

  • Il s'agit d'un cas d'école, la partie hardware de l'objet connecte est déjà  vérifiée sous Windows, le fait de pouvoir intégrer la partie software permettrait de faire des tests étape par étape, pour vérifier la globalité du systeme ;)


     


    J'avoue me compliquer la vie car je ne sais pas dans quelle direction me lancer, et surtout comment gérer mon échange d'information entre l'app iOS et Windows, le monde iOS étant assez fermer et nouveau pour moi..


  • Joanna CarterJoanna Carter Membre, Modérateur

    Si je t'ai bien entendu - tu as déjà  une appli Windows qui contrôle l'objet ? Tu veux créer une appli iOS qui pourra le contrôler également ?


     


    Je ne comprends pas encore pourquoi tu veux contrôler l'appli iOS depuis Windows ou vice versa.


     


    Le but, c'est de faire une appli iOS pour contrôler l'object, n'est-ce pas ?




  • J'avoue me compliquer la vie car je ne sais pas dans quelle direction me lancer, et surtout comment gérer mon échange d'information entre l'app iOS et Windows, le monde iOS étant assez fermer et nouveau pour moi..




    Bonjour, bonjour, bonjour, bonjourhttps://developer.apple.com/bonjour/

  • Joanna CarterJoanna Carter Membre, Modérateur

    Et, en plus, pour communiquer avec une appli iOS, il faudrait l'écrire pour comprendre et parler soi-même. On ne peut pas communiquer avec une appli qui n'est pas à  l'écoute.


  • Joanna CarterJoanna Carter Membre, Modérateur
    juin 2017 modifié #15


    Bonjour, bonjour, bonjour, bonjourhttps://developer.apple.com/bonjour/




     


    à‰tant donnée que l'appli est déjà  écrit pour entendre le Bonjour. Je crois que Fazerting voulait communiquer avec une appli déjà  disponible mais on ne sais pas encore si l'appli comprend comment dire bonjour  :-*




  • Je crois que Fazerting voulait communiquer avec une appli déjà  disponible mais on ne sais pas encore si l'appli comprend comment dire bonjour  :-*




     


    Je pense qu'il vas devoir se coltiner l'apprentissage du développement iOS pour créer sa propre application, capable de :


    - utiliser le BLE pour envoyer des ordres à  un objet connecté


    - utiliser Bonjour pour parler avec une application Windows


     


    Et aussi, modifier son application Windows pour intégrer Bonjour, avec le SDK Bonjour  fournis par Apple pour Windows.


     


    Que du bonheur ..


    Bonne chance Fazerting !

  • Joanna CarterJoanna Carter Membre, Modérateur


    Je pense qu'il vas devoir se coltiner l'apprentissage du développement iOS pour créer sa propre application, capable de :


    - utiliser le BLE pour envoyer des ordres à  un objet connecté


    - utiliser Bonjour pour parler avec une application Windows


     


    Et aussi, modifier son application Windows pour intégrer Bonjour, avec le SDK Bonjour  fournis par Apple pour Windows.


     


    Que du bonheur ..


    Bonne chance Fazerting !




     


    C'est exactement ce que je pensais

  • DrakenDraken Membre
    juin 2017 modifié #18

    D'après Apple, Bonjour peut aussi passer par Bluetooth, ce qui simplifie la communication iOS <=> objet connecté


     


    https://developer.apple.com/library/content/qa/qa1753/_index.html#//apple_ref/doc/uid/DTS40011315


     



     


    This policy changed in iOS 5.0. The new policy is that a Bonjour app must explicitly opt in to Bluetooth support. This change was made to reduce interference with Wi-Fi. To ensure binary compatibility, this change is only enabled for apps that link with the iOS 5.0 SDK (or later). This explains why your previous app binary continues to see Bonjour services over Bluetooth, but your latest binary, built with a modern SDK, does not.


    iOS 7 introduced a new NSNetService property, includesPeerToPeer, that you can set to explicitly enable registration and discovery over Bluetooth. If your app runs on iOS 7 and later, you can simply set that property and you're done.


     

  • Oui vous avez compris mon problème actuel, je n'ai plus qu'a me former en Swift ;) a l'heure actuelle sous Windows, le système de test par étape fonctionne sous Labview, je vais regarder si je peux le lier a bonjour ;)


  • Joanna CarterJoanna Carter Membre, Modérateur

    De ce que j'ai pu trouvé, non. Il n'y a pas de mention sur son site et une recherche Google a trouvé les soucis avec le DNS entre LabView et Bonjour ; du coup, je doute qu'ils ont pensé de Bonjour.


     


    Tu peux nous dire, très précisément, ce que tu veux faire, sur quelle plate-forme, de quelle plate-forme, vers quelle plate-forme et pour quelle raison ?


  • Concrètement, j'ai a l'heure actuelle un petit prototype de domotique, fonctionnant avec du BLE (Bluetooth Low Energy), et une app iOS dont je n'ai pas le code source. L'objectif est de trouver une app, ou créer une app, afin d'automatiser des tests sur cet objet depuis Windows , en utilisant un iPhone, pour être sur qu'il n'y ai pas de bugs entre l'app et l'objet connecte.


  • Joanna CarterJoanna Carter Membre, Modérateur

    Mais pourquoi pas faire les tests dans une appli iOS ?


  • Parce que la partie électronique de l objet connecte est déjà  vérifiée sous Windows, cela permettrait donc de centraliser les résultats et de les comparer entre eux, même si j'avoue que du cote conception, cela ne simplifie pas la tache....


    Après je ne suis pas oblige d'être tout le temps connecte avec l'app, il suffirai juste de réussir a envoyer un scenario sur l'app, et de recevoir les résultats a la fin .


  • Avec cette solution tu va surtout tester le dialogue "iOS (coreOS) <-> objet connecté" mais pas vraiment l'application en question puisque tu n'as apparemment pas les sources de l'app finale.


    Les résultats auraient étés plus probant si dans cette fameuse app de test il pouvait y avoir la partie "dialogue" avec l'objet connecté. Au fait, comment le dialogue est fait depuis windows ? GATT ou L2Cap ?


  • Oui c'est vrai que je teste surtout le dialogue "iOS <-> objet connecte" avec cette solution, mais c'est ce que je cherche dans un premier temps. Je ne peux pas remonter la chaine de test jusqu'à  l'app car je n'ai pas (du moins pour le moment) le code source de l'app, et que a l'heure actuelle lorsque j'effectue certains tests sous windows directement cela fonctionne, et non depuis l'iphone.. (l'ojectif est de remonter ptit a petit la chaine de test jusqu'au test global).


    Le dialogue depuis Windows est fait en GATT

  • CéroceCéroce Membre, Modérateur
    Je connais quelqu'un qui bosse sur un objet connecté en Bluetooth à  plein temps, et dans son équipe, tous les tests de l'application iOS sont faits avec une couche logicielle qui simule le périphérique Bluetooth.

    Le Bluetooth n'est pas particulièrement fiable. D'ailleurs, tu as déjà  dû t'en rendre compte avec LightBlue: les périphériques BLE apparaissent et disparaissent quand ils ont envie, et dès qu'il y en a plus de cinq c'est le chaos.

    Tu vas juste te casser les dents à  vouloir tester toute la chaà®ne. Commence par tester chaque maillon. C'est ainsi qu'on fait en informatique, et c'est aussi ainsi qu'on fait en électronique.
  • Il est vrai que tester chaque maillon pourrait être intéressant, Mais je ne vois pas comment tester l'application seule. J'aurai aime pouvoir contrôler l'application principale avec une application a cote, mais cela semble impossible avec les sandboxs ...


  • Je me tourne actuellement vers d'autres solutions comme par exemple le logiciel SeeTest (tres puissant, mais 5000euros par an!!!) Connaissez vous des logiciels similaires ?


    J'ai regarder du cote d'Appium, et de Calabash, mais ils demandent d'acceder au code source


  • Le plus simple dans ton cas, c'est de communiquer entre le Pc et le device iOS via le Wifi. C'est un domaine que je ne connait pas, mais il y a une API iOS pour ça : bonjour.


     


     


     


     


     


     


     


     


     


    """""""""""""""""""""""""""""""""""""""""""""""""""""""""


    Radiographique dentaire Portable | Films dentaires


  • Et mettre en place un serveur HTTP dans l'appli avec une sorte d'API Rest pour piloter l'appli c'est pas possible ? J'imagine qu'à  la base les autres solutions opère de façon similaire.


  • Joanna CarterJoanna Carter Membre, Modérateur


    Le plus simple dans ton cas, c'est de communiquer entre le Pc et le device iOS via le Wifi. C'est un domaine que je ne connait pas, mais il y a une API iOS pour ça : bonjour.


     




     


    Le problème reste - sans le code source de l'appli on ne peut pas le toucher.

Connectez-vous ou Inscrivez-vous pour répondre.