1. IntroduçãoInstalando o sistema em um Raspberry Pi 2.3
Descreverei o caminho mais fácil, na minha opinião, para iniciantes.
Todas as ações ocorrerão no Ubuntu 18.04.
Para obter ajuda sobre os comandos, use o comando "man" + o comando desejado.
man ls 
Ou o comando necessário com a tecla --help
 ls --help 
1. Instalação do sistema operacional Raspbian Stretch Lite em um cartão microSD.
O cartão MicroSD deve ser da classe 10 e com capacidade de 8 gigabytes.
Insira o cartão SD no computador e digite o comando:
 lsblk 

No exemplo, o mapa é definido como mmcblk0, então usarei esse nome.
Em seguida, para limpar o cartão das informações gravadas anteriormente (criaremos uma imagem de disco), é necessário apagá-lo com o comando:
 dd if=/dev/zero of=/dev/mmcblk0 
Este comando requer direitos de superusuário, para isso você precisa adicionar a palavra-chave 
“sudo” no início. A seguir, eu dou comandos sem 
sudo . Ao digitar comandos, use o preenchimento automático (tecla Tab), isso é necessário para controlar a entrada correta de comandos e caminhos de arquivos. Enquanto o comando está em execução, você pode baixar uma nova distribuição do sistema operacional.
Faça o download aqui: 
raspberrypi.orgPrecisamos do Raspbian Stretch Lite. Descompacte o zip baixado, precisamos de um arquivo com a extensão img - esta é a imagem do disco que copiaremos para o cartão. Portanto, se tivermos uma imagem de disco e o comando dd estiver concluído, prossiga.
Copie a imagem para o cartão:
 dd if=/path/to/raspbian.img of=/dev/mmcblk0 bs=4M status=progress 
após a conclusão, digite o comando:
 sync 
Retiramos o cartão e o inserimos de volta.
Crie um arquivo vazio no disco de inicialização do nosso mapa:
 touch /media/$USER/boot/ssh 
Isso é necessário para que um servidor ssh seja iniciado no Raspberry.
O cartão deve ser removido com segurança, inserido no Raspberry, conectado a uma rede com fio e energizado. Se não houver uma fonte de alimentação 2 apmera, você poderá ligá-la a partir de um computador com USB3. Na primeira inicialização, o sistema aumentará o tamanho do disco para o tamanho da placa, e isso levará algum tempo.
Para descobrir o endereço IP do nosso RPi, você pode usar o utilitário arp-scan. Se não estiver instalado, defina:
 apt install arp-scan 
Descobrimos o nome da nossa placa de rede:
 ip a 
ou
 netstat -i 

Eu tenho uma placa wifi chamada wlp1s0.
Execute arp-scan:
 arp-scan -I wlp1s0 -l 

Eu preciso de um RPi com IP 192.168.0.114, o endereço é atribuído pelo DHCP e pode ser qualquer coisa.
Vamos ao RPi por ssh:
 ssh pi@192.168.0.114 
você precisa digitar 
yes na primeira autenticação e, em seguida, digite a senha do pi - 
raspberry .
Se conseguimos fazer login no Raspberry, digite o comando:
 init 0 
Este comando desativa o RPi.
Você precisa inserir o cartão no computador novamente. Agora precisamos do programa “gparted”, se não estiver instalado, defina:
 apt install gparted 
Começamos com gparted, você precisa alterar o tamanho do disco mmcblk0p2, deixar no final uma área não alocada de 300 a 500 megabytes ou 2-3% do tamanho do cartão, isso é necessário para que nossa imagem se encaixe em cartões de fabricantes diferentes e eles podem variar de tamanho. O resultado deve ser algo como isto:

Após concluir o trabalho com o gparted, você pode fazer uma cópia de backup do cartão, para que, em caso de problemas em outras experiências, tenha uma imagem pronta.
 dd if=/dev/mmcblk0 | bzip2 > raspbian.bz2 
agora sempre podemos restaurar nosso disco com o comando:
 bzcat raspbian.bz2 | dd bs=4M of=/dev/mmcblk0 
Como resultado, temos um cartão microSD com um sistema operacional pronto para uso e sua cópia de segurança.
2. Configurando Raspbian Stretch Lite.
Vamos para RPi por ssh. Para configurar os endereços estáticos da rede com fio e do wifi, adicione as seguintes configurações ao final do arquivo /etc/dhcpcd.conf:
interface eth0 
endereço_ip estático = 192.168.0.10 / 24 
roteadores estáticos = 192.168.0.1 
static domain_name_servers = 8.8.8.8, 8.8.4.4 
interface wlan0 
endereço_ip estático = 192.168.0.10 / 24 
roteadores estáticos = 192.168.0.1 
static domain_name_servers = 8.8.8.8, 8.8.4.4Com essas configurações, o RPi terá o mesmo IP em uma rede com ou sem fio.
Arquivo para configurar o wifi - /etc/wpa_supplicant/wpa_supplicant.conf
adicione as seguintes configurações a ele:
network = { 
ssid = "NAME" 
psk = "PASS" 
}onde NAME e PASS nome de usuário e senha da rede wifi. Se não for conhecido antecipadamente onde usar nosso RPi, o nome e a senha poderão ser inseridos posteriormente.
Adicionar tarefas ao programa cron
 crontab -e 
No primeiro início, você precisará selecionar um editor de texto, nano - será o mais familiar.

Para que os agendamentos funcionem, adicione as seguintes configurações:
PATH = / usr / sbin: / usr / bin: / sbin: / bin 
SHELL = / bin / bashE as tarefas em si, registraremos o tempo de cada download e a duração da operação contínua; essas informações serão úteis no futuro.
reboot sleep 60 && date >> my-reboot.txt 
@weekly uptime >> meu-uptime.txtPara sair, a combinação de teclas Ctrl + x, Y, Enter
A configuração do fuso horário é feita pelo comando:
 dpkg-reconfigure tzdata 
Para aumentar o recurso do cartão SD, você pode parar o log e excluir o arquivo de troca:
(Acho que isso deve reduzir a probabilidade de falha do cartão SD ou corrupção de dados durante desligamentos repentinos de RPi durante a operação):
 apt update apt purge dphys-swapfile apt autoremove --purge apt install busybox-syslogd dpkg --purge rsyslog 
Instalação de programas:
 apt install mosquitto mosquitto-clients sqlite3 libsqlite3-dev mc htop arp-scan vim supervisor python-pip python3-pip python-virtualenv python-dev 
 pip install psutil paho-mqtt pip3 install psutil paho-mqtt 
Para o homekit2mqtt, você precisa instalar o nodejs:
 curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - apt-get install -y nodejs 
Verificando a versão instalada
 node -v nodejs -v 
Instale o node-red:
 npm install -g --unsafe-perm node-red 
Lançamos:
 node-red 

Na barra de endereços do navegador, digite o endereço IP do RPi 192.168.0.10:1880

Conclua node-red, pressione Ctrl + c, vá para o diretório .node-red
 cd .node-red 
E instalar pacotes para o nó vermelho, eles podem ser necessários para teste, configuração e comunicação de vários dispositivos.
 npm i node-red-dashboard node-red-contrib-sonos node-red-contrib-knx node-red-node-serialport node-red-contrib-globalcache node-red-contrib-counter 
Retornamos ao diretório inicial
 cd 
Instale o homekit2mqtt:
 apt install libavahi-compat-libdnssd-dev npm install -g homekit2mqtt --unsafe-perm 
Você pode tentar executar o homekit com o comando
 homekit2mqtt 

Ele começará com as configurações padrão e você pode adicionar um novo dispositivo ao programa Home no seu iPhone ou iPad
A senha 
pi deixará a atual.
Agora que tudo está instalado e verificado, você precisa fazer backup de nosso cartão SD da mesma maneira que antes. Agora tudo está pronto para instalar o sistema de automação.