Skip to content

Simple Arduino-connected server to control media presentation with physical triggers

Notifications You must be signed in to change notification settings

museomix/2016_quebec_Sois_mon_epouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Muséomix - Table projecteur pour Sois mon épouse

Ce repo contient tout le code nécessaire ppour propulser le prototype #4 du Muséomix 2016 à Québec, qui s'est déroulé au Monastère des Augustines.

Le projet consiste en un front-end web capable de recevoir un state et d'afficher son vidéo correspondant. Il renvoie au serveur un state de -1 lorsqu'un vidéo termine.

La source du state est un serveur (tout est en Node.js) qui déclenche les changements selon une mesure venant d'un hardware (dans ce cas, une distance correspondant à un poids).

Rôles des modules:

Hardware → triggers → state machine → server → front-end

sonar.js est responsable d'interpréter un signal de hardware et de le transformer en une mesure sur l'échelle convenue (ici, distance en cm). Il est 100% remplaçable par un autre module qui relie le matériel.

triggers,js reçoit les mesures jugées utilisables et utilise la liste de mesures connues (states-list.js) pour déclencher des changements de state.

states-list.js devrait idéalement être transformé en un module plus abstrait (un state machine un peu moins MacGuyver) et utilisé avec un fichier JSON contenant seulement les états et mesures.

server.js est un mini-serveur Express qui connecte le front-end avec socket.io et lui pousse les états obtenus.

Les pages sont dans /pages. remote.html est un bypass du système de mesure, et permet de déclencher manuellement les états.

Templating manquant

Il n'y a aucun templating, les informations nécessaires pour chaque état sont durement codés dans index.html, remote.html et states-list.html. Les fichiers media à servir le sont de même dans server.js avec une route par fichier.

Installation et démarrage

(En prenant pour acquis que la connection hardware est faite à la main de toute façon)

  • Pour mesurer depuis Arduino comme dans l'expo 2016, il faut y installer Firmata, incluse dans Arduino depuis la version 0012.
  • npm install
  • npm start to run
  • Visionneuse → http://localhost:3000
  • Télécommande → http://localhost:3000/tout-puissant

About

Simple Arduino-connected server to control media presentation with physical triggers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published