--- title: Upload firmware para o Calibrador e Dicas PlatformIO description: passo a passo para instalar o PlatformIO e depois fazer o upload para o Calibrador. tags: SenseHuman, platformio, manual --- # Código da versão 1.0.0 O projeto encontra-se no Gitlab da Multicast, sendo a versão 1.0.0 neste [link](https://gitlab.com/multicast/SenseHuman/CoinHeater/-/tree/v1.0.0) Baixe o código ou faça o clone do repositório. (O melhor é baixar o código mesmo) # PlatformIO - IDE usado para o upload do firmware O [PlatformIO](https://platformio.org/) é uma plataforma para o desenvolvimento de códigos embarcados. Ele está disponível como extensão em várias IDEs ([link](https://platformio.org/platformio-ide)), escolha a melhor para você. No desenvolvimento utilizou-se o [VSCode] * Portanto, baixe o VSCode clicando em "[Get for VSCode](https://platformio.org/platformio-ide)" * Baixe o Microsoft's Visual Studio Code, clicando na opção "[Download](https://code.visualstudio.com/)" * após instalar o Visual Studio Code baixe o [PlatformIO IDE extension](https://marketplace.visualstudio.com/items?itemName=platformio.platformio-ide); * Clicar na opção "Sempre permitir" para que a extensão fique habilitada no Browser; * Clicar em Abrir no Visual Studio Code; * Clicar em "install" para instalar a extensão * Pronto!! A partir de agora a Extension PlatformIO IDE está instalada no Visual Studio Code. ## Para baixar e carregar o código * Sugiro baixar o zip com todo o projeto que está no Gitlab. Fale comigo (Sergio) que envio o arquivo "CoinHeater-v1.0.0.zip" com todos os arquivos do projeto. * Descompactar e deixar a pasta disponível * A extensão do PlatformIO no Visual Studio adiciona um toolbar no status bar (barra inferior esquerda) do VSCode conforme imagem a seguir. ![](https://i.imgur.com/4VkBcX1.jpg) * Para efetuar o carregamento é necesssário que a placa esteja conectada no modo de escrita. * Antes de conectar o cabo USB no computador é preciso pressionar o botão de upload e ficar segurando até você clicar na opção de upload. (botão pressionado) e rode-se o comando de upload, ![upload button](https://i.imgur.com/o7GFpBh.png) terceiro botão no toolbar. **OBS** Só solte o botão da placa após a escrita iniciar ![](https://i.imgur.com/ER3YeHR.png) **OBS** A escrita do projeto é feita utilizando o esptools de forma transparente para o usuário. Porém o esptools possui um bug na hora de liberar a porta após sua utilização, de forma que é necessário desconectar a porta usb e conectá-la novamente para mudar entre o modo de escrita e leitura. O modo default é de leitura, e o modo de escrita é necessário que o botão da placa esteja pressionado antes da conexão do usb e mantenha-se pressionado até o inicio da escrita. Clicar em File (open folder) e escolha a pasta do código que foi baixado do Gitlab A primeira vez vai perguntar "Do you trust the authors of the files in this folder". Marque a opção trust the clicar # Conexão da placa A placa UART deve conectar a primera fileira de entrada ao pinos da placa do SenseHuman como demonstrado nas figuras abaixo: ![](https://i.imgur.com/LKMKBhC.png) ![](https://i.imgur.com/oqEG4cj.png) # Dicas sobre o PlatformIO ## Start a new project Open PlatformIO home by the status bar icon and start a new project ![](https://i.imgur.com/e6fQQDB.png) Choose a name to your project, the **NodeMCU 1.0** board, and the framework will be setted by default to Arduino ![](https://i.imgur.com/zcd4Vkc.png) *The project creation can take a while if its your first project, please be patiente* ## Add Libraries Configure your libraries dependancies in the platformio.ini file ![](https://i.imgur.com/D9RDoHx.png) **Note the space\tab before the lib name** define 1 lib per line and don't forget the space from the line start. You can define your libs throw name, id, or git url Exemple: >lib_deps = 13 PubSubClient ArduinoJson@~5.13,!=5.4 https://github.com/gioblu/PJON.git#v2.0 me-no-dev/ESPAsyncTCP IRremoteESP8266=https://github.com/markszabo/IRremoteESP8266/archive/master.zip *See more details int the docs:* [http://docs.platformio.org/en/latest/projectconf/section_env_library.html#lib-deps](http://docs.platformio.org/en/latest/projectconf/section_env_library.html#lib-deps) ## Run it! Now add some code and upload it! In the status bar you can compile your code ![](https://i.imgur.com/LtdXZmh.png), upload it ![](https://i.imgur.com/o7GFpBh.png) and open the serial monitor ![](https://i.imgur.com/itnaXBV.png) When uploading the code, it automatically compile your code and change to serial monitor task (if its alread open in another terminal). https://gitlab.com/multicast/SenseHuman/CoinHeater ![](https://i.imgur.com/z8R2cnn.png)