Rumah >Java >javaTutorial >Tutorial Pembangunan Perkakasan Internet of Things Java: Melaksanakan Fungsi Kunci Pintu Pintar

Tutorial Pembangunan Perkakasan Internet of Things Java: Melaksanakan Fungsi Kunci Pintu Pintar

WBOY
WBOYasal
2023-09-19 16:19:541389semak imbas

Tutorial Pembangunan Perkakasan Internet of Things Java: Melaksanakan Fungsi Kunci Pintu Pintar

Tutorial Pembangunan Perkakasan Internet of Things Java: Untuk melaksanakan fungsi kunci pintu pintar, contoh kod khusus diperlukan

Pengenalan:
Dengan perkembangan teknologi Internet of Things, rumah pintar telah memasuki kehidupan orang ramai secara beransur-ansur. Sebagai bahagian penting dalam rumah pintar, kunci pintu pintar semakin menarik perhatian. Tutorial ini akan memperkenalkan cara menggunakan bahasa Java untuk membangunkan fungsi kunci pintu pintar dan memberikan contoh kod khusus.

1. Persediaan
Untuk merealisasikan fungsi kunci pintu pintar, kami memerlukan persekitaran perkakasan dan perisian berikut:

  1. Raspberry Pi (atau papan pembangunan lain dengan antara muka GPIO)
  2. Kunci elektronik (didorong melalui antara muka GPIO)
  3. Electronic Komponen: perintang, kapasitor, dll.
  4. Alat pembangunan: Eclipse IDE
  5. Persekitaran pembangunan Java: JDK
2. Sambungkan perkakasan

    Sambungkan Raspberry Pi dan kunci elektronik melalui antara muka GPIO. Kaedah sambungan khusus perlu dilaraskan mengikut situasi sebenar perkakasan Sila rujuk manual sambungan kunci elektronik.
3. Tulis kod

    Buat projek Java dan import pakej pergantungan yang berkaitan.
  1. import com.pi4j.io.gpio.*;
    import com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent;
    import com.pi4j.io.gpio.event.GpioPinListenerDigital;
    
    import java.util.concurrent.TimeUnit;
    
    public class SmartLock {
    
        private static final GpioController gpio = GpioFactory.getInstance();
        private static final GpioPinDigitalOutput lockPin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, "Lock");
    
        public static void main(String[] args) throws InterruptedException {
            lockPin.setShutdownOptions(true, PinState.LOW);
    
            lockPin.addListener((GpioPinListenerDigital) event -> {
                if (event.getState() == PinState.LOW) {
                    System.out.println("Door is locked.");
                } else {
                    System.out.println("Door is unlocked.");
                }
            });
    
            unlockDoorForAWhile(5000);
        }
    
        private static void unlockDoorForAWhile(long durationMillis) throws InterruptedException {
            lockPin.low();
            TimeUnit.MILLISECONDS.sleep(durationMillis);
            lockPin.high();
        }
    
    }
4 Jalankan program

    Muat naik kod Java bertulis ke direktori pada Raspberry Pi, seperti /home/pi/smartlock.
  1. /home/pi/smartlock
  2. 打开终端,进入代码所在目录。
  3. 编译Java文件:javac -cp "lib/*.jar" SmartLock.java
  4. 运行程序:java -cp ".:./lib/*" SmartLockBuka terminal dan masukkan direktori di mana kod itu berada.
Kompilasi fail Java: javac -cp "lib/*.jar" SmartLock.java.

Jalankan program: java -cp ".:./lib/*" SmartLock.
  1. 5. Fungsi ujian
Selepas melaksanakan arahan, mesej "Pintu dibuka kuncinya akan dipaparkan pada terminal, menunjukkan bahawa kunci pintu dibuka.


Selepas 5 saat, mesej "Pintu dikunci." akan dipaparkan pada terminal, menunjukkan bahawa kunci pintu dikunci semula.

🎜🎜Kesimpulan: 🎜Tutorial ini melaksanakan fungsi kunci pintu pintar dengan menggunakan bahasa Java. Melalui gabungan antara muka Raspberry Pi dan GPIO, kami boleh mengawal status kunci elektronik dengan mudah. Saya harap tutorial ini berguna untuk anda mempelajari dan membangunkan perkakasan IoT. 🎜

Atas ialah kandungan terperinci Tutorial Pembangunan Perkakasan Internet of Things Java: Melaksanakan Fungsi Kunci Pintu Pintar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn