Outils pour utilisateurs

Outils du site


cielmonprintemps

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
cielmonprintemps [2024/04/20 13:39] – [Code] Mushussucielmonprintemps [2024/04/29 14:23] (Version actuelle) – [Streaming] Mushussu
Ligne 13: Ligne 13:
  
 [[https://www.lextronic.fr/anemometre-pluviometre-girouette-compatible-arduino-microbit-grove-63661.html|Anémomètre + Girouette chez Lextronic]] [[https://www.lextronic.fr/anemometre-pluviometre-girouette-compatible-arduino-microbit-grove-63661.html|Anémomètre + Girouette chez Lextronic]]
 +===== Interface =====
 +Nous utilisons TouschOSC pour effectuer les réglages. en fonction des lieux. Voici le fichier de configuration pour {{ :pad.touchosc.zip |TouchOSC MK1}}
 +
 +Il faut ensuite télécharger [[https://hexler.net/touchosc-mk1|TouchOSC Editor]] sur un ordinateur pour synchroniser avec l'appareil mobile. Attention, il n'y a pas de de version pour Linux.
 +
 +===== Streaming =====
 +[[https://raspberry-projects.com/pi/pi-hardware/raspberry-pi-camera/streaming-video-using-vlc-player|Stream avec une Raspberry Pi]]
 +
 +[[https://forums.raspberrypi.com/viewtopic.php?t=178493| stream via UDP]]
 +
 +[[https://blog.miguelgrinberg.com/post/stream-video-from-the-raspberry-pi-camera-to-web-browsers-even-on-ios-and-android|Stremaing avec mpeg]]
 +
 +[[https://www.int21h.eu/stream-raspivid.html| Pour lancer un service à l'appel de la connexion]]
 +
 +[[https://gitlab.com/-/snippets/1967306|Avec V4l2 loopback]]
 +
 +[[https://forums.raspberrypi.com/viewtopic.php?t=335940|La solution sans doute]]
 +
 +[[https://softsolder.com/2020/09/28/raspberry-pi-streaming-video-loopback/| une autre]]
 +
 +[http://www.davidhunt.ie/raspberry-pi-high-quality-camera-setup-for-low-latency-video-conferencing/|UNe autre approche]]
 +
 +[[https://medium.com/@sbonnet.dev/how-to-build-a-virtual-camera-under-linux-and-windows-7af0e6433796|Création d'une caméra virtuelle sous Linux]]
 ===== Code ===== ===== Code =====
  
 ==== Code Arduino station météo ==== ==== Code Arduino station météo ====
-<code>+<code cpp>
 #include <WiFiS3.h> #include <WiFiS3.h>
 #include "arduino_secrets.h" #include "arduino_secrets.h"
  
 #define anemometre A2 #define anemometre A2
 +#define PI_4 0.78539816339
 +#define PI_2 1.5707963267948966192313216916398
 +#define PI3_4 2.35619449019
 +#define PI 3.1415926535897932384626433832795
 +#define PI5_4 3.92699081699
 +#define PI3_2 4.71238898038
 +#define PI7_4 5.49778714378
 +
  
 int status = WL_IDLE_STATUS; int status = WL_IDLE_STATUS;
Ligne 30: Ligne 61:
  
 // Définition de l'adresse IP et du port de destination // Définition de l'adresse IP et du port de destination
-IPAddress serveurIp(192, 168, 1, 159); // 192.168.1.159+IPAddress serveurIp(192, 168, 1, 159);  // 192.168.1.159
 unsigned int serveurPort = 7000; unsigned int serveurPort = 7000;
  
Ligne 37: Ligne 68:
  
 unsigned long temps; unsigned long temps;
-  bool etat = false;+bool etat = false;
 bool etat2 = false; bool etat2 = false;
  
Ligne 74: Ligne 105:
  
   // Intialisation des ports de la station météo   // Intialisation des ports de la station météo
-  pinMode(anemometre, INPUT); // Anémomètre+  pinMode(anemometre, INPUT);  // Anémomètre
   pinMode(13, OUTPUT);   pinMode(13, OUTPUT);
  
Ligne 85: Ligne 116:
     etat2 = true;     etat2 = true;
     int duree = millis() - temps;     int duree = millis() - temps;
-    float vitesse  1000.0 / duree; +    float vitesse = 10.0 / duree; 
-    envoyeDonnees(analogRead(A1) / 100, vitesse, serveurIp, serveurPort);+    float angle; 
 +    switch (analogRead(A1) / 100) { 
 +      case 0: 
 +        angle = 0.0; // 
 +        break; 
 +      case 1: 
 +        angle = PI_4; // 
 +        break; 
 +      case 2: 
 +        angle = PI_2; // 
 +        break; 
 +      case 4: 
 +        angle = PI7_4; // 
 +        break; 
 +      case 6: 
 +        angle = PI3_4; // 
 +        break; 
 +      case 7: 
 +        angle = PI3_2; // 
 +        break; 
 +      case 8: 
 +        angle = PI5_4; // 
 +        break; 
 +      case 9: 
 +        angle = PI; // 
 +        break; 
 +    } 
 +    envoyeDonnees(vitesse * cos(angle), vitesse * sin(angle), serveurIp, serveurPort);
     temps = millis();     temps = millis();
   }   }
Ligne 98: Ligne 156:
 } }
  
-void envoyeDonnees(int direction, float vitesse, IPAddress serveurIp, unsigned int ServeurPort) {+void envoyeDonnees(float x, float y, IPAddress serveurIp, unsigned int ServeurPort) { 
   // Formaqtion du message OSC   // Formaqtion du message OSC
-  uint8_t message[] = {0x2F, 0x76, 0x65, 0x6E, 0x74, 0x00, 0x00, 0x00, 0x2C, 0x69, 0x66, 0x00, 0x00, 0x00, 0x030xE80x3F0x9D0xF30xB6}; +  uint8_t message[] = { 0x2F, 0x76, 0x65, 0x6E, 0x74, 0x00, 0x00, 0x00, 0x2C, 0x66, 0x66, 0x00, 0x00, 0x00, 0x000x000x000x000x000x00 }; 
-  uint8_t dirTab[4]; +  uint8_t xTab[4]; 
-  uint8_t dirVit[4]; +  uint8_t yTab[4]; 
-  memcpy(&dirTab, &direction, 4); +  memcpy(&xTab, &x, 4); 
-  memcpy(&dirVit, &vitesse, 4);+  memcpy(&yTab, &y, 4);
   for (int j = 0; j < 4; j++) {   for (int j = 0; j < 4; j++) {
-    memcpy(&message[12 + j], &dirTab[3 - j], 1); +    memcpy(&message[12 + j], &xTab[3 - j], 1); 
-    memcpy(&message[16 + j], &dirVit[3 - j], 1);+    memcpy(&message[16 + j], &yTab[3 - j], 1);
   }   }
  
Ligne 133: Ligne 192:
 } }
 </code> </code>
 +
 +==== Archive projet ====
 +{{ :apps.zip |Archive}}
 ==== Code teteDeTurc ==== ==== Code teteDeTurc ====
 Code pour la prise de photos pour les festivaliers. Code pour la prise de photos pour les festivaliers.
Ligne 158: Ligne 220:
  
 [[https://docs.arduino.cc/tutorials/uno-r4-wifi/wifi-examples/|Code pour le WiFi]] [[https://docs.arduino.cc/tutorials/uno-r4-wifi/wifi-examples/|Code pour le WiFi]]
 +
 +===== Droidcam =====
 +Application qui permet de transformer son téléphone en caméra sans fil vue comme une webcam 
 +  * https://play.google.com/store/apps/details?id=com.dev47apps.droidcam
 +  * https://www.dev47apps.com/droidcam/linux/
 +Lancer l'application via ADB en wifi 
 +  FP3:/ # monkey -p com.dev47apps.droidcam -v 1
 +  FP3:/ # ps -A |grep cam                                                                      
 +  u0_a156      31680   762 32171960 197348 SyS_epoll_wait     0 S com.dev47apps.droidcam
 +  FP3:/ # kill 31680
 +
 {{tag> sylvain, OpenFrameworks}} {{tag> sylvain, OpenFrameworks}}
 +
 +
  
cielmonprintemps.1713620353.txt.gz · Dernière modification : de Mushussu