Gestão de Conhecimento
Playlists de eletrônica
Playlists de programação
A maior parte da programação embarcada utiliza a linguagem C aplicada a HAL do STM32. Conhecimento da linguagem C/C++ Arduino é útil para prototipagem rápida. O sistema supervisório é escrito utilizando javascript para o frontend e backend, portanto javascript é a linguagem que deve ser o foco dos estudos. Para a formatação do site é utilizado o framework React JS, e portanto é necessário possuir conhecimento dessa tecnologia também. Além disso, os dados coletados são armazenados em um banco de dados MySQL, e familiaridade com queries SQL é bastante útil. Seguem abaixo alguns links relevantes sobre os assuntos:
Exercícios de nivelamento
Os exercícios abaixo foram escolhidos para introduzir as linguagens de programação usadas no cheetah. Para isso, utilizaramos a plataforma beecrowd (antigo URI Online Judge) para corrigir automaticamente os problemas resolvidos. Após criar a conta na plataforma, você deve resolver:
Usando C, C++ e javascript
Cada exercício deverá ser resolvido nas 3 linguagens. Utilize as funções de leitura padrão da respectiva linguagem:
Semana 1
Semana 2
Baixar e rodar o sistema supervisório
Baixar e rodar a interface de telemetria
Git
O primeiro passo para trabalhar no sistema supervisório é obter o código. É possível baixar como um .zip no github da equipe, porém isso torna difícil o controle de versionamento e a organização entre os membros. Assim, a melhor maneira é instalar o git no PC e fazer um clone do seu fork do repositório.
Linux
O jeito mais rápido de instalar o git é utilizando o gerenciador de pacotes da sua distribuição. Em sistemas baseados em debian (Ubuntu/Pop OS/Mint/Raspberry PI OS), basta executar como superusuário:
1sudo apt update && sudo apt install git
Windows
Para instalar o git no Windows, siga as instruções no site oficial: https://git-scm.com/
Criando um fork
Após criar uma conta no github, acesse a página do supervisório do cheetah: https://github.com/TelemetriaCheetah/Supervisorio Em seguida, basta clicar no botão de fork
Note
O fork é uma cópia do repositório vinculada à sua conta de usuário, e é nele que as modificações devem ser feitas. Alterar o código utilizando a conta do cheetah diretamente é uma prática que deve ser evitada ao máximo, pois impossibilita o controle do responsável por cada modificação.
Criando chaves SSH
Para enviar seu código ao github, é necessário se autenticar no site. A autenticação por usuário/senha está sendo desativada aos poucos, e deixará de funcionar em breve (Se você está lendo isto no futuro, é provável que já tenha sido desativada). Portanto, é necessário utilizar outro método de autenticação, e uma maneira simples de fazer isso é adicionando chaves SSH à sua conta do github. Para gerar um par de chaves pública/privada, abra o terminal / powershell e execute o comando:
1ssh-keygen
O par de chaves gerado é salvo por padrão na sua pasta de usuário dentro de .ssh . Dentro da pasta, abra o arquivo de chave pública (o que termina com .pub) e copie seu conteúdo. Em seguida, vá até a sua página do github e siga os passos:
Note
Caso a pasta esteja oculta, vocẽ deve habilitar a opção de visualizar arquivos ocultos no seu gerenciador de arquivos.
Abra as configurações da contas
Vá até a opção de chaves SSH e GPG
Clique em adicionar nova chave SSH
Dê um título de sua preferência e cole a chave pública copiada no campo key
Clonando o repositório
Para criar uma cópia local do seu repositório, copie o link no botão “code”, lembrando que é necessário selecionar a opção “SSH”:
Em seguida, abra o terminal / git shell (o git shell pode ser aberto clicando com o botão direito do mouse em um espaço branco dentro de uma pasta qualquer do Windows) e execute o comando:
1git clone <cole o link que você copiou aqui>
Git Commit
Após realizar as alterações no código local, é necessário enviá-las ao repositório remoto (github). Para isso, abra o terminal / git shell dentro da pasta clonada e execute os comandos:
1git add -A
2git commit -m "Escreva aqui uma mensagem breve explicando as alterações realizadas desde o último commit"
3git push origin main
Caso queira ver quais alterações fazem parte ou não do commit, use o comando
1git status
Atualizando o repositório
Para garantir que você está trabalhando na versão mais recente do código, é necessário sincronizar o seu fork com o repositório original (comumente chamado de upstream). Para isso, adicione o repositório original no seu git:
1git remote add upstream <link para repositório do cheetah>
2git fetch upstream
Feito isso, você deve executar o comando abaixo toda vez que alguma alteração for realizada por outra pessoa no repositório do Cheetah:
1git pull upstream main
Criando um pull request
Finalmente, para submeter suas alterações para o repositório upstream, basta criar um pull request clicando em “pull requests” e em seguida “criar novo pull request”. O request deve ser aprovado pelo mantenedor do repositório oficial do Cheetah.
Instalando o node
A tecnologia principal utilizada para o backend do sistema supervisório é o node.js:
Em sistemas baseados em debian (Ubuntu/Pop OS/Mint/Raspberry PI OS), basta executar como superusuário: sudo apt update && sudo apt install nodejs
Para instalar o node no Windows, siga as instruções no site oficial: https://nodejs.org/en/download/
Instalando o MySQL
Em sistemas baseados em debian (Ubuntu/Pop OS/Mint/Raspberry PI OS), basta executar como superusuário:
sudo apt update && sudo apt install apache2 mariadb-server phpmyadmin
No Windows, é possível baixar pacotes que incluem todas as ferramentas necessárias para rodar um servidor apache com MySQL/MariaDB e php em um único executável. Um exemplo recomendado é o WAMP (Windows Apache MySQL PHP) server, que pode ser baixado no link: https://www.wampserver.com/en/
Instalando Sphinx e Read the Docs
Para instalar o Sphinx é necessário ter o python 3 configurado nas variáveis de ambiente.
O Python pode ser baixado em: * Link.
Comandos:
1pip3 install sphinx
2pip3 install sphinx-rtd-theme