Índice:
- Etapa 1: Flashing RaspberriPi Hard Disk / Instalar software necessário (usando Ubuntu Linux)
- Etapa 2: suprimentos necessários
- Etapa 3: construir e conectar o dispositivo
- Etapa 4: usando uma impressora 3D, imprima a tampa, a caixa e os painéis traseiros
- Etapa 5: Fiação do componente
- Etapa 6: conectar componentes ao robô
- Etapa 7: Verifique a configuração I2C
- Etapa 8: Instalação do DHT11
- Etapa 9: Clonar Repositório
- Etapa 10: Adicionar API Pushbullet (usando Python 3.5)
- Etapa 11: adicionar o script para iniciar na inicialização do painel e reiniciar seu painel Pi
- Etapa 12: OPCIONAL: criando suas próprias imagens Nintendo para renderizar na tela
- Etapa 13: Concluído
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Por khinds10www.kevinhinds.comSiga mais pelo autor:
Sobre: impressão 3D e criação de projetos RaspberryPI há alguns anos Mais sobre khinds10 »
Desktop Phone Notification Assistant apresentando (R. O. B.) Robotic Operating Buddy
Etapa 1: Flashing RaspberriPi Hard Disk / Instalar software necessário (usando Ubuntu Linux)
Crie seu novo disco rígido para o DashboardPI
Insira o microSD em seu computador via adaptador USB e crie a imagem de disco usando o comando dd
Localize o cartão microSD inserido por meio do comando df -h, desmonte-o e crie a imagem de disco com o comando disk copy dd
$ df -h / dev / sdb1 7,4G 32K 7,4G 1% / media / XXX / 1234-5678
$ umount / dev / sdb1
Cuidado: certifique-se de que o comando é totalmente preciso, você pode danificar outros discos com este comando
if = localização do arquivo de imagem RASPBIAN JESSIE LITE de = localização do seu cartão microSD
$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img de = / dev / sdb (nota: neste caso, é / dev / sdb, / dev / sdb1 era uma partição de fábrica existente no microSD)
Configurando seu RaspberriPi
Insira seu novo cartão microSD no raspberrypi e ligue-o com um monitor conectado à porta HDMI
Conecte-se
usuário: pi pass: framboesa
Altere a senha da sua conta para segurança
sudo passwd pi
Ativar opções avançadas do RaspberriPi
sudo raspi-config
Escolher:
1 Expanda o sistema de arquivos
9 opções avançadas
Nome do host A2 altere-o para "RobbieAssistant"
SSH A4 Habilitar Servidor SSH
A7 I2C Habilitar interface i2c
Habilite o teclado inglês / americano
sudo nano / etc / default / keyboard
Altere a seguinte linha: XKBLAYOUT = "us"
Reinicialize o PI para alterações de layout do teclado / redimensionamento do sistema de arquivos para entrar em vigor
$ sudo shutdown -r now
Auto-conectar ao seu WiFi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Adicione as seguintes linhas para que o raspberrypi se conecte automaticamente ao WiFi doméstico (se a sua rede sem fio se chamar "linksys", por exemplo, no exemplo a seguir)
network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Reinicialize o PI para se conectar à rede WiFi
$ sudo shutdown -r now
Agora que seu PI está finalmente na rede local, você pode fazer login remotamente nele via SSH. Mas primeiro você precisa obter o endereço IP que possui atualmente.
$ ifconfig Procure por "inet addr: 192.168. XXX. XXX" na seguinte saída de comando para o endereço IP do seu PI
Vá para outra máquina e faça login no seu raspberrypi via ssh
$ ssh [email protected]. XXX. XXX
Comece a instalar os pacotes necessários
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential tk-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libncurses5-dev libncursesw5-dev libreadline6-dev python3-pip python3-requisições python3-setuptools python3-urllib python3-urllib3 python3-requisições vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3 python3-pip vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip python -gpiozero python-psutil xz-utils
Solicitações de instalação de $ sudo pip
Atualize as configurações de fuso horário local
$ sudo dpkg-reconfigure tzdata
selecione seu fuso horário usando a interface
Configure o diretório simples l comando [opcional]
vi ~ /.bashrc
adicione a seguinte linha:
alias l = 'ls -lh'
fonte ~ /.bashrc
Corrigir o realce de sintaxe padrão do VIM [opcional]
sudo vi / etc / vim / vimrc
descomente a seguinte linha:
sintaxe em
crie a pasta de logs para o aplicativo executar mkdir / home / pi / RobbieAssistant / logs
chmod 777 / home / pi / RobbieAssistant / logs
Configure o aplicativo para executar corretamente no arquivo de configuração settings.py Encontre o arquivo settings-shadow.py na pasta / includes / do projeto e copie-o para settings.py e ajuste as suas configurações atuais
# forecast.io Chave de API para informações sobre o clima local
weatherAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = 'SUA CHAVE API PARA FORECAST. IO'
# opcional para executar o registrador remoto de temperatura / umidade
dashboardServer = 'mydevicelogger.com'
# search google para obter a latitude / longitude do local da sua casa
latitude = 41.4552578
longitude = -72,1665444
Etapa 2: suprimentos necessários
RaspberriPi Zero
DHT11 Humidistat
Luzes LED (x4) Verde / Amarelo / Azul / Vermelho Visor Digole de 2,6"
Etapa 3: construir e conectar o dispositivo
Prepare o Digole Display para i2C
Na parte de trás do monitor Digole, solde o jumper para atribuir o monitor para usar o protocolo i2c
Etapa 4: usando uma impressora 3D, imprima a tampa, a caixa e os painéis traseiros
Usando os seguintes arquivos X STL na pasta 3DPrint, R. O. B. Robô, arnês de LED e suporte para display
buttonContainer-base.stl
buttonContainer-lid.stl
displaymount-final.stl
led-harness-final.stl
MiniNintendoROB.zip
Robô Impresso por: Mini Nintendo R. O. B. - por RabbitEngineering
www.thingiverse.com/thing:1494964
Usei fita vermelha para tornar os olhos vermelhos com o fundo preto do visor
Etapa 5: Fiação do componente
Display Digole
GND -> GND
DADOS -> SDA
CLK -> SCL
VCC -> 3V
DHT11 Humidistat
VCC -> 5V
GND -> GND
DADOS -> GPIO 25
Resistor AZUL
VCC -> GPIO 17 (com resistor de 270ohm)
GND -> GND
Resistor AMARELO
VCC -> GPIO 13 (com resistor 270ohm)
GND -> GND
Resistor VERDE
VCC -> GPIO 6 (com resistor de 270ohm)
GND -> GND
Resistor VERMELHO
VCC -> GPIO 12 (com resistor 270ohm)
GND -> GND
Botão Momentâneo VERMELHO
VCC -> GPIO 16 (com resistor 270ohm)
GND -> GND
Botão momentâneo AZUL
VCC -> GPIO 26 (com resistor 270ohm)
GND -> GND
Etapa 6: conectar componentes ao robô
Depois de imprimir o suporte da tela, conecte-o ao visor digole
Conecte o Display ao RPi com fiação suficiente para colar o RPi na parte de trás do robô
Imprima o controlador e conecte os botões com fiação suficiente para chegar à parte de trás do robô
Conclua a fiação e montagem do robô com o RPi conectado na parte traseira e o DHT11 colado na parte inferior
Etapa 7: Verifique a configuração I2C
Inicie o RaspberryPi e certifique-se de que o barramento I2C reconhece todos os monitores de segmento 7/14 conectados. [cada monitor recebe um endereço exclusivo descrito acima pela forma como você solda os jumpers de cada monitor em diferentes combinações]
Se você tiver o monitor com o jumper soldado corretamente, deverá ter a seguinte saída para o comando i2cdetect:
sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: - - - - - - - - - - - - - -
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Etapa 8: Instalação do DHT11
$ cd ~
$ git clone
$ cd Adafruit_Python_DHT /
$ sudo python setup.py install
$ sudo python ez_setup.py
exemplos de $ cd /
$ vi simpletest.py Altere a seguinte linha:
sensor = Adafruit_DHT. DHT11
Comente a linha
pin = 'P8_11'
Remova o comentário da linha e altere o número PIN para 16
pin = 25
Execute o teste
python simpletest.py
Você deve ver uma leitura métrica de Temp e Umidade exibida na linha de comando.
Etapa 9: Clonar Repositório
$ cd ~ $ git clone
Etapa 10: Adicionar API Pushbullet (usando Python 3.5)
Usando o aplicativo pushbullet para o seu telefone, inscreva-se para receber uma chave de API para que um script python simples seja capaz de capturar e enviar notificações de hub de dados e sinalizadores indicadores
Instale Python 3.5 para funcionalidade assíncrona
$ sudo apt-get update sudo apt-get install build-essencial tk-dev sudo apt-get install libncurses5-dev libncursesw5-dev libreadline6-dev sudo apt-get install libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev sudo apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev Se um dos pacotes não puder ser encontrado, tente um número de versão mais recente (por exemplo, libdb5.4-dev ao invés de libdb5.3-dev).
$ wget https://www.python.org/ftp/python/3.5.2/Python-3…. tar zxvf Python-3.5.2.tgz cd Python-3.5.2./configure --prefix = / usr / local / opt / python-3.5.2 make sudo make install sudo ln -s / usr / local / opt / python -3.5.2 / bin / pydoc3.5 /usr/bin/pydoc3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/python3.5 /usr/bin/python3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/python3.5m /usr/bin/python3.5m sudo ln -s /usr/local/opt/python-3.5.2/bin/pyvenv-3.5 /usr/bin/pyvenv-3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/pip3.5 /usr/bin/pip3.5 cd ~ echo 'alias python35 = "/ usr / local /opt/python-3.5.2/bin/python3.5 "'>>.bashrc echo' alias idle35 =" / usr / local / opt / python-3.5.2 / bin / python3.5 "'>>.bashrc Instale as dependências do python3
$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 install solicitações Forma opcional Baixe o repositório python diretamente para obter as dependências python sem o uso de pip instalá-lo
git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Visite a página de configurações do pushbullet em sua conta para gerar um Chave API para usar
Configure seu script pushbullet-listener.py para ter a API correta e o host central do painel
# sua chave de API de PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"
# dashboard central server host dashboardServer = 'MY-SERVER-HERE.com'
Etapa 11: adicionar o script para iniciar na inicialização do painel e reiniciar seu painel Pi
$ crontab -e
@reboot nohup /usr/local/opt/python-3.5.2/bin/python3.5 /home/pi/PushBullet/pushbullet-listener.py> / dev / null 2> & 1
@reboot nohup /usr/local/opt/python-3.5.3/bin/python3.5 /home/pi/RobbieAssistant/PushBullet/pushbullet-listener.py> / dev / null 2> & 1
@reboot nohup python /home/pi/RobbieAssistant/Robbie.py> / dev / null 2> & 1
@reboot nohup python /home/pi/RobbieAssistant/Temp.py> / dev / null 2> & 1
@reboot nohup python /home/pi/RobbieAssistant/Weather.py> / dev / null 2> & 1
Etapa 12: OPCIONAL: criando suas próprias imagens Nintendo para renderizar na tela
Faça upload do seu próprio arquivo 128x128 para o seguinte URL:
www.digole.com/tools/PicturetoC_Hex_converter.php
Escolha o arquivo de imagem para fazer o upload, adicione o tamanho que deseja que fique na tela (largura / altura)
Selecione "256 cores para OLED / LCD colorido (1 byte / pixel)" no menu suspenso "Usado para"
Obtenha a saída hexadecimal.
Adicione a saída hexadecimal a um arquivo display / build / header (.h), use os outros como guias de sintaxe.
Incluir o novo arquivo no arquivo digole.c #include myimage.h
Inclua um novo gancho de linha de comando em seu arquivo de imagem no. Nota: o comando abaixo está dizendo para desenhar sua imagem na posição 10 pixels sobre 10 pixels para baixo. Você pode alterá-lo para diferentes coordenadas X, Y, você também pode alterar os valores 128, 128 para qualquer tamanho que sua nova imagem realmente tenha.
} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere é definido em seu arquivo (.h)}
Agora reconstrua (ignore os erros) abaixo para que sua nova imagem seja renderizada com o seguinte comando.
$./digole myimage
Re-construção do driver de vídeo Digole [Incluído] para suas alterações opcionais
$ cd display / build
$ gcc digole.c
$ mv a.out../../digole
$ chmod + x../../digole
Etapa 13: Concluído
Voce terminou!