O PI PIN é um pino de IA que você pode usar o dia inteiro 24 horas que registra a conversa que você tem e usa a IA generativa para resumir e fazer anotações para você.
O PI Pin é totalmente aberto e acessível, é construído em um Raspberry Pi Zero 2 W com um microfone e uma bateria.
É totalmente hackeable e você pode escrever seu próprio aplicativo nele.
O gabinete do pino PI foi projetado em torno do Raspberry Pi Zero, Microfone e Bateria para garantir (relativamente) dimensões físicas compactas.
Os eletrônicos são intencionalmente mantidos mínimos (PI, microfone, bateria, módulo de carregamento de bateria) e a maioria das peças é imprimível em 3D ou está disponível como produtos prontos para uso.
O gráfico abaixo mostra toda a fiação que você precisa para o PI PIN.
| De | Para |
|---|---|
| Interruptor de slide pino direito | PI 5V (pino 2) |
| Interruptor do interruptor do interruptor do meio | Módulo de potência 5V + |
| Módulo de potência 5V - | Pi GND (pino 6) |
| Módulo de potência 3.7V + | Bateria + |
| Módulo de potência 3.7V - | Bateria - |
| Mic Gnd | Pi GND (pino 6) |
| MIC 3V | PI 3.3V (pino 1) |
| Mic Bclk | PI PCM 18 (pino 12) |
| Mic Lrcl | PI PCM 19 (pino 35) |
| Mic Dout | PI PCM 20 (pino 38) |
Bateria:
Utilizamos uma bateria de lítio de 3,7V 600mAh 702030 com um módulo de energia como solução da bateria. O módulo de energia funciona como um controlador de carga da bateria e um conversor DC/DC em um.
Normalmente, a conexão do fio gostaria do gráfico esquerdo abaixo. Você pode conectar a bateria de 3,7V de lítio + à bateria do módulo de alimentação + e 3,7V de lítio - à bateria do módulo de alimentação - (assim como abaixo do gráfico direito).
Depois disso, você terá saída constante de 5V no módulo de potência 5V + e - .
O módulo de energia também fornece uma porta USB-C para você carregar a bateria.
Também adicionamos um interruptor de slide do painel do switch entre o módulo de potência 5V + e o cabeçalho PI 5V, o que ajuda a ligar / deslocar o sistema PIN inteiro.
Microfone:
Estamos usando o microfone Adafruit I2S MEMS como módulo de microfone, e o gráfico abaixo mostra como você conecta o microfone a um Raspberry Pi. O gráfico mostra a fiação do microfone com um grande Raspberry Pi, mas o cabeçalho GPIO é o mesmo que o Raspberry Pi Zero que usamos no pino PI.
Assembléia de casos:
Você pode encontrar peças impressas em 3D aqui (arquivos de etapa). A parte superior foi projetada em torno do zero Raspberry Pi e a parte inferior foi projetada contendo microfone, bateria, módulo de energia e chave. Todos os módulos devem se encaixar perfeitamente dentro da caixa e você também pode usar fita ou cola para estáveis.
O gráfico deixado abaixo mostra o ajuste dos módulos (sem fiação) no caso.
O gráfico deixado abaixo mostra o ajuste dos módulos (fiação) no caso.
Em seguida, você pode combinar duas partes e usar quatro parafusos M1x7mm para prendê -los.
Você precisará começar com Raspbian ou Raspbian Lite. Obtenha a versão mais recente da página de download do Raspberry Pi e siga estas instruções para instalar a imagem do sistema operacional no cartão SD.
Atualize o PI
sudo apt-get -y update
sudo apt-get -y upgradesudo pip install --upgrade adafruit-python-shell
git clone https://github.com/liltom-eth/pi-pin.git
cd pi-pin/scripts
sudo python i2smic.pyDepois de executar o script, você receberá opções de configuração.
O modelo PI deve ser detectado automaticamente.
Se você deseja que o suporte do módulo de microfone i2S seja carregado na inicialização, selecione Sim aqui. Caso contrário, você precisará instalar manualmente o módulo sempre que desejar usá -lo.
Você precisa reiniciar as configurações para entrar em vigor.
sudo rebootUse o seguinte comando para listar os dispositivos de entrada disponíveis:
arecord -lVocê deve ver uma entrada de cartão com informações semelhantes a esta:
Observe o número do cartão. Na tela acima, ele está 0 . Você pode gravar um arquivo WAV de 6 segundos em Mono com este comando (altere o parâmetro -plughw para corresponder ao número do cartão acima):
arecord -D dmic_sv -c2 -r 44100 -f S32_LE -t wav -V mono -v file.wav --duration=6Se você tem alto -falantes ligados ao PI, poderá reproduzir o arquivo diretamente no dispositivo:
aplay file.wav
Ou você pode copiá -lo para o seu computador para reprodução.
Você pode adicionar controle de volume ao seu microfone via Alsamixer e ALSA Config.
sudo apt-get install vim
vim ~ /.asoundrce coloque o seguinte:
# This section makes a reference to your I2S hardware, adjust the card name
# to what is shown in arecord -l after card x: before the name in []
# You may have to adjust channel count also but stick with default first
pcm.dmic_hw {
type hw
card sndrpii2scard
channels 2
format S32_LE
}
# This is the software volume control, it links to the hardware above and after
# saving the .asoundrc file you can type alsamixer, press F6 to select
# your I2S mic then F4 to set the recording volume and arrow up and down
# to adjust the volume
# After adjusting the volume - go for 50 percent at first, you can do
# something like
# arecord -D dmic_sv -c2 -r 48000 -f S32_LE -t wav -V mono -v myfile.wav
pcm.dmic_sv {
type softvol
slave.pcm dmic_hw
control {
name " Boost Capture Volume "
card sndrpii2scard
}
min_dB -3.0
max_dB 30.0
}Agora, antes que você possa alterar o volume, você precisa usar o dispositivo uma vez (isso é uma coisa da ALSA)
Correr:
arecord -D dmic_sv -c1 -r 48000 -f S32_LE -t wav -V mono -v file1.wav --duration=6Agora você pode executar o Alsamixer - pressione F6 e selecione a placa de som i2s
Ele reclamará que não há controles de reprodução (porque é apenas para gravação).
Pressione F4 para alternar para o modo de captura e você poderá ajustar o volume com as teclas de seta para cima/para baixo.
Às vezes ~/.asoundrc desaparece após a reinicialização, você precisa configurar raspi-config para inicializar no console, em vez de inicializar na área de trabalho.
sudo raspi-configPara gravar o áudio através de scripts Python, você precisa instalar estas dependências:
sudo apt-get install libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev
sudo pip install pyaudiopython record_on_boot.py --output_folder ./recordingEstaremos executando o Pi Zero como um vestível com uma fonte de alimentação de bateria, por isso precisamos de uma maneira de iniciar o script Python quando o zero for possível.
Crie um arquivo de serviço em /lib/systemd/system/ , por exemplo, pipin.service com o seguinte conteúdo:
sudo vim /lib/systemd/system/pipin.servicee coloque o seguinte:
Description=Record on Boot
After=sound.target alsa-state.service
[Service]
User=tom
Type=simple
ExecStart=/usr/bin/python /home/tom/projects/pi-pin/record_on_boot.py --output_folder /home/tom/projects/pi-pin/recording/
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target Altere User e ExecStart para seu próprio nome e caminho de script.
Altere a permissão do arquivo e permita que o serviço seja iniciado quando inicialize.
sudo chmod 644 /lib/systemd/system/pipin.service
sudo systemctl start pipin.service
sudo systemctl enable pipin.service Para depuração, você pode usar sudo systemctl status pipin.service para verificar o status e usar journalctl -u pipin.service para verificar o log de saída.
Para interromper manualmente o serviço, use sudo systemctl stop pipin.service .
Antes de usar o script, pode ser necessário instalar algumas dependências do cliente do OpenAI no dispositivo que você deseja obter o resumo. Estou usando meu laptop para chamar esses terminais de IA.
pip install -r requirements.txt summarize.ipynb mostra um exemplo usando OpenAI whisper for discury2Text e, em seguida, use OpenAI gpt4 para resumir a transcrição da sua conversa.
Este é um resumo que recebi quando usei o Pi-pin ouvindo uma notícia de tecnologia (a gravação de áudio pode ser encontrada ./recording/wav_2024_03_20-065147_PM.wav ).
The report discusses the significant comeback of tech conferences in the Bay Area, focusing on a particularly large event in downtown San Jose centered around artificial intelligence. Tens of thousands of attendees created a scene reminiscent of a major concert outside the SAP Center, highlighting the immense interest and investment in AI. NVIDIA's GTC convention is spotlighted as a major contributor to this momentum, drawing a crowd of around 20,000 people and significantly benefiting local businesses. NVIDIA CEO Jensen Wang spoke on the transformative impact of AI across various industries, emphasizing the computer as a crucial societal tool. The event has led to a notable economic boost for the area, with restaurants and venues experiencing high demand. This resurgence of tech conferences is likened to the phenomenon of "revenge travel" post-COVID lockdowns, indicating a strong desire within the tech community to reconnect, explore new technologies, and invest in the industry's future.
A transcrição e o resumo também podem ser encontrados em ./recording/ Pasta.