Chegando em casa, sempre foi inconveniente: você abre a porta e fica escuro; surgiu a ideia de acender as luzes do corredor, mas não é fácil, mas o que pode ser ligado pelo telefone antes de voltar para casa. Bem dito - significa que você tem que começar.
Algumas reflexões do autor antes de ler este artigo.(Antes de ler o artigo, obviamente, devo incluir um comentário aqui que, antes de tudo, este texto deve ser considerado um pequeno tutorial sobre como trabalhar com gpio usando java, mostrado em um exemplo, mas não uma instrução para convencer cada usuário , sobre a necessidade de seguir esse caminho)
Como a expansão futura deste sistema está planejada (ou não), foi decidido usar um computador de placa única como base. Com um leve movimento do mouse em Ali, o mais barato <
laranja pi zero 256mb .

Ligação
Então a parte mecânica, não há nada complicado. Da mesma forma que na placa Arduino, somente de acordo com as saídas em pi laranja.

Tomamos o revezamento habitual para "caseiro". Por um lado, conectamos o pino de energia e controle, por outro lado, cortamos o cabo de energia da nossa lâmpada e o inserimos no relé (no meu caso, era uma fita de diodo).

Esquema:

Isso é tudo, você é um gênio.
Algum código
Com a parte técnica finalizada. Nos voltamos para o software, aqui tudo também é simples:
- Instalamos o armbian ou qualquer outro Linux no cartão SD, mas eu escolhi este. Eu recomendo gravar a imagem usando o etcher.
- Em seguida, através do apt-get, instale o java em 3 comandos:
- Com a ajuda do gita, adicione o conjunto de fiaçãoPi para a nossa placa (contém várias bibliotecas para trabalhar com o gpio e todos os tipos de ferramentas para o mesmo)
Também não é difícil:
Bem, verifique:
Nesta parte, com a placa pronta, vá para o computador e o ide favorito.
Nós estaremos implantando o servidor na primavera, portanto, vá ao
site deles ou crie um projeto de primavera com alegria.

Para trabalhar com o gpio, você precisa instalar a biblioteca
pi4j , para isso, você precisa adicionar o repositório e a dependência.
E então o script final deve se parecer com isso:
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"
Bem, vamos para a classe de controle gpio:
Gpio.java public class MyGpio{ private GpioController gpio ; private GpioPinDigitalOutput myLed; public Gpio() { try {
O código apresentado é bastante simples e não implica um bom controle dos pinos da placa, mas abre a porta para isso.
Bem, o estágio final é a criação do controlador na primavera
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(); } }
Agora, alguns gestos recentes na forma de criar um arquivo jar usando gradle. Depois disso, transfira via sftp para a placa (em muitos modos, você pode configurar a implantação diretamente) e execute o jar no dispositivo. Em seguida, vá para o estimado 192.168.0 no navegador. ***: 8080 / light
e aproveite enquanto espera que isso ajude a manter os dedos à noite ou acender a luz até chegarmos em casa.
Na próxima parte (se eu chegar a isso), definitivamente mostrarei diferentes maneiras de interagir com nossa casa "inteligente".
aqui está a fontee depois trabalhe com o pente (gpio)