关于“智能家居”:如何制作“智能”背光

回家后,总是很不方便:打开门,然后漆黑,然后想到在走廊上做背光,但这并不容易,但是可以在回家之前通过电话将其打开。 好说-这意味着您必须开始。
在阅读本文之前,作者有一些想法。
(显然,在进一步阅读本文之前,我应该在此处添加评论,首先应将本文视为关于使用java使用gpio的小教程,如示例所示,但不能说服每个用户,关于需要采用这种方式)


由于计划(或不计划)将来扩展该系统,因此决定以单板计算机为基础。 在Ali上轻轻移动鼠标,最便宜的<

橙色pi零256mb



连接方式


然后是机械部分,没有什么复杂的。 以与Arduino开发板相同的方式,仅符合orange pi上的输出。



我们将通常的中继称为“自制”。 一方面,我们连接电源和控制引脚,另一方面,将灯的电源线切断,然后将其插入继电器(在我的情况下,它是二极管胶带)。



方案:



仅此而已,您真是个天才。

一些代码


在此完成技术部分。 我们转向软件,这里的一切也很简单:

  1. 我们在sd卡上安装了armbian或任何其他Linux,但是我选择了这个。 我建议使用蚀刻机记录图像
  2. 接下来,通过apt-get,在3个命令中安装Java

    #sudo add-apt-repository ppa:webupd8team/java #sudo apt-get update #sudo apt-get install oracle-java8-installer 
  3. 在gita的帮助下,为我们的开发板添加connectioningPi集(它包含用于使用gpio的各种库以及用于该库的各种工具)
    也并不困难:

     #git clone https://github.com/vladikoms/WiringOP-Zero.git #cd WiringOP-Zero #chmod +x ./build #sudo ./build 

    好吧,检查一下:

     #gpio -v #gpio readall 

在此部分上,完成板子后,转到计算机和喜欢的想法。

我们将在春季部署服务器,因此要么访问他们的网站 ,要么就创建一个带有冰雹的spring项目。



要使用gpio,您需要安装pi4j库,为此,您需要添加存储库和依赖项。

然后,最终脚本应如下所示:

build.gradle
 buildscript { ext { springBootVersion = '2.1.0.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' group = 'com.lary.sh' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 jar{ baseName = 'SH' version = '0.0.1-SNAPSHOT' } repositories { mavenCentral() maven{ url "https://oss.sonatype.org/content/groups/public" //  } } dependencies { implementation('org.springframework.boot:spring-boot-starter-data-rest') implementation('org.springframework.boot:spring-boot-starter-web') runtimeOnly('org.springframework.boot:spring-boot-devtools') testImplementation('org.springframework.boot:spring-boot-starter-test') compile 'com.pi4j:pi4j-core:1.2-SNAPSHOT' //   } 


好吧,让我们进入gpio控件类:

gpio.java
 public class MyGpio{ private GpioController gpio ; private GpioPinDigitalOutput myLed; public Gpio() { try { //          ( ) PlatformManager.setPlatform(Platform.ORANGEPI);//  ,    OrangePI } catch (PlatformAlreadyAssignedException e) { e.printStackTrace(); } gpio= GpioFactory.getInstance(); myLed = gpio.provisionDigitalOutputPin(OrangePiPin.GPIO_08); //  8    //       } public void light(){ //     if(myLed.isHigh()) myLed.low(); //             else myLed.high();//        (8) } public void blink(){ //       for (int i =0;i<10;i++) { try { light(); Thread.sleep(500); } catch (Exception e){ e.printStackTrace(); } } } } 


所提供的代码非常简单,并不意味着可以很好地控制电路板引脚,但是可以为此打开一扇门。

好吧,最后一步是在春季创建控制器

Gpiocontroller.java
 @Controller public class GpioController { @RequestMapping("/blink") @ResponseBody public String blink(HttpServletResponse response, HttpServletRequest request ) { Gpio gpio =new Gpio(); gpio.blink(); return "blink"; } @RequestMapping("/light") @ResponseBody public void light(){ Gpio gpio =new Gpio(); gpio.light(); } } 


现在,使用gradle创建jar文件的形式出现了一些最近的手势。 之后,通过sftp传输到板(在许多方面,您可以直接配置部署)并在设备上运行jar。 接下来,在浏览器中转到珍惜的192.168.0 ***:8080 / light
并乐于享受,希望这将有助于我们在晚上保持手指或打开灯直到我们回家。

在下一部分中(如果需要的话),我一定会向您展示与“智能”房屋进行交互的不同方式。

这是来源
然后使用梳子(gpio)

Source: https://habr.com/ru/post/zh-CN430928/


All Articles