P1 IOT 2017 : Différence entre versions

De Wiki d'activités IMA
(Réalisation)
(Poster)
 
(55 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 22 : Ligne 22 :
 
==Description du projet==
 
==Description du projet==
  
Sexurito est un objet dédié à votre plaisir. Avec ses 11cms (...) et sa technologie de contrôle de pointe, Sexurito brisera toutes les barrières et vous emmènera au 7ème ciel !
+
Sexurito est un objet dédié à votre plaisir. Avec ses 19cms (...) et sa technologie de contrôle de pointe, Sexurito brisera toutes les barrières et vous emmènera au 7ème ciel !
  
Votre gode connecté sera sécurisé, et uniquement contrôlable par vous grâce à sa technologie de pointe basé sur les radiofréquences.  
+
Votre gode connecté sera sécurisé (wip), et uniquement contrôlable par vous grâce à sa technologie de pointe basé sur les radiofréquences.  
  
Sexurito permettra d'obtenir avec sa microélectronique des informations en temps réel sur l'humidité, la température, le nombre de va-et-vient et l'orientation de votre jouet.
+
Sexurito permettra d'obtenir avec sa microélectronique des informations en temps réel sur l'humidité, la température, le nombre de va-et-vient (en travaux) et l'orientation (en travaux) de votre jouet.
  
Grâce à un moteur puissant, il sera possible de faire vibrer et de contrôler la vibration de l'appareil.
+
<gallery widths=1000px heights=500px>
 +
Fichier:Alcool-au-travail.png
 +
</gallery>
 +
 
 +
Grâce à deux moteurs puissants, il sera possible de faire vibrer et de contrôler la vibration de l'appareil.
  
 
Analysez vos données, comparez vos résultats, maximisez votre plaisir !
 
Analysez vos données, comparez vos résultats, maximisez votre plaisir !
Ligne 36 : Ligne 40 :
 
==But réel==
 
==But réel==
  
Créer un objet connecté (gode) pouvant être contrôlé à distance et en toute sécurité.
+
Créer un objet connecté (gode) pouvant être contrôlé à distance et en toute sécurité. // Edit : Sécurité oui et non
  
L'objet sera muni d'un moteur vibrant de puissance réglable
+
L'objet sera muni d'un moteur vibrant de puissance réglable // Edit : 2 moteurs vibrants
  
 
L'objet sera muni de capteurs pouvant être lus par l'utilisateur
 
L'objet sera muni de capteurs pouvant être lus par l'utilisateur
  
L'objet sera muni d'un RFduino -> connexion Bluetooth et communication avec un système Android
+
L'objet sera muni d'un RFduino -> connexion Bluetooth et communication avec un système Android  
  
Une théorie sur la connexion sécurisée sera émise
+
Une théorie sur la connexion sécurisée sera émise // Edit : Pas encore
  
 
=Réalisation=
 
=Réalisation=
  
== Arduino ==
+
== Rfduino & Montage==
 +
 
 +
Voici les pièces utilisées (soyez surpris :o) :
 +
 
 +
<gallery widths=1000px heights=500px>
 +
Fichier:Pieces.jpg
 +
</gallery>
 +
''De gauche à droite : Piles, RFduino, Capteur BME280, Circuit + moteurs vibrants''
  
'''Schéma de montage :'''
+
Et hop, montage :
  
'''Code Arduino :'''
+
<gallery widths=1000px heights=500px>
 +
Fichier:photomont.jpg
 +
</gallery>
 +
''Presque aussi bien que des LEGO''
  
#include <RFduinoBLE.h>
+
'''Schéma de montage :'''
  
#include <Adafruit_Sensor.h>
+
<gallery widths=1000px heights=500px>
#include <Adafruit_BME280.h>
+
Fichier:schemabite.png
 +
</gallery>
 +
''Pour les électroniciens motivés''
  
#define SEALEVELPRESSURE_HPA (1013.25)
+
'''Schéma de montage plus compréhensible:'''
  
Adafruit_BME280 bme; // I2C
+
<gallery widths=1000px heights=500px>
 +
Fichier:Plm.jpg
 +
</gallery>
 +
''Pour les autres''
  
char type[1];
+
'''Code Arduino :'''
  
void setup() {
+
#include <RFduinoBLE.h>
  RFduinoBLE.advertisementData = "CouDow"; // shouldnt be more than 10 characters long
+
#include <Adafruit_Sensor.h>
  RFduinoBLE.deviceName = "Timer"; // name of your RFduino. Will appear when other BLE enabled devices search for it
+
#include <Adafruit_BME280.h>
  RFduinoBLE.begin(); // begin
+
#define SEALEVELPRESSURE_HPA (1013.25)
  bme.begin();  
+
Adafruit_BME280 bme; // I2C
}
+
char type[1];
  
void loop() {
+
void setup() {
 +
  RFduinoBLE.advertisementData = "CouDow"; // shouldnt be more than 10 characters long
 +
  RFduinoBLE.deviceName = "Timer"; // name of your RFduino. Will appear when other BLE enabled devices search for it
 +
  RFduinoBLE.begin(); // begin
 +
  bme.begin();
 +
}
  
  type[0] = 't';
+
void loop() {
  RFduinoBLE.send(type,1);
+
  type[0] = 't';
  RFduinoBLE.send(bme.readTemperature()); // send number 1 to connected BLE device
+
  RFduinoBLE.send(type,1);
 +
  RFduinoBLE.send(bme.readTemperature());
 
   type[0] = 'p';
 
   type[0] = 'p';
  RFduinoBLE.send(type,1);
+
  RFduinoBLE.send(type,1);
  delay(500);
+
  delay(500);
  RFduinoBLE.send(bme.readPressure()); // send number 1 to connected BLE device
+
  RFduinoBLE.send(bme.readPressure());
  delay(500);
+
  delay(500);
 
   type[0] = 'h';
 
   type[0] = 'h';
  RFduinoBLE.send(type,1);
+
  RFduinoBLE.send(type,1);
  delay(500);
+
  delay(500);
  RFduinoBLE.send(bme.readHumidity()); // send number 1 to connected BLE device
+
  RFduinoBLE.send(bme.readHumidity());
  delay(500); // delay for 3 seconds
+
  delay(500); // delay for 3 seconds
}
+
}
  
void RFduinoBLE_onReceive(char *data, int len) {
+
int moteurState = 0;       
   Serial.println(data[0]);
+
void RFduinoBLE_onReceive(char *data, int len) {
}
+
   Serial.println(data[0]);  
'''
+
  moteurState = digitalRead(moteur1);
 +
  Serial.println(moteurState);
 +
  if (moteurState == HIGH) {
 +
  Serial.println("To LOW");
 +
  digitalWrite(moteur1, LOW);
 +
  digitalWrite(moteur2, LOW);
 +
  } else {
 +
  Serial.println("To HIGH");
 +
  digitalWrite(moteur1, HIGH);
 +
  digitalWrite(moteur2, HIGH);
 +
}
  
 
== Android ==
 
== Android ==
Ligne 98 : Ligne 133 :
 
Vous trouverez tout le code de l'application android [https://github.com/badetitou/LoverRemote/ ici]
 
Vous trouverez tout le code de l'application android [https://github.com/badetitou/LoverRemote/ ici]
  
 +
<gallery widths=300px heights=150px>
 +
Fichier:Android_robot.svg.png
 +
</gallery>
 +
''Mais on met une image pour le geste''
  
 
==Matériel utilisé==
 
==Matériel utilisé==
  
 
* 2 piles "AAA"
 
* 2 piles "AAA"
* Moteur [nom]
+
* Moteurs vibrants *2
 
* RFduiono
 
* RFduiono
 
* Capteur Température/Humidité/Pression BME I2C/SPI 19.0mm x 18.0mm x 3.0mm
 
* Capteur Température/Humidité/Pression BME I2C/SPI 19.0mm x 18.0mm x 3.0mm
* 10 DOF
+
* 10 DOF (en fait non)
* Un Gode en PLA basé sur le modèle :
+
* Un Gode en PLA et un autre plus simple à utiliser
  
 
==Suivi de réalisation==
 
==Suivi de réalisation==
Ligne 121 : Ligne 160 :
 
  |-
 
  |-
 
  ! scope="row" | Séance 4 (17/01/2018)
 
  ! scope="row" | Séance 4 (17/01/2018)
  | activité ...
+
  | Code, création circuit et pause café.
 
  |-
 
  |-
 
  ! scope="row" | Séance 5 (22/01/2018)
 
  ! scope="row" | Séance 5 (22/01/2018)
  | activité ...
+
  | Circuit terminé et gode en approche.
 
  |-
 
  |-
 
  ! scope="row" | Séance 6 (24/01/2018)
 
  ! scope="row" | Séance 6 (24/01/2018)
  | activité ...
+
  | Poster + assemblage
 
  |}
 
  |}
  
 
==Détail du travail de la première séance==
 
==Détail du travail de la première séance==
Exemple d'inclusion d'image :
+
 
[[Fichier:2017_IOT_P0_circuit.png|center|400px|Un circuit]]
+
Suivi du petit cours sympathique
 +
 
 +
Formation d'un binôme improbable
 +
 
 +
Choix d'un sujet improbable
 +
 
 +
Réflexion sur le sujet improbable
 +
 
 +
Choix des capteurs du sujet improbable
  
 
==Détail du travail de la deuxième séance==
 
==Détail du travail de la deuxième séance==
 +
 +
Du Coooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooode (beaucoup d'Android)
  
 
==Détail du travail de la troisième séance==
 
==Détail du travail de la troisième séance==
 +
 +
Construction du code
 +
 +
Réglage des compatibilités arduino/version/composant
 +
 +
Avancement du wiki
  
 
==Détail du travail de la quatrième séance==
 
==Détail du travail de la quatrième séance==
 +
 +
Programmation Arduino / Android
 +
 +
Création du circuit sur PC
 +
 +
[[Fichier:Cuit.jpg|thumb|200px|left|Le circuit]]
 +
 +
<br style="clear: both;" />
  
 
==Détail du travail de la cinquième séance==
 
==Détail du travail de la cinquième séance==
 +
 +
Soudure sur circuit des composants
 +
 +
Tests de programme
 +
 +
Rectifications
 +
 +
Design Penis 2 :
 +
 +
[[Fichier:Penis.jpg|thumb|400px|left|Wouah !!]]
 +
 +
<br style="clear: both;" />
  
 
==Détail du travail de la sixième séance==
 
==Détail du travail de la sixième séance==
 +
 +
Poster :o
  
 
=Rendu=
 
=Rendu=
Ligne 148 : Ligne 225 :
 
==Poster==
 
==Poster==
 
Version électronique du poster :
 
Version électronique du poster :
[[Fichier:2017_IOT_P0_poster.png|center|500px|Notre poster]]
+
 
 +
[[Media:sexurito2.png]]
 +
 
 +
<br style="clear: both;" />
  
 
==Fichiers rendus==
 
==Fichiers rendus==
  
 
Notre application : [[Media:2017_IOT_P0_application.zip]]
 
Notre application : [[Media:2017_IOT_P0_application.zip]]

Version actuelle datée du 24 janvier 2018 à 17:28

Présentation du sujet


Contexte

Le plaisir connecté : Comment sécuriser vos relations sexuelles à distance par le truchement d'un objet vibrant sous votre contrôle ? Nous avons la réponse : Le gode connecté Séxurito1.0

Ce gode a pour vocation d'être dédié à votre plaisir. Il permet de contrôler votre gode à distance sans stockage de données par une société tierce. Votre plaisir en toute sécurité !

Un voyage d'affaire au Canada de deux semaines ? Vous avez peur que votre conjoint s'ennuie ? Pas de problème avec Séxurito1.0


Description du projet

Sexurito est un objet dédié à votre plaisir. Avec ses 19cms (...) et sa technologie de contrôle de pointe, Sexurito brisera toutes les barrières et vous emmènera au 7ème ciel !

Votre gode connecté sera sécurisé (wip), et uniquement contrôlable par vous grâce à sa technologie de pointe basé sur les radiofréquences.

Sexurito permettra d'obtenir avec sa microélectronique des informations en temps réel sur l'humidité, la température, le nombre de va-et-vient (en travaux) et l'orientation (en travaux) de votre jouet.

Grâce à deux moteurs puissants, il sera possible de faire vibrer et de contrôler la vibration de l'appareil.

Analysez vos données, comparez vos résultats, maximisez votre plaisir !

Sexurito, c'est l'assurance d'une bonne soirée !

But réel

Créer un objet connecté (gode) pouvant être contrôlé à distance et en toute sécurité. // Edit : Sécurité oui et non

L'objet sera muni d'un moteur vibrant de puissance réglable // Edit : 2 moteurs vibrants

L'objet sera muni de capteurs pouvant être lus par l'utilisateur

L'objet sera muni d'un RFduino -> connexion Bluetooth et communication avec un système Android

Une théorie sur la connexion sécurisée sera émise // Edit : Pas encore

Réalisation

Rfduino & Montage

Voici les pièces utilisées (soyez surpris :o) :

De gauche à droite : Piles, RFduino, Capteur BME280, Circuit + moteurs vibrants

Et hop, montage :

Presque aussi bien que des LEGO

Schéma de montage :

Pour les électroniciens motivés

Schéma de montage plus compréhensible:

Pour les autres

Code Arduino :

#include <RFduinoBLE.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // I2C
char type[1];
void setup() {
  RFduinoBLE.advertisementData = "CouDow"; // shouldnt be more than 10 characters long 
  RFduinoBLE.deviceName = "Timer"; // name of your RFduino. Will appear when other BLE enabled devices search for it 
  RFduinoBLE.begin(); // begin
  bme.begin(); 
}
void loop() {
  type[0] = 't';
  RFduinoBLE.send(type,1);
  RFduinoBLE.send(bme.readTemperature());
  type[0] = 'p';
  RFduinoBLE.send(type,1);
  delay(500);
  RFduinoBLE.send(bme.readPressure());
  delay(500);
  type[0] = 'h';
  RFduinoBLE.send(type,1);
  delay(500);
  RFduinoBLE.send(bme.readHumidity());
  delay(500); // delay for 3 seconds
}
int moteurState = 0;        
void RFduinoBLE_onReceive(char *data, int len) {
 Serial.println(data[0]); 
 moteurState = digitalRead(moteur1);
 Serial.println(moteurState);
 if (moteurState == HIGH) {
  Serial.println("To LOW");
  digitalWrite(moteur1, LOW);
  digitalWrite(moteur2, LOW);
 } else {
 Serial.println("To HIGH");
 digitalWrite(moteur1, HIGH);
 digitalWrite(moteur2, HIGH);
}

Android

Vous trouverez tout le code de l'application android ici

Mais on met une image pour le geste

Matériel utilisé

  • 2 piles "AAA"
  • Moteurs vibrants *2
  • RFduiono
  • Capteur Température/Humidité/Pression BME I2C/SPI 19.0mm x 18.0mm x 3.0mm
  • 10 DOF (en fait non)
  • Un Gode en PLA et un autre plus simple à utiliser

Suivi de réalisation

Séance 1 (08/01/2018) Début de projet, formation d'une équipe sans morale, conception de l'objet, sélection de matériel, configuration des logiciels.
Séance 2 (09/01/2018) Communication RFduino-Androîd, début de développement.
Séance 3 (16/01/2018) Réponses des capteurs à distance, disgn primaire du wiki
Séance 4 (17/01/2018) Code, création circuit et pause café.
Séance 5 (22/01/2018) Circuit terminé et gode en approche.
Séance 6 (24/01/2018) Poster + assemblage

Détail du travail de la première séance

Suivi du petit cours sympathique

Formation d'un binôme improbable

Choix d'un sujet improbable

Réflexion sur le sujet improbable

Choix des capteurs du sujet improbable

Détail du travail de la deuxième séance

Du Coooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooode (beaucoup d'Android)

Détail du travail de la troisième séance

Construction du code

Réglage des compatibilités arduino/version/composant

Avancement du wiki

Détail du travail de la quatrième séance

Programmation Arduino / Android

Création du circuit sur PC

Le circuit


Détail du travail de la cinquième séance

Soudure sur circuit des composants

Tests de programme

Rectifications

Design Penis 2 :

Wouah !!


Détail du travail de la sixième séance

Poster :o

Rendu

Poster

Version électronique du poster :

Media:sexurito2.png


Fichiers rendus

Notre application : Media:2017_IOT_P0_application.zip