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.