0
Bonjour,

Voila quelques semaine maintenant que le blog n'a pas était mise à jour, mais je reviens avec un tout nouveaux projet. Le principe est simple faire un petit logiciel, dans un premier temps sur Windows qui permet de contrôler le Raspberry pi. 
Voila pour la fonction principale, ensuite pour que le Pi communique avec l'application j'ai décider de passer par les "socket" sur la partie Raspberry gérer par Python et sur la partie Windows gérer par Windev. 
Certain sont peut être un peut retissant envers WinDev mais je développe dessus pour le boulot et c'est largement plus simple que Visual Basic etc... Et surtout j'ai la licence :D 

J'ai commencer le développement ils a maintenant quelque semaine donc dans le principe sa fonctionne. Et voila quelques Screenshots :

Ecran principale




Commande des E/S

Il manque encore bien sur quelques fonctions notamment la possibilité de choisir les broche gpio en entré ou sortie. Après j'aimerais aussi avoir vos avis sur d’éventuel idée. Car l'ont peut faire beaucoup de chose car l'application envoie simplement une trame, cette trame est ensuite interpréter par le programme python.

Petit extrait :

#!/usr/bin/python 
import socket
import os
Sock = socket.socket()
#socket.AF_INET,socket.SOCK_STREAM)
Host = '192.168.0.24' # l'ip locale de l'ordinateur
Port = 8888         # choix d'un port
# on bind notre socket :
Sock.bind((Host,Port))
# On est a l'ecoute d'une seule et unique connexion :
Sock.listen(1)
# Le script se stoppe ici jusqu'a ce qu'il y ait connexion :
client, adresse = Sock.accept() # accepte les connexions de l'exterieur
print "L'adresse",adresse,"vient de se connecter au serveur !"
while 1:
        msg = client.recv(255) # on recoit 255 caracteres grand max
        print adresse,'>>',msg
        if msg == "update":
           os.system("apt-get update && apt-get upgrade -y && sudo apt-get dist-upgrade")
           client.send(bytearray(b'maj'))
        elif msg == "reboot":
           os.system("sudo reboot")
        elif msg == "rpiupdate":
           os.system("sudo rpi-update")
           client.send(bytearray(b'rpi'))

Pour l'explication si la trame reçu est "update" alors on exécute un commande système "apt-get update && apt-get upgrade -y && sudo apt-get dist-upgrade" et une fois terminer le programme écrit sur la socket "maj" qui est interpréter par mon programme est afficher un message "Raspberry Pi à jour".

Plus tard j'aimerais "porter" cette application sur linux et sur Android. N’hésiter pas donner vos idée ou me contacter pour avoir les source WinDev.

Enregistrer un commentaire

 
Top