Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    Come impostare un IP statico per Raspberry PI

    Novembre 10, 2023

    Le migliori rendite passive tecnologiche per guadagna soldi

    Novembre 4, 2023

    Guida all’Acquisto: I Migliori Router WiFi del 2023

    Settembre 13, 2023
    Facebook X (Twitter) Instagram
    Facebook X (Twitter) Instagram
    iSmanettoneiSmanettone
    Subscribe
    • Home
    • News
    • Programmazione
    • iPhone
    • Wifi e sicurezza
    • Backtrack
    • Arduino
    • Android
    • Apple
    • Raspberry
    • Altro
    iSmanettoneiSmanettone
    Home»Arduino»Progetto rilevatore apertura garage con Arduino
    Arduino

    Progetto rilevatore apertura garage con Arduino

    ismanettoneblogBy ismanettoneblogGennaio 2, 2017Nessun commento3 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Share
    Facebook Twitter LinkedIn Pinterest Email

    Oggi vedremo un piccolo progetto, che ha lo scopo di creare un sistema IoT in casa, per la segnalazione dell’apertura del garage, oppure di una porta, con rilevamento acustico.

    Sectional-type_overhead_garage_door

    Requisiti hardware

    • Photon Particle oppure Arduino Uno + Shield Ethernet
    • Sensore magnetico
    • Raspberry PI Zero
    • Buzzer 5V 

    Requisiti software

    • Software per il progetto
    • Libreria Pi4j

    Descrizione del progetto

    L’idea alla base del progetto, è quello di sfruttare un micro-controllore come Arduino oppure Photon per la rilevazione attraverso un sensore magnetico l’apertura del garage, oppure di una finestra/porta. Appena viene rilevata l’apertura, il dispositivo invierà un pacchetto/segnale ad un piccolo server posto in casa, come ad esempio un Raspberry PI Zero, che attraverso un buzzer emetterà un piccolo segnale acustico. Nelle future versioni del progetto, verranno aggiunte funzionalità.

    Tutte e due i dispositivi devono essere connessi alla stessa rete WiFi, in modo da poter ricevere senza problemi i pacchetti TCP. Per quanto riguarda l’utilizzo del Buzzer per il Raspberry Pi Zero, conviene usare una resistenza di 100 ohm in serie, tra il PIN GPIO6 e il dispositivo.

    Codice Photon Particle

    TCPClient client;
    byte server[] = { 192, 168, 1, 10 };
    int port = 8000;
    unsigned long previousMillis = 0;
    unsigned int interval = 2000;
    
    
    void setup() {
      pinMode(D2, INPUT_PULLUP);
      attachInterrupt(D2, notify, RISING);
    }
    
     void loop()
    {
    
    }
    
    void notify(){
        unsigned long currentMillis = millis();
    
      if(currentMillis - previousMillis > interval) {
         previousMillis = currentMillis;
    		client.connect(server, port);
            if ( client.connected() == TRUE )
           {
              client.flush();
              client.print("open");
    
            }
        }
    }
    

    Codice Arduino

    #include <SPI.h>
    #include <Ethernet.h>
    
    byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
    IPAddress server(192,168,1,10);  
    
    EthernetClient client;
    int port = 8000;
    int pin = 2;
    unsigned long previousMillis = 0;
    unsigned int interval = 2000;
    
    void setup() {
      // Open serial communications and wait for port to open:
      Serial.begin(9600);
      if (Ethernet.begin(mac) == 0) {
        Serial.println("Failed to configure Ethernet using DHCP");
        Ethernet.begin(mac);
      }
      delay(1000);
      pinMode(pin,INPUT);
      Serial.println("connecting...");
      attachInterrupt(pin, notify, RISING);
    }
    
    void loop() {
      
    }
    
    void notify(){
      unsigned long currentMillis = millis();
      if(currentMillis - previousMillis > interval) {
         previousMillis = currentMillis;
        client.connect(server, port);
            if ( client.connected() == true )
           {
              client.flush();
              client.print("open");
            }
        }
    }
    

    Nota bene

    Per entrambi i programmi, è necessario modificare l’IP del server, con quello relativo al Raspberry PI Zero.

    Codice per Raspberry PI Zero

    package main;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    import com.pi4j.io.gpio.GpioController;
    import com.pi4j.io.gpio.GpioFactory;
    import com.pi4j.io.gpio.GpioPinDigitalOutput;
    import com.pi4j.io.gpio.PinState;
    import com.pi4j.io.gpio.RaspiPin;
    
    public class Main {
    	public static void main(String[] args) throws IOException, InterruptedException {
    		final GpioController gpioBuzzer = GpioFactory.getInstance();
    		final GpioPinDigitalOutput buzzer = gpioBuzzer.provisionDigitalOutputPin(RaspiPin.GPIO_06, "Buzzer",
    				PinState.LOW);
    		buzzer.low();
    
    		ServerSocket welcomeSocket = new ServerSocket(8000);
    
    		while (true) {
    			Socket connectionSocket = welcomeSocket.accept();
    			BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
    			String message = inFromClient.readLine();
    			if (message.equalsIgnoreCase("open")) {
    				buzzer.high();
    				Thread.sleep(2000);
    				buzzer.low();
    			}
    		}
    	}
    }
    

    Per quest’ultimo progetto, è necessario aggiungere la libreria JAR pi4j all’interno del progetto in Eclipse.

    Il codice completo del progetto, è disponibile in questo repo su GitHub.

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    ismanettoneblog

    Related Posts

    Come utilizzare il modulo ESP8266 per comodare Arduino da Smartphone

    Marzo 15, 2017

    C.H.I.P il nuovo PC low cost targato Linux da 9$

    Gennaio 1, 2017

    CloudMonitor24 un nuovo servizio cloud per l’Internet of Things

    Giugno 19, 2016
    Add A Comment

    Comments are closed.

    Donazione PayPal
    Instructables
    Instructables
    Alla Scoperta di Backtrack
    Alla scoperta di Backtrack
    Raspberry PI
    Kali Linux
    Arduino
    Kali Linux
    Github Repo
    Instructables
    Chi sono e come contattarmi
    Instructables
    Email
    Blogroll
    • Blog di AlterVista
    • Come iniziare
    • Forum di Supporto
    • Guide WordPress
    Meta
    • Accedi
    • Feed dei contenuti
    • Feed dei commenti
    • WordPress.org
    Editors Picks
    8.5

    Apple Planning Big Mac Redesign and Half-Sized Old Mac

    Gennaio 5, 2021

    Autonomous Driving Startup Attracts Chinese Investor

    Gennaio 5, 2021

    Onboard Cameras Allow Disabled Quadcopters to Fly

    Gennaio 5, 2021
    Top Reviews
    9.1

    Review: T-Mobile Winning 5G Race Around the World

    By ismanettoneblog
    8.9

    Samsung Galaxy S21 Ultra Review: the New King of Android Phones

    By ismanettoneblog
    8.9

    Xiaomi Mi 10: New Variant with Snapdragon 870 Review

    By ismanettoneblog
    Advertisement
    Demo
    iSmanettone
    Facebook X (Twitter) Instagram Pinterest Vimeo YouTube
    • Home
    • News
    • Arduino
    • Raspberry
    © 2025 ThemeSphere. Designed by ThemeSphere.

    Type above and press Enter to search. Press Esc to cancel.

    Ad Blocker rilavato
    Ad Blocker rilavato
    Il nostro sito web è reso possibile dalla visualizzazione di pubblicità online ai nostri visitatori. Ti preghiamo di supportarci disabilitando il tuo Ad Blocker