segunda-feira, 31 de dezembro de 2018

Tomu-um pequeno microprocessador ARM que cabe na sua porta USB. Eu tenho dois botões e dois LEDs!

Tomu, eu sou Eu sou o Tomu , um pequeno microprocessador ARM que cabe na sua porta USB. Eu tenho dois botões e dois LEDs! Eu sou totalmente open source e sou edificável por amadores! Projetado para autenticação de dois fatores, experimentos usb ou qualquer outra coisa que você possa imaginar. Eu também estou disponível no Crowd Supply , totalmente montado e testado. Começando! Tem um Tomu? Ótimo! Para um início rápido rápido, confira o repositório Tomu Quickstart . Tudo que você precisa é make , um compilador e dfu-util . Mais informações sobre o repositório Quickstart, incluindo links para amostras pré-compiladas, estão disponíveis na página de exemplos de início rápido . Se você está construindo uma do zero, você precisará de um case e um bootloader. Para mais informações, continue a ler! Caso Como o Tomu se encaixa totalmente dentro da sua porta USB, você precisa de algo para evitar que ele caia. Os primeiros protótipos da Tomu foram implementados usando um cartão de visita dobrado e entalado na porta USB, mas versões mais recentes têm suporte para estojos impressos em 3D. Se você tiver uma impressora 3D, baixe o arquivo .stl para a versão do Tomu que você possui. O número da versão é impresso na parte inferior com as grandes conexões USB. Dependendo da espessura do seu PCB, você pode precisar ajustar o arquivo do FreeCAD. Bootloader Existem dois tipos de bootloaders para Tomu: Serial e DFU. Se você adquiriu sua placa da Crowd Supply ou a atualizou usando o gabarito de teste na LCA 2018, ou se os LEDs piscam em vermelho / verde quando você a conecta, então você tem DFU. Caso contrário, você tem Serial. Carregador de Inicialização Serial (Legado) O bootloader serial é da SiLabs e é conhecido como AN0042 . Para usar o bootloader serial, os usuários do Windows precisarão instalar o Silabs-CDC_Install.zip, por exemplo, do M-Pression . Usuários de Linux e MacOS não precisam usar nenhum driver especial. O dispositivo aparecerá como algo como / dev / ttyUSB0. Digite o bootloader. As placas v0.2 exigem que você conecte o pino C ao Vcc. placas v0.3 sempre entram no bootloader Conecte um terminal. TeraTerm no Windows é uma boa escolha tela funciona no Linux e no macOS Interaja com o bootloader enviando comandos de um caractere: eu - mostro a versão do bootloader u - carregue um novo programa - envie o binário usando o XMODEM b - inicializa o programa atual Note que o comando 'd' irá deletar o bootloader, então use com cuidado !!! Toboot (bootloader DFU) O nome do bootloader do DFU é Toboot . DFU é um padrão USB para atualização de firmware em um dispositivo. O programa canônico para usar é o dfu-util, que está na maioria das distribuições Linux. Quando Tomu está no modo Bootloader, ele pisca em vermelho / verde e aparece quando você executa o dfu-util -l . Modo Toboot DFU A versão 1.0 do Toboot executará automaticamente um programa, se houver algum . Isso significa que, depois de carregar o programa Amostra, o Toboot sempre executará o programa de amostra. Para voltar ao Toboot, você precisará conectar os dois botões capacitivos ao aplicar energia. Pinças são úteis aqui. Uma versão futura do Toboot terá um “modo de desenvolvedor” que fará com que ele sempre inicialize no modo DFU. Para carregar um programa, execute dfu-util -D [program].bin . Toboot piscará o novo programa no seu Tomu e reinicializará. Não se preocupe se você piscar o arquivo errado, ou piscar um programa inválido - Toboot irá detectar isso e reiniciar no modo DFU se o arquivo que você piscar não for executado. Voltar nos! Tomu é crowdfunding na Crowd Supply ! Conhecemos os seguintes objetivos estendidos e seu desenvolvimento já está em andamento: Bootloader compatível com DFU Nós gostaríamos de um bootloader que saísse do caminho e permitisse que você executasse seu aplicativo normal sem precisar estourar o pino C todas as vezes. Também gostaríamos de não exigir drivers, ou acesso de superusuário, ou ter que lidar com outros programas pensando que Tomu é um GPS ou modem (a menos que esteja se comportando como um). Essas são todas as deficiências que o bootloader atual sofre. Bastantes pessoas apoiaram Tomu para desenvolvermos um bootloader DFU inicial que atende a todos esses objetivos. Embora a versão inicial esteja pronta, ela tem algumas rugas que pretendemos resolver antes do envio. Caixa de plástico moldada por injeção Tomu é minúsculo e cabe totalmente dentro da sua porta USB. As portas USB possuem proteções de metal ao redor delas, então Tomu exige um gabinete para encaixar perfeitamente dentro da porta e para proteger os componentes contra curto-circuito no escudo. A solução atual é imprimir em 3D o seu próprio caso. Desde que atingimos essa meta, reformulamos a placa e começamos a trabalhar em uma ferramenta de aço para moldar por injeção uma caixa de plástico. Firmware U2F / FIDO O GNU Chopstx foi portado para o Tomu, completo com suporte a U2F. Isso significa que você pode usar o Tomu como qualquer símbolo do U2F para adicionar um segundo fator de autenticação ao fazer login. O Chrome oferece suporte ao U2F de forma nativa e o Firefox o suporta por meio de um sinalizador (e o suportará integralmente em alguns meses) Fonte A fonte do firmware do U2F está localizada no Github em im-tomu / chopstx / u2f . Construção Para construir o firmware do U2F, certifique-se de ter um compilador ARM instalado (por exemplo, sudo apt install gcc-arm-none-eabi ), bem como pip Python (por exemplo, pip install --user --upgrade asn1crypto ) e execute: pip install --user --upgrade asn1crypto git clone https://github.com/im-tomu/chopstx.git tomu-u2f cd tomu-u2f/u2f make Carregando no Tomu O sistema de compilação produz um arquivo de saída build / u2f.bin. Carregue este arquivo para o Tomu. Se estiver usando o bootloader serial, digite u e envie o arquivo usando o XMODEM Se estiver usando o carregador de inicialização DFU, reinicialize no modo DFU e execute dfu-util -D build/u2f.bin Atualizando regras do udev Nos sistemas baseados em Linux, você precisará atualizar sua entrada em /etc/udev/rules.d/10-tomu.rules (ou criá-la, se ainda não tiver feito isso) para refletir o novo produto e os IDs de fornecedor para que você ' Você terá permissões para o dispositivo. ACTION=="add|change", KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="cdab", TAG+="uaccess" Gerando chaves privadas em uma máquina host Durante uma atualização de firmware, sua chave privada do U2F será apagada do Tomu. Isso significa que você não poderá mais usá-lo para fazer login em sites. Isso pode ser aliviado, gerando sua chave privada em uma máquina host e empurrando-os em seu Tomu. Apresentações Ajude-nos! Estes são atualmente os principais itens que precisam ser feitos relacionados ao Tomu. Se você ajudar, @mithro provavelmente lhe enviará um dispositivo Tomu! Criando (ou portando) uma pilha USB FOSS para EFM32HG Para facilitar o desenvolvimento de novas aplicações para o Tomu, precisamos de uma boa pilha USB compatível com o EFM32HG. Existem algumas opções possíveis: Portando LUFA - Parece que alguém já iniciou a série EFM32, mas não o EFM32HG. Port ChibiOS Outras opções? Emulação QEmu do EFM32HG Repo Código Gostaríamos de ter uma boa emulação dos recursos do processador EFM32HG309 para que as pessoas possam escrever software para a placa sem precisar ter o hardware. A maior parte disso é a emulação da pilha USB. ./im-tomu.github.io site tomu.im Contato Lista de discussão de anúncios - Lista de baixo tráfego para anúncios. Lista de discussão de discussão - Lista para discutir desenvolvimento / novos recursos / etc. Canal de IRC - irc: //irc.freenode.net/#tomu - canal de IRC para discutir qualquer coisa relacionada ao projeto. Tomu Hardware Construído a partir de uma peça impressa em 3D + PCB “fina” de 2 camadas (0,4 mm, 0,6 mm ou 0,8 mm de espessura). Placas têm: Traços de 6mil 6mil folga Broca de 0,3 mm / vias de 0,6 mm Todas as placas do Tomu possuem: Pelo menos 2 LEDs de cor diferentes Pelo menos 2 botões de toque Tomu Status : Hardware completo, firmware simples e intermitente funcionando. Precisa de firmware adequado. Repositório GitHub Especificações Usa um Silicon Labs Happy Gecko EFM32HG309 25MHz ARM Cortex-M0 + 8kb ^ RAM 64kb ^ Flash USB 2.0 FS e LS Literalmente 12 partes Gerber v0.2 O importante é que você precisa de uma PCB com espessura de 0,8 mm ou menos . A espessura padrão é normalmente 1,0 mm e 1,0 mm é muito espessa . Estes gerbers devem ser possíveis com os seguintes fabricantes: (Testado) DirtyPCB (Testado) Seeed Studio (Testado) Park OSH - 2 Camadas 2oz 0.8mm Serviço Licença O hardware Tomu está sob sua escolha: a “Licença Internacional Creative Commons Attribution-ShareAlike 4.0” (CC BY-SA 4.0) texto completo desta licença está incluído no arquivo LICENSE e uma cópia também pode ser encontrada em http://creativecommons.org/licenses/by-sa /4.0/ o texto completo da “Licença de Hardware Aberta TAPR” desta licença está incluído no arquivo LICENSE e uma cópia também pode ser encontrada em http://www.tapr.org/OHL Software para Tomu está sob várias licenças, por favor consulte a licença incluída com o código. Certificação de Hardware Open Source AU0000001 Fonte: https://tomu.im/?fbclid=IwAR0JQqugJ_FqnVuZW4s3JYx8e-kL3bfQdg5fC-wu5EpE-83yFmBdIaHpgYU

Nenhum comentário:

Postar um comentário