P1 IOT 2017 : Différence entre versions

De Wiki d'activités IMA
(Réalisation)
(Arduino)
Ligne 54 : Ligne 54 :
 
'''Code Arduino :'''
 
'''Code Arduino :'''
  
#include <RFduinoBLE.h>
+
#include <RFduinoBLE.h>
 +
#include <Adafruit_Sensor.h>
 +
#include <Adafruit_BME280.h>
 +
#define SEALEVELPRESSURE_HPA (1013.25)
 +
Adafruit_BME280 bme; // I2C
 +
char type[1];
  
#include <Adafruit_Sensor.h>
+
void setup() {
#include <Adafruit_BME280.h>
+
  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();
 +
}
  
#define SEALEVELPRESSURE_HPA (1013.25)
+
void loop() {
 
+
  type[0] = 't';
Adafruit_BME280 bme; // I2C
+
  RFduinoBLE.send(type,1);
 
+
  RFduinoBLE.send(bme.readTemperature()); // send number 1 to connected BLE device
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()); // send number 1 to connected BLE device
 
 
   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()); // send number 1 to connected BLE device
  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()); // send number 1 to connected BLE device
  delay(500); // delay for 3 seconds
+
  delay(500); // delay for 3 seconds
}
+
}
  
void RFduinoBLE_onReceive(char *data, int len) {
+
void RFduinoBLE_onReceive(char *data, int len) {
  Serial.println(data[0]);
+
  Serial.println(data[0]);
}
+
}
'''
 
  
 
== Android ==
 
== Android ==

Version du 22 janvier 2018 à 11:31

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 11cms (...) 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.

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.

Grâce à un moteur puissant, 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é.

L'objet sera muni d'un moteur vibrant de puissance réglable

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

Réalisation

Arduino

Schéma de montage :

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()); // send number 1 to connected BLE device
  type[0] = 'p';
  RFduinoBLE.send(type,1);
  delay(500);
  RFduinoBLE.send(bme.readPressure()); // send number 1 to connected BLE device
  delay(500);
  type[0] = 'h';
  RFduinoBLE.send(type,1);
  delay(500);
  RFduinoBLE.send(bme.readHumidity()); // send number 1 to connected BLE device
  delay(500); // delay for 3 seconds
}
void RFduinoBLE_onReceive(char *data, int len) {
  Serial.println(data[0]);
}

Android

Vous trouverez tout le code de l'application android ici


Matériel utilisé

  • 2 piles "AAA"
  • Moteur [nom]
  • RFduiono
  • Capteur Température/Humidité/Pression BME I2C/SPI 19.0mm x 18.0mm x 3.0mm
  • 10 DOF
  • Un Gode en PLA basé sur le modèle :

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) activité ...
Séance 5 (22/01/2018) activité ...
Séance 6 (24/01/2018) activité ...

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

Exemple d'inclusion d'image :

Un circuit

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

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

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

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

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

Rendu

Poster

Version électronique du poster :

Notre poster

Fichiers rendus

Notre application : Media:2017_IOT_P0_application.zip