Índice:

ROUBAR. Assistente de notificação por telefone: 13 etapas
ROUBAR. Assistente de notificação por telefone: 13 etapas
Anonim
ROUBAR. Assistente de Notificação por Telefone
ROUBAR. Assistente de Notificação por Telefone

Por khinds10www.kevinhinds.comSiga mais pelo autor:

Sofá Indestrutível para Crianças!
Sofá Indestrutível para Crianças!
Sofá Indestrutível para Crianças!
Sofá Indestrutível para Crianças!
PCs de montagem em parede rápidos e fáceis
PCs de montagem em parede rápidos e fáceis
PCs de montagem em parede rápidos e fáceis
PCs de montagem em parede rápidos e fáceis
Tela de lareira digital
Tela de lareira digital
Tela de lareira digital
Tela de lareira digital

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

Suprimentos necessários
Suprimentos necessários
Suprimentos necessários
Suprimentos necessários
Suprimentos necessários
Suprimentos necessários
Suprimentos necessários
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

Construir e conectar o dispositivo
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 uma impressora 3D, imprima a capa, a caixa e os painéis traseiros
Usando uma impressora 3D, imprima a capa, 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

Fiação Componente
Fiação 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ô

Conectar componentes ao robô
Conectar componentes ao robô
Conectar componentes ao robô
Conectar componentes ao robô
Conectar componentes ao robô
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!

Recomendado: