= Projet : Réseau de capteurs minimaliste = L'objectif du projet est illustré par le dessin ci-dessous. Il assemble les éléments que vous avez déjà mis en oeuvre dans les précédents TPs. [[Image(htdocs:png/2015_obj.png,width=600px)]] [[Image(htdocs:png/2015_peri.png,height=250px)]] [[Image(htdocs:png/2015_stat.png,height=250px)]] **Sur la base**, il doit y avoir : - Le serveur http. Il peut être minimaliste ou utilser un framework (p. ex. flask). - Un processus qui recueille des les données des capteurs en passant la réseau sans fils. - Une base de données pour enregistrer les valeurs datés, un simple fichier ou une base (je vous recommande sqlite3) **Sur L'arduino**, il doit y avoir : - des tâches qui lisent périodiquement le capteurs de lumière et qui l'envoie à la base. - vous pouvez aussi accepter des ordres de la base pour afficher un message sur l'écran oled. Faites simple d'abord, sans BDD, sans ordre pour les arduinos, etc. Vous pouvez complexifier si cela vous semble trop facile. {{{#!comment == Arborescence du site de base == {{{ . ├── server.py* └── www ├── cgi │   ├── charts.py* │   └── command.py* ├── img │   └── peri.png ├── index.html └── peri.html }}} '''server.py''' {{{ #!/usr/bin/env python import BaseHTTPServer import CGIHTTPServer import cgitb; cgitb.enable() server = BaseHTTPServer.HTTPServer handler = CGIHTTPServer.CGIHTTPRequestHandler server_address = ("", 8000) handler.cgi_directories = ["/cgi"] httpd = server(server_address, handler) httpd.serve_forever() }}} '''index.html''' {{{ Peri Web Server }}} '''peri.html''' {{{ Peri Web Server

Controle Arduino

LED:
Statistiques:
}}} '''command.py''' {{{ #!/usr/bin/env python import cgi form = cgi.FieldStorage() val1 = form.getvalue('val1') print """

home

La valeur est ... %s
""" % (val1,) }}} '''charts.py''' {{{ #!/usr/bin/env python import cgi form = cgi.FieldStorage() #val1 = (int)(form.getvalue('val1')) val1 = 20 tab = [10,12,20,70,60,40] print """

home

""" }}} }}}