====== LOLOpener ====== [[!toc startlevel=“2” levels=“2”]] ===== Projet ===== ==== Idée ==== L’idée est d’avoir un interrupteur au LOL qui informerait le reste du monde que le LOLcal est ouvert ! ==== Description ==== Dans le LOLcal, un interrupteur permettra, à l’aide de quelques composants électroniques, de titiller une pin de Raspberry PI. Cette dernière, connectée au “réseau”, enverrait un message sur IRC, un mail sur la ML?, un statut sur le site oueb, qui informerait le monde entier que le LOL est Open ! On pourrait ajouter des LEDs à allumer indiquant qu’on est ouvert à l’intérieur. Peut être une matrice avec un message qui défile ou simplement une LED, à voir… ===== Participants ===== * Dadel * Jonathan ===== Réalisation ===== ==== Possibilités ==== * interrupteur fil Le plus simple serait de connecter l’interrupteur directement à la Raspi. Ceci permettrait d’utiliser uniquement l’alimentation de la Raspi. L’inconvénient réside dans le fait que la Raspi doit être plutôt près de la box et donc loin de la porte. Le mieux pour l’interrupteur serait d’être à proximité de l’entrée. * interrupteur sans fil L’autre alternative serait d’avoir un interrupteur connecté à un module radio qui enverrait un signal sans fil à la raspi. Celle-ci aurait aussi un module radio permettant de recevoir des informations. //C’est cette solution qui est retenue.// ==== Matériel ==== Evidemment une Raspberry Pi. Tout dépend de la solution choisie * interrupteur fil Un interrupteur, une résistance, un condo, le tout relié aux GPIOs du Raspi. * interrupteur sans fil Un interrupteur, micro-controlleur, un émetteur (ou émetteur/récepteur) RF, résistance(s), condo(s). Tout est branché sur le micro-controlleur. Il faudra faire attention au voltage d’entrée (diviseur de tension?). ==== Soft ==== La partie soft aura à intervenir sur plusieurs éléments: * Sites web -> wiki et site officiel * IRC * Mailing-list * Agenda Les APIs devront tenter de respecter les spécifications spaceAPI http://spaceapi.net d’uniformisation inter-hackerspaces. ##Cartes électronique ###Module radio On considère la solution sans fil. On va se baser sur les modules radio récupérer et disponibles au LOL : des RDL2-433-32 (http://www.radiometrix.com/content/rdl2) la datasheet est disponible à l’adresse http://www.radiometrix.com/files/additional/rdl2.pdf La communication est de type UART et le module radio doit être alimenté à 5V. La raspberri possède un UART sur les GPIO mais à 3,3V. Il faudrat ajuster la tension. Pour l’interrupteur, il suffira d’alimenter le microcontrolleur choisi à 5V également pour ne pas avoir à faire quoi que ce soit. En plus des signaux RX/TX de communication le modules possède les signaux suivants qu’il faudrat pouvoir controller pour nous permettre toute latitude plus tard dans le soft : * ENABLE : qui permet d’activer/désactiver complètement le module radio * TXE : qui permet de désactiver l’émission. Par défaut, le module est en mode récepteur. C’est le mode émission qui utilise beaucoup de puissance et draine donc rapidement la batterie. * SETUP : qui permet de configurer le module radio, notamment choisir son canal radio car ce sont des modules multicanaux (5 possibles). Ces trois signaux sont active au niveau bas. Cela veux dire que pour activer par exemple le mode setup, il faut mettre le signal SETUP à 0. Par défaut ces signaux doivent être à 5V, et doivent donc avoir des résistances de Pull-up. Le module radio choisi possède des résistances de pull-up interne. Note : Le signal SETUP est seulement scruté au démarrage du module ou lors de transition émission/réception. Pour entre en mode setup et changer de canal il faut donc : * éteindre le module radio, en mettant ENABLE à 0V. * mettre le signal SETUP à 0V. * rallumé le module radio, en mettant ENABLE à 5V. ###circuit interrupteur Un microcontrolleur de type Atmega (possibilité de compatibilité arduino) peut être utilisé. Une grande partie de la gamme Atmega peut correspondre au besoin du projet qui sont : * une communication UART * 3 gpio non utilisé pour les signaux de contrôle * une entrée pour la détection de l’état de l’interrupteur. Si possible utilisé une pin permettant de lancer une interruption (noté INT0, INT1, …). L’utilisation d’une pin d’interruption permettra de réveiller le micro d’un mode veille à basse consommation. L’utilisation d’un tel mode aura pour avantage d’avoir plus de flexibilité pour l’indication du statut “off” (led rouge ?). Ce circuit sera tout en 5V et sera donc simpliste. ###circuit extension raspi Voici un rappel du pinout des GPIO : http://jeffskinnerbox.files.wordpress.com/2012/11/raspberry-pi-rev-1-gpio-pin-out1.jpg Notons que les pins utiles à ce projet sont : * RXD (reception uart 3,3V) sur la GPIO 15 * TXD (emmission uart 3,3V) sur la GPIO 14 * Alimentation 5V et Ground (masse). * 3 autre GPIO seront nécessaire pour les signaux de contrôle listé plus haut. Je recommande d’utilisé des GPIO qui n’ont pas de fonction secondaire (GPIO 17, 22, 23, 24 , 25 par exemple).