---
# System prepended metadata

title: Upload firmware para o Calibrador e Dicas PlatformIO
tags: [' platformio', SenseHuman, ' manual']

---

---
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)
