├── LICENSE ├── README.md ├── arduino.png ├── icons ├── 128x128 │ └── apps │ │ └── arduino.png ├── 16x16 │ └── apps │ │ └── arduino.png ├── 24x24 │ └── apps │ │ └── arduino.png ├── 256x256 │ └── apps │ │ └── arduino.png ├── 32x32 │ └── apps │ │ └── arduino.png ├── 48x48 │ └── apps │ │ └── arduino.png ├── 64x64 │ └── apps │ │ └── arduino.png ├── 72x72 │ └── apps │ │ └── arduino.png └── 96x96 │ └── apps │ └── arduino.png ├── install18.sh ├── install20.sh ├── install21.sh ├── install22.sh └── shortcut └── arduino-ide.desktop /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Robson Vaamonde 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Curso GRÁTIS de Arduino IDE, Cli, Cloud e Web Editor no Linux Mint 20.x e 21.x 2 | 3 | ## 💰 Ajude o projeto Bora para Prática a continuar fazendo vídeos e materiais gratuitos para o Canal do YouTUBE 4 | ## 💰 Chave PIX do projeto: robsonvaamonde@gmail.com 5 | ## 💰 Link de doação do PagSeguro: https://pag.ae/bjlSJcH 6 | ## 💰 Link de doação do Paypal: https://www.paypal.com/donate/?hosted_button_id=EALLB7DQ3U6H2 7 | 8 | Robson Vaamonde
9 | Procedimentos em TI: http://procedimentosemti.com.br
10 | Bora para Prática: http://boraparapratica.com.br
11 | Robson Vaamonde: http://vaamonde.com.br
12 | Facebook Procedimentos em TI: https://www.facebook.com/ProcedimentosEmTi
13 | Facebook Bora para Prática: https://www.facebook.com/boraparapratica
14 | Instagram Procedimentos em TI: https://www.instagram.com/procedimentoem
15 | YouTUBE Bora Para Prática: https://www.youtube.com/boraparapratica
16 | Linkedin Robson Vaamonde: https://www.linkedin.com/in/robson-vaamonde-0b029028/
17 | Github Procedimentos em TI: https://github.com/vaamonde
18 | 19 | ## **Links Oficiais do Arduino IDE e Linux Mint:** 20 | Site do Arduino: https://www.arduino.cc/
21 | Github do Arduino: https://github.com/arduino
22 | Site do Linux Mint: https://www.linuxmint.com/​
23 | 24 | ## **Playlist do YouTUBE com todos os Vídeos do Arduino IDE no Linux Mint 20.x e 21.x:** 25 | Link da Playlist: https://www.youtube.com/playlist?list=PLozhsZB1lLUO6rSiDjyoc5nIlF99-ampo 26 | 27 | ![Arduino](arduino.png) 28 | 29 | ## **COMO instalar o Arduino IDE 2.0, Arduino Cli e Arduino Cloud no Linux Mint 20.3 Una x64** 30 | 31 | Vídeo mostrando os procedimentos para instalar e configurar o Arduino IDE 2.0, Arduino Cli, Arduino Agent Cloud e o Fritzing o Linux Mint 20.3 Una. 32 | 33 | Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. 34 | 35 | Arduino Integrated Development Environment IDE é uma aplicação de plataforma cruzada, escrito em funções de C e C ++. É usado para escrever e fazer upload de programas em placas compatíveis com Arduino, mas também, com a ajuda de núcleos de terceiros, outras placas de desenvolvimento de fornecedores. 36 | 37 | A nova versão principal do IDE do Arduino é mais rápida e ainda mais poderosa! Além de um editor mais moderno e uma interface mais ágil, possui preenchimento automático, navegação de código e até mesmo um depurador ao vivo. 38 | 39 | Aplicação Arduino CLI (Interface de Linha de Comando). A solução tudo-em-um para codificar, compilar e fazer upload de códigos para suas placas Arduino usando o prompt de comando (Windows) e o Terminal (Linux e MAC). 40 | 41 | O Arduino Create é uma plataforma online que permite que makers e desenvolvedores possam compartilhar códigos/projetos, configurar suas placas, usar a IDE online, conectar dispositivos na Arduino Iot Cloud, acessar tutoriais, e várias outras funcionalidades! 42 | 43 | O Fritzing é uma iniciativa de código aberto para desenvolver um software tipo CAD amador para design de hardware eletrônico, para apoiar designers e artistas prontos para deixar de experimentar um protótipo e construir um circuito mais permanente com uma Placa de Circuito Impresso. 44 | 45 | Site Oficial do Arduino IDE: https://www.arduino.cc/
46 | Projeto do Github do Arduino IDE 2.x: https://github.com/arduino/arduino-ide
47 | Site Oficial do Arduino Web Editor: https://create.arduino.cc/getting-started/plugin/welcome
48 | Site Oficial do Fritzing: https://fritzing.org/ 49 | 50 | [![Arduino IDE RC9.2](http://img.youtube.com/vi/ByK8ADwI2mY/0.jpg)](https://www.youtube.com/watch?v=ByK8ADwI2mY "Arduino IDE RC9.2") 51 | 52 | Link da vídeo aula: https://www.youtube.com/watch?v=ByK8ADwI2mY 53 | 54 | Script utilizado nesse vídeo: https://github.com/vaamonde/arduino/blob/main/install20.sh 55 | 56 | ## **INSTALAÇÃO do Arduino IDE 2.0.0 BETA no Linux Mint 20.2 Uma x64 Bits** 57 | 58 | Vídeo mostrando os procedimentos básicos para instalar a versão do Arduino IDE v2.0.x BETA no Linux Mint 20.2 Uma x64 Bits 59 | 60 | Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por principiantes e profissionais. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e ferramentas mais complicadas. 61 | 62 | A nova versão principal da IDE do Arduino v2.0.0-11 BETA é mais rápida e ainda mais poderosa! Além de um editor mais moderno e uma interface mais ágil, possui preenchimento automático, navegação de código e até mesmo um depurador ao vivo. 63 | 64 | Site Oficial do Arduino IDE: https://www.arduino.cc/
65 | Github Oficial do Arduino IDE 2.0 BETA: https://github.com/arduino/arduino-ide
66 | Site Oficial do Fritzing: https://fritzing.org/ 67 | 68 | [![Arduino IDE 2.0](http://img.youtube.com/vi/0K0Fg_WnO9s/0.jpg)](https://www.youtube.com/watch?v=0K0Fg_WnO9s "Arduino IDE 2.0") 69 | 70 | Link da vídeo aula: https://www.youtube.com/watch?v=0K0Fg_WnO9s 71 | 72 | Script utilizado nesse vídeo: https://github.com/vaamonde/arduino/blob/main/install20.sh 73 | 74 | ## **INSTALAÇÃO do Arduino IDE no Linux Mint 20.2 Uma x64 Bits** 75 | 76 | Vídeo mostrando os procedimentos básicos para instalar a versão do Arduino IDE v1.8.x no Linux Mint 20.2 Uma x64 Bits 77 | 78 | Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por principiantes e profissionais. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e ferramentas mais complicadas. 79 | 80 | Site Oficial do Arduino IDE: https://www.arduino.cc/
81 | Site Oficial do BlocklyDuino IDE Plugin: https://github.com/BlocklyDuino/BlocklyDuino_IDE_plugin
82 | Site Oficial do Fritzing: https://fritzing.org/ 83 | 84 | [![Arduino IDE](http://img.youtube.com/vi/n9cRUE3io-Q/0.jpg)](https://www.youtube.com/watch?v=n9cRUE3io-Q "Arduino IDE") 85 | 86 | Link da vídeo aula: https://www.youtube.com/watch?v=n9cRUE3io-Q 87 | 88 | Script utilizado nesse vídeo: https://github.com/vaamonde/arduino/blob/main/install-20.sh -------------------------------------------------------------------------------- /arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/arduino.png -------------------------------------------------------------------------------- /icons/128x128/apps/arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/128x128/apps/arduino.png -------------------------------------------------------------------------------- /icons/16x16/apps/arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/16x16/apps/arduino.png -------------------------------------------------------------------------------- /icons/24x24/apps/arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/24x24/apps/arduino.png -------------------------------------------------------------------------------- /icons/256x256/apps/arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/256x256/apps/arduino.png -------------------------------------------------------------------------------- /icons/32x32/apps/arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/32x32/apps/arduino.png -------------------------------------------------------------------------------- /icons/48x48/apps/arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/48x48/apps/arduino.png -------------------------------------------------------------------------------- /icons/64x64/apps/arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/64x64/apps/arduino.png -------------------------------------------------------------------------------- /icons/72x72/apps/arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/72x72/apps/arduino.png -------------------------------------------------------------------------------- /icons/96x96/apps/arduino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/96x96/apps/arduino.png -------------------------------------------------------------------------------- /install18.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Autor: Robson Vaamonde 3 | # Site: www.procedimentosemti.com.br 4 | # Facebook: facebook.com/ProcedimentosEmTI 5 | # Facebook: facebook.com/BoraParaPratica 6 | # YouTube: youtube.com/BoraParaPratica 7 | # Data de criação: 23/01/2021 8 | # Data de atualização: 15/08/2022 9 | # Versão: 0.11 10 | # Testado e homologado para a versão do Linux Mint 20.1 Ulyssa, 20.2 Uma, 203. Una x64 11 | # Testado e homologado para a versão do Arduino IDE v1.8.x, BlockDuino e Fritzing v0.9.x 12 | # 13 | # Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, 14 | # projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma 15 | # linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. 16 | # 17 | # Arduino Integrated Development Environment IDE é uma aplicação de plataforma cruzada, 18 | # escrito em funções de C e C ++. É usado para escrever e fazer upload de programas em 19 | # placas compatíveis com Arduino, mas também, com a ajuda de núcleos de terceiros, outras 20 | # placas de desenvolvimento de fornecedores. 21 | # 22 | # O BlocklyDuino é um editor de programação visual baseado na web para Arduino. BlocklyDuino 23 | # é baseado no Blockly, o editor de programação gráfica baseado na web. Fornece blocos de 24 | # linguagem de tipo estático e geradores de código para programação em Arduino. O BlocklyDuino 25 | # também oferece suporte aos blocos Grove para iniciar facilmente a experimentação e o 26 | # aprendizado baseados em microcontroladores. 27 | # 28 | # O Fritzing é uma iniciativa de código aberto para desenvolver um software tipo CAD amador 29 | # para design de hardware eletrônico, para apoiar designers e artistas prontos para deixar 30 | # de experimentar um protótipo e construir um circuito mais permanente com uma Placa de 31 | # Circuito Impresso. 32 | # 33 | # Site Oficial do Arduino IDE: https://www.arduino.cc/ 34 | # Site Oficial do BlocklyDuino IDE Plugin: https://github.com/BlocklyDuino/BlocklyDuino_IDE_plugin 35 | # Site Oficial do Fritzing: https://fritzing.org/ 36 | # 37 | # Testando o Arduino: 38 | # 01. Arquivo 39 | # Exemplos 40 | # Exemplos embutidos 41 | # 01 Basics 42 | # Blink 43 | # 44 | # 02. Ferramentas 45 | # Placa 46 | # Gerenciador de Placas 47 | # Arduino Uno 48 | # Porta 49 | # Portas Seriais 50 | # /dev/tty/ACM0 51 | #-> Carregar 52 | # 53 | # Variável da Data Inicial para calcular o tempo de execução do script (VARIÁVEL MELHORADA) 54 | # opção do comando date: +%T (Time) 55 | HORAINICIAL=$(date +%T) 56 | # 57 | # Variável do usuário local que vai executar o Arduino IDE 58 | # opção da variável de ambiente USER: usuário atual logado no sistema 59 | USUARIO=$(echo $USER) 60 | # 61 | # Variável do caminho do Log dos Script utilizado nesse curso (VARIÁVEL MELHORADA) 62 | # opção do shell script: piper | = Conecta a saída padrão com a entrada padrão de outro comando 63 | # opção do shell script: aspas simples ' ' = Protege uma string completamente (nenhum caractere é especial) 64 | # opção do shell script: aspas duplas " " = Protege uma string, mas reconhece $, \ e ` como especiais 65 | # opções do comando cut: -d (delimiter), -f (fields) 66 | # opção da variável de ambiente $0: nome do comando ou script digitado 67 | LOG="$HOME/$(echo $0 | cut -d'/' -f2)" 68 | # 69 | # Declarando as variáveis de download do Arduino IDE, BlocklyDuino e do Fritzing (Links atualizados no dia 10/06/2022) 70 | ARDUINO="https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz" 71 | BLOCKLYDUINO="https://github.com/BlocklyDuino/BlocklyDuino_IDE_plugin" 72 | FRITZING="https://github.com/fritzing/fritzing-parts.git" 73 | # 74 | # Script de instalação do Arduino IDE, BlocklyDuino e do Fritzing no Linux Mint 20.1 Ulyssa e 20.2 Uma 75 | # opção do comando echo: -e (enable interpretation of backslash escapes), \n (new line) 76 | # $0 (variável de ambiente do nome do comando) 77 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60) 78 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 79 | echo -e "Início do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG 80 | clear 81 | # 82 | echo 83 | echo -e "Instalação do Arduino IDE, BlocklyDuino e do Fritzing no Linux Mint 20.x\n" 84 | echo -e "Após a instalação do Arduino IDE digitar no console ou localizar na busca indexada por: Arduino IDE." 85 | echo -e "Após a instalação do Fritzing digitar no console ou localizar na busca indexada por: Fritzing.\n" 86 | echo -e "Aguarde, esse processo demora um pouco dependendo do seu Link de Internet...\n" 87 | echo -e "Será necessário digitar a senha do seu usuário: $USUARIO que tem direitos administrativos do sudo.\n" 88 | sleep 5 89 | # 90 | echo -e "Atualizando o Sources List do Apt, aguarde..." 91 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 92 | sudo apt update &>> $LOG 93 | echo -e "Listas atualizadas com sucesso!!!, continuando com o script...\n" 94 | sleep 5 95 | # 96 | echo -e "Atualizando o sistema operacional, aguarde..." 97 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 98 | # opção do comando apt: -y (yes) 99 | sudo apt upgrade -y &>> $LOG 100 | sudo apt full-upgrade -y &>> $LOG 101 | sudo apt dist-upgrade -y &>> $LOG 102 | echo -e "Sistema atualizado com sucesso!!!, continuando com o script...\n" 103 | sleep 5 104 | # 105 | echo -e "Instalando as dependências desse script, aguarde..." 106 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 107 | # opção do comando apt: -y (yes) 108 | sudo apt install -y members git vim &>> $LOG 109 | echo -e "Dependências instaladas com sucesso!!!, continuando com o script...\n" 110 | sleep 5 111 | # 112 | echo -e "Removendo os software desnecessários, aguarde..." 113 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 114 | # opção do comando apt: -y (yes) 115 | sudo apt autoremove -y &>> $LOG 116 | sudo apt autoclean -y &>> $LOG 117 | echo -e "Software desnecessários removidos com sucesso!!!, continuando com o script...\n" 118 | sleep 5 119 | # 120 | echo -e "Instalando o Arduino IDE, BlocklyDuino e o Fritzing, aguarde...\n" 121 | # 122 | echo -e "Verificando a conexão com a Porta TTY (USB) do Arduino, aguarde..." 123 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 124 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 125 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 126 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando 127 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 128 | # opção da variável de ambiente $?: Código de retorno do último comando executado 129 | # opção do operador relacional ==: Igual 130 | if [ "$(sudo lsusb | grep Arduino &>> $LOG ; echo $?)" == "0" ] 131 | then 132 | echo -e "Arduino: $(sudo lsusb | grep Arduino)" 133 | echo -e "Arduino está conectado na Porta USB do seu computador, Pressione para continuar.\n" 134 | read 135 | sleep 5 136 | else 137 | echo -e "Arduino não está conectado na Porta USB, conecte o Arduino ou verifique a porta" 138 | echo -e "USB ou cabo USB, execute novamente esse script." 139 | exit 1 140 | fi 141 | # 142 | echo -e "Verificando a conexão com a Porta Dialout do Arduino, aguarde..." 143 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 144 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 145 | # opção do comando ls: -l (listing), -h (human-readable) 146 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT) 147 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 148 | # opção da variável de ambiente $?: Código de retorno do último comando executado 149 | # opção do operador relacional ==: Igual 150 | # opção do caractere curinga *: Qualquer coisa 151 | if [ "$(sudo ls -lh /dev/ttyA* &>> $LOG ; echo $?)" == "0" ] 152 | then 153 | echo -e "Conexão Dialout: $(sudo ls -lh /dev/ttyACM*)" 154 | echo -e "Conexão com a Porta Dialout do Arduino verificada com sucesso!!!, continuando com o script...\n" 155 | # 156 | echo -e "Alterando as permissões da Porta Dialout para todos os usuários, aguarde..." 157 | # opção do comando chmod: -v (verbose) a (all users), + (added), r (read), w (write) 158 | # opção do comando ls: -l (listing), -h (human-readable) 159 | # opção do caractere curinga *: Qualquer coisa 160 | echo -e "Permissões: $(sudo chmod -v a+rw /dev/ttyACM*)" 161 | echo -e "Permissões alteradas com sucesso!!!, Pressione para continuar.\n" 162 | read 163 | sleep 5 164 | else 165 | echo -e "Conexão com a Porta Dialout do Arduino não está disponível, verifique se você conectou" 166 | echo -e "corretamente o Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute" 167 | echo -e "novamente esse script." 168 | exit 1 169 | fi 170 | # 171 | echo -e "Verificando o grupo de acesso ao Dialout do Arduino, aguarde..." 172 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 173 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 174 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando 175 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT) 176 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 177 | # opção da variável de ambiente $?: Código de retorno do último comando executado 178 | # opção do operador relacional ==: Igual 179 | if [ "$(sudo cat /etc/group | grep dialout &>> $LOG ; echo $?)" == "0" ] 180 | then 181 | echo -e "Grupo Dialout: $(sudo cat /etc/group | grep dialout)" 182 | echo -e "Grupo de acesso ao Dialout do Arduino verificado com sucesso!!!, continuando com o script....\n" 183 | sleep 5 184 | # 185 | echo -e "Verificando os Membros efetivos dos grupos Dialout e Plugdev, aguarde..." 186 | # opção do comando members: -a (all) 187 | echo -e "Grupo Dialout: $(sudo members -a dialout)" 188 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)" 189 | echo -e "Membros efetivos dos grupos Dialout e Plugdev verificado com sucesso!!!, continuando com o script....\n" 190 | sleep 5 191 | # 192 | echo -e "Adicionando o usuário local: $USUARIO nos grupos: Dialout, Plugdev, TTY e UUCP, aguarde..." 193 | # opção do comando usermod: -a (append), -G (groups) 194 | # opção do comando members: -a (all) 195 | sudo usermod -a -G dialout $USUARIO 196 | sudo usermod -a -G plugdev $USUARIO 197 | sudo usermod -a -G tty $USUARIO 198 | sudo usermod -a -G uucp $USUARIO 199 | echo -e "Grupo Dialout: $(sudo members -a dialout)" 200 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)" 201 | echo -e "Grupo TTY: $(sudo members -a tty)" 202 | echo -e "Grupo UUCP: $(sudo members -a uucp)" 203 | echo -e "Usuário $USUARIO: $(id)" 204 | echo -e "Usuário adicionado nos grupos com sucesso!!!, Pressione para continuar.\n" 205 | read 206 | sleep 5 207 | else 208 | echo -e "Grupo de Dialout do Arduino não está disponível, verifique se você conectou corretamente o" 209 | echo -e "Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute novamente esse script." 210 | exit 1 211 | fi 212 | # 213 | echo -e "Fazendo o download do Arduino IDE do site Oficial, aguarde..." 214 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 215 | # opção do comando wget: -v (verbose), -O (output-document) 216 | sudo wget -v -O /tmp/arduino.tar.xz $ARDUINO &>> $LOG 217 | echo -e "Download do Arduino IDE do site Oficial feito com sucesso!!!, continuando com o script...\n" 218 | sleep 5 219 | # 220 | echo -e "Descompactando o Arduino IDE no diretório: /opt/arduino, aguarde..." 221 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 222 | # opção do comando tar: -J (xz), -x (extract), v (verbose), -f (file) 223 | # opção do comando mv: -v (verbose) 224 | cd /tmp 225 | sudo tar -Jxvf arduino.tar.xz &>> $LOG 226 | sudo mv -v arduino-*/ /opt/arduino &>> $LOG 227 | cd - &>> $LOG 228 | echo -e "Descompactação do Arduino IDE no diretório /opt/arduino feito com sucesso!!!, continuando com o script...\n" 229 | sleep 5 230 | # 231 | echo -e "Instalando o Arduino IDE utilizando o script do próprio Arduino, aguarde..." 232 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 233 | sudo bash /opt/arduino/install.sh &>> $LOG 234 | echo -e "Instalação do Arduino IDE feito com sucesso!!!, continuando com o script...\n" 235 | sleep 5 236 | # 237 | echo -e "Clonando o projeto do BlocklyDuino do Github, aguarde..." 238 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 239 | sudo git clone $BLOCKLYDUINO /tmp/blocklyduino &>> $LOG 240 | echo -e "Projeto do BlocklyDuino clonado com sucesso!!!, continuando com o script...\n" 241 | sleep 5 242 | # 243 | echo -e "Adicionando o BlocklyDuino nas ferramentas do Arduino IDE, aguarde..." 244 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 245 | # opção do comando mv: -v (verbose) 246 | # opção do caractere curinga *: Qualquer coisa 247 | sudo mv -v /tmp/blocklyduino/BlocklyDuinoPlugin/tool/* /opt/arduino/tools/ &>> $LOG 248 | echo -e "BlocklyDuino adicionado com sucesso!!!, continuando com o script...\n" 249 | sleep 5 250 | # 251 | echo -e "Instalando o Fritzing, aguarde..." 252 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 253 | # opção do comando apt: -y (yes) 254 | sudo apt install -y fritzing &>> $LOG 255 | echo -e "Instalação do Fritzing feito com sucesso!!!, continuando com o script...\n" 256 | sleep 5 257 | # 258 | echo -e "Clonando o projeto do Fritzing Parts do Github, aguarde..." 259 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 260 | sudo git clone $FRITZING /usr/share/fritzing/parts &>> $LOG 261 | echo -e "Projeto do Fritzing Parts clonado com sucesso!!!, continuando com o script...\n" 262 | sleep 5 263 | # 264 | echo -e "Instalação do Arduino IDE, BlocklyDuino e do Fritzing feita com Sucesso!!!." 265 | # script para calcular o tempo gasto (SCRIPT MELHORADO, CORRIGIDO FALHA DE HORA:MINUTO:SEGUNDOS) 266 | # opção do comando date: +%T (Time) 267 | HORAFINAL=$(date +%T) 268 | # opção do comando date: -u (utc), -d (date), +%s (second since 1970) 269 | HORAINICIAL01=$(date -u -d "$HORAINICIAL" +"%s") 270 | HORAFINAL01=$(date -u -d "$HORAFINAL" +"%s") 271 | # opção do comando date: -u (utc), -d (date), 0 (string command), sec (force second), +%H (hour), %M (minute), %S (second), 272 | TEMPO=$(date -u -d "0 $HORAFINAL01 sec - $HORAINICIAL01 sec" +"%H:%M:%S") 273 | # $0 (variável de ambiente do nome do comando) 274 | echo -e "Tempo gasto para execução do script $0: $TEMPO" 275 | echo -e "Pressione para concluir o processo." 276 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60) 277 | echo -e "Fim do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG 278 | read 279 | exit 1 280 | -------------------------------------------------------------------------------- /install20.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Autor: Robson Vaamonde 3 | # Site: www.procedimentosemti.com.br 4 | # Facebook: facebook.com/ProcedimentosEmTI 5 | # Facebook: facebook.com/BoraParaPratica 6 | # YouTube: youtube.com/BoraParaPratica 7 | # Data de criação: 25/08/2021 8 | # Data de atualização: 28/07/2024 9 | # Versão: 0.11 10 | # Testado e homologado para a versão do Linux Mint 20 Ulyana, 20.1 Ulyssa, 20.2 Uma e 20.3 Una x64 11 | # Testado e homologado para a versão do Arduino IDE v2.0.x, Cli v0.26.x e Fritzing v0.9.x 12 | # 13 | # Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, 14 | # projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma 15 | # linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. 16 | # 17 | # Arduino Integrated Development Environment IDE é uma aplicação de plataforma cruzada, 18 | # escrito em funções de C e C ++. É usado para escrever e fazer upload de programas em 19 | # placas compatíveis com Arduino, mas também, com a ajuda de núcleos de terceiros, outras 20 | # placas de desenvolvimento de fornecedores. 21 | # 22 | # A nova versão principal do IDE do Arduino é mais rápida e ainda mais poderosa! Além de 23 | # um editor mais moderno e uma interface mais ágil, possui preenchimento automático, 24 | # navegação de código e até mesmo um depurador ao vivo. 25 | # 26 | # Aplicação Arduino CLI (Interface de Linha de Comando). A solução tudo-em-um para codificar, 27 | # compilar e fazer upload de códigos para suas placas Arduino usando o prompt de comando 28 | # (Windows) e o Terminal (Linux e MAC). 29 | # 30 | # O Arduino Create é uma plataforma online que permite que makers e desenvolvedores possam 31 | # compartilhar códigos/projetos, configurar suas placas, usar a IDE online, conectar 32 | # dispositivos na Arduino Iot Cloud, acessar tutoriais, e várias outras funcionalidades! 33 | # 34 | # O Fritzing é uma iniciativa de código aberto para desenvolver um software tipo CAD amador 35 | # para design de hardware eletrônico, para apoiar designers e artistas prontos para deixar 36 | # de experimentar um protótipo e construir um circuito mais permanente com uma Placa de 37 | # Circuito Impresso. 38 | # 39 | # Site Oficial do Arduino IDE: https://www.arduino.cc/ 40 | # Projeto do Github do Arduino IDE 2.x: https://github.com/arduino/arduino-ide 41 | # Site Oficial do Arduino Cloud: https://cloud.arduino.cc/ 42 | # Site Oficial do Arduino Web Editor: https://create.arduino.cc 43 | # Site Oficial do Arduino IoT: https://create.arduino.cc/iot/things 44 | # Site Oficial do Arduino Profile: https://id.arduino.cc/ 45 | # Site Oficial do Fritzing: https://fritzing.org/ 46 | # 47 | # OBSERVAÇÃO IMPORTANTE: Nesse vídeo utilizei os conceitos do Git e Github para clonar o 48 | # projeto no Linux Mint 49 | # 50 | # Ctrl+Alt+t (Atalho do Terminal) 51 | # sudo apt install git 52 | # git clone https://github.com/vaamonde/arduino 53 | # cd arduino/ 54 | # bash install20.sh 55 | # 56 | # Terminal 57 | # arduino-ide 58 | # 59 | # Arduino IDE 2.0.x 60 | # Tools 61 | # Board "Arduino Uno" 62 | # Port: "/dev/ttyACM0" 63 | # Get Board Info 64 | # 65 | # File 66 | # Examples 67 | # 01. Basics 68 | # Blink 69 | # Upload 70 | # 71 | # Terminal 72 | # arduino-cli 73 | # arduino-cli version 74 | # arduino-cli board list 75 | # 76 | # Variável da localização da clonagem do script de instalação do Arduino IDE 77 | PATHINSTALL=$(pwd) 78 | # 79 | # Variável da Data Inicial para calcular o tempo de execução do script (VARIÁVEL MELHORADA) 80 | # opção do comando date: +%T (Time) 81 | HORAINICIAL=$(date +%T) 82 | # 83 | # Variável do usuário local que vai executar o Arduino IDE 84 | # opção da variável de ambiente USER: usuário atual logado no sistema 85 | USUARIO=$(echo $USER) 86 | # 87 | # Variável do caminho do Log dos Script utilizado nesse curso (VARIÁVEL MELHORADA) 88 | # opção do shell script: piper | = Conecta a saída padrão com a entrada padrão de outro comando 89 | # opção do shell script: aspas simples ' ' = Protege uma string completamente (nenhum caractere é especial) 90 | # opção do shell script: aspas duplas " " = Protege uma string, mas reconhece $, \ e ` como especiais 91 | # opções do comando cut: -d (delimiter), -f (fields) 92 | # opção da variável de ambiente $0: nome do comando ou script digitado 93 | LOG="$HOME/$(echo $0 | cut -d'/' -f2)" 94 | # 95 | # Declarando as variáveis de download do Arduino IDE, Cli e do Fritzing (Links atualizados no dia 28/07/2024) 96 | ARDUINOIDE="https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.2_Linux_64bit.zip" 97 | ARDUINOCLI="https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz" 98 | FRITZING="https://github.com/fritzing/fritzing-parts.git" 99 | AGENTARDUINO="https://github.com/arduino/arduino-create-agent/releases/download/1.6.0/ArduinoCloudAgent-1.6.0-linux-amd64-installer.run" 100 | PATHARDUINO="/opt/arduino20" 101 | PATHSHORTCUT="/usr/share/applications" 102 | # 103 | # Script de instalação do Arduino IDE 2.x e do Fritzing no Linux Mint 20 Ulyana, 20.1 Ulyssa, 20.2 Uma e 20.3 Una x64 104 | # opção do comando echo: -e (enable interpretation of backslash escapes), \n (new line) 105 | # $0 (variável de ambiente do nome do comando) 106 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60) 107 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 108 | echo -e "Início do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG 109 | clear 110 | # 111 | echo 112 | echo -e "Instalação do Arduino IDE 2.x, Cli e do Fritzing no Linux Mint 20.x\n" 113 | echo -e "Após a instalação do Arduino IDE digitar no console: arduino-ide" 114 | echo -e "Após a instalação do Arduino Cli digitar no console: arduino-cli" 115 | echo -e "Após a instalação do Arduino Agent Cloud acessar a URL: https://create.arduino.cc/getting-started/plugin/welcome" 116 | echo -e "Após a instalação do Fritzing localizar na busca indexada por: Fritzing.\n" 117 | echo -e "Aguarde, esse processo demora um pouco dependendo do seu Link de Internet...\n" 118 | echo -e "Será necessário digitar a senha do seu usuário: $USUARIO que tem direitos administrativos do sudo.\n" 119 | sleep 5 120 | # 121 | echo -e "Atualizando o Sources List do Apt, aguarde..." 122 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 123 | sudo apt update &>> $LOG 124 | echo -e "Listas atualizadas com sucesso!!!, continuando com o script...\n" 125 | sleep 5 126 | # 127 | echo -e "Atualizando o sistema operacional, aguarde..." 128 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 129 | # opção do comando apt: -y (yes) 130 | sudo apt upgrade -y &>> $LOG 131 | sudo apt full-upgrade -y &>> $LOG 132 | sudo apt dist-upgrade -y &>> $LOG 133 | echo -e "Sistema atualizado com sucesso!!!, continuando com o script...\n" 134 | sleep 5 135 | # 136 | echo -e "Instalando as dependências desse script, aguarde..." 137 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 138 | # opção do comando apt: -y (yes) 139 | sudo apt install -y members git vim unzip python2 python3 &>> $LOG 140 | echo -e "Dependências instaladas com sucesso!!!, continuando com o script...\n" 141 | sleep 5 142 | # 143 | echo -e "Removendo os software desnecessários, aguarde..." 144 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 145 | # opção do comando apt: -y (yes) 146 | sudo apt autoremove -y &>> $LOG 147 | sudo apt autoclean -y &>> $LOG 148 | echo -e "Software desnecessários removidos com sucesso!!!, continuando com o script...\n" 149 | sleep 5 150 | # 151 | echo -e "Instalando o Arduino IDE 2.x, Cli, Cloud e do Fritzing, aguarde...\n" 152 | sleep 5 153 | # 154 | echo -e "Verificando a conexão com a Porta TTY (USB) do Arduino, aguarde..." 155 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 156 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 157 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 158 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando 159 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 160 | # opção da variável de ambiente $?: Código de retorno do último comando executado 161 | # opção do operador relacional ==: Igual 162 | if [ "$(sudo lsusb | grep Arduino &>> $LOG ; echo $?)" == "0" ] 163 | then 164 | echo -e "Arduino: $(sudo lsusb | grep Arduino)" 165 | echo -e "Arduino está conectado na Porta USB do seu computador, Pressione para continuar.\n" 166 | read 167 | sleep 5 168 | else 169 | echo -e "Arduino não está conectado na Porta USB, conecte o Arduino ou verifique a porta" 170 | echo -e "USB ou cabo USB, execute novamente esse script." 171 | exit 1 172 | fi 173 | # 174 | echo -e "Verificando a conexão com a Porta Dialout do Arduino, aguarde..." 175 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 176 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 177 | # opção do comando ls: -l (listing), -h (human-readable) 178 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT) 179 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 180 | # opção da variável de ambiente $?: Código de retorno do último comando executado 181 | # opção do operador relacional ==: Igual 182 | # opção do caractere curinga *: Qualquer coisa 183 | if [ "$(sudo ls -lh /dev/ttyA* &>> $LOG ; echo $?)" == "0" ] 184 | then 185 | echo -e "Conexão Dialout: $(sudo ls -lh /dev/ttyACM*)" 186 | echo -e "Conexão com a Porta Dialout do Arduino verificada com sucesso!!!, continuando com o script...\n" 187 | # 188 | echo -e "Alterando as permissões da Porta Dialout para todos os usuários, aguarde..." 189 | # opção do comando chmod: -v (verbose) a (all users), + (added), r (read), w (write) 190 | # opção do comando ls: -l (listing), -h (human-readable) 191 | # opção do caractere curinga *: Qualquer coisa 192 | echo -e "Permissões: $(sudo chmod -v a+rw /dev/ttyACM*)" 193 | echo -e "Permissões alteradas com sucesso!!!, Pressione para continuar.\n" 194 | read 195 | sleep 5 196 | else 197 | echo -e "Conexão com a Porta Dialout do Arduino não está disponível, verifique se você conectou" 198 | echo -e "corretamente o Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute" 199 | echo -e "novamente esse script." 200 | exit 1 201 | fi 202 | # 203 | echo -e "Verificando o grupo de acesso ao Dialout do Arduino, aguarde..." 204 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 205 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 206 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando 207 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT) 208 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 209 | # opção da variável de ambiente $?: Código de retorno do último comando executado 210 | # opção do operador relacional ==: Igual 211 | if [ "$(sudo cat /etc/group | grep dialout &>> $LOG ; echo $?)" == "0" ] 212 | then 213 | echo -e "Grupo Dialout: $(sudo cat /etc/group | grep dialout)" 214 | echo -e "Grupo de acesso ao Dialout do Arduino verificado com sucesso!!!, continuando com o script....\n" 215 | sleep 5 216 | # 217 | echo -e "Verificando os Membros efetivos dos grupos Dialout e Plugdev, aguarde..." 218 | # opção do comando members: -a (all) 219 | echo -e "Grupo Dialout: $(sudo members -a dialout)" 220 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)" 221 | echo -e "Membros efetivos dos grupos Dialout e Plugdev verificado com sucesso!!!, continuando com o script....\n" 222 | sleep 5 223 | # 224 | echo -e "Adicionando o usuário local: $USUARIO nos grupos: Dialout, Plugdev, TTY e UUCP, aguarde..." 225 | # opção do comando usermod: -a (append), -G (groups) 226 | # opção do comando members: -a (all) 227 | sudo usermod -a -G dialout $USUARIO 228 | sudo usermod -a -G plugdev $USUARIO 229 | sudo usermod -a -G tty $USUARIO 230 | sudo usermod -a -G uucp $USUARIO 231 | echo -e "Grupo Dialout: $(sudo members -a dialout)" 232 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)" 233 | echo -e "Grupo TTY: $(sudo members -a tty)" 234 | echo -e "Grupo UUCP: $(sudo members -a uucp)" 235 | echo -e "Usuário $USUARIO: $(id)" 236 | echo -e "Usuário adicionado nos grupos com sucesso!!!, Pressione para continuar.\n" 237 | read 238 | sleep 5 239 | else 240 | echo -e "Grupo de Dialout do Arduino não está disponível, verifique se você conectou corretamente o" 241 | echo -e "Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute novamente esse script." 242 | exit 1 243 | fi 244 | # 245 | echo -e "Fazendo o download do Arduino IDE 2.x e Cli do site Oficial, aguarde..." 246 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 247 | # opção do comando mkdir: -v (verbose) 248 | # opção do comando wget: -v (verbose), -O (output-document) 249 | sudo mkdir -v /tmp/arduino-ide &>> $LOG 250 | sudo wget -v -O /tmp/arduino-ide/arduino20.zip $ARDUINOIDE &>> $LOG 251 | sudo wget -v -O /tmp/arduinocli.tar.gz $ARDUINOCLI &>> $LOG 252 | echo -e "Download do Arduino IDE 2.x do site Oficial feito com sucesso!!!, continuando com o script...\n" 253 | sleep 5 254 | # 255 | echo -e "Fazendo o download do Arduino Agent Cloud do site Oficial, aguarde..." 256 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 257 | # opção do comando wget: -v (verbose), -O (output-document) 258 | # opção do comando chmod: -v (verbose), +x (execution) 259 | sudo wget -v -O /tmp/agentarduino.run $AGENTARDUINO &>> $LOG 260 | sudo chmod -v +x /tmp/*.run &>> $LOG 261 | echo -e "Download do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n" 262 | sleep 5 263 | # 264 | echo -e "Descompactando o Arduino IDE 2.x e Cli no diretório: $PATHARDUINO, aguarde..." 265 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 266 | # opção do comando mv: -v (verbose) 267 | # opção do comando cp: -R (recursive), -v (verbose) 268 | # opção do comando tar: -z (gzip), -x (extract), -v (verbose), -f (file) 269 | cd /tmp/arduino-ide/ 270 | sudo unzip arduino20.zip &>> $LOG 271 | sudo mv -v arduino-ide*/ $PATHARDUINO &>> $LOG 272 | sudo cp -Rv $PATHINSTALL/icons $PATHARDUINO &>> $LOG 273 | sudo cp -v $PATHINSTALL/shortcut/arduino-ide.desktop $PATHSHORTCUT &>> $LOG 274 | cd .. 275 | sudo tar -zxvf arduinocli.tar.gz &>> $LOG 276 | sudo mv -v arduino-cli $PATHARDUINO &>> $LOG 277 | echo -e "Descompactação do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n" 278 | sleep 5 279 | # 280 | echo -e "Instalando o Arduino Agent Cloud, aguarde..." 281 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 282 | # opção do comando mv: -v (verbose) 283 | cd /tmp 284 | ./agentarduino.run 285 | echo -e "Instalação do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n" 286 | sleep 5 287 | # 288 | echo -e "Criando os Links Simbólicos do Arduino IDE 2.x e Cli no diretório: /usr/local/bin/, aguarde..." 289 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 290 | # opção do comando ln: -s (symbolic), -v (verbose) 291 | # opção do comando cp: -R (recursive), -f (force), -v (verbose) 292 | sudo ln -sv $PATHARDUINO/arduino-ide /usr/local/bin/arduino-ide &>> $LOG 293 | sudo ln -sv $PATHARDUINO/arduino-cli /usr/local/bin/arduino-cli &>> $LOG 294 | echo -e "Links Simbólicos do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n" 295 | sleep 5 296 | # 297 | echo -e "Instalando o Fritzing, aguarde..." 298 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 299 | # opção do comando apt: -y (yes) 300 | sudo apt install -y fritzing &>> $LOG 301 | echo -e "Instalação do Fritzing feito com sucesso!!!, continuando com o script...\n" 302 | sleep 5 303 | # 304 | echo -e "Clonando o projeto do Fritzing Parts do Github, aguarde..." 305 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 306 | sudo git clone $FRITZING /usr/share/fritzing/parts &>> $LOG 307 | cd ~/arduino/ &>> $LOG 308 | echo -e "Projeto do Fritzing Parts clonado com sucesso!!!, continuando com o script...\n" 309 | sleep 5 310 | # 311 | echo -e "Instalação do Arduino IDE 2.x, Cli, Cloud e do Fritzing feita com Sucesso!!!" 312 | # script para calcular o tempo gasto (SCRIPT MELHORADO, CORRIGIDO FALHA DE HORA:MINUTO:SEGUNDOS) 313 | # opção do comando date: +%T (Time) 314 | HORAFINAL=$(date +%T) 315 | # opção do comando date: -u (utc), -d (date), +%s (second since 1970) 316 | HORAINICIAL01=$(date -u -d "$HORAINICIAL" +"%s") 317 | HORAFINAL01=$(date -u -d "$HORAFINAL" +"%s") 318 | # opção do comando date: -u (utc), -d (date), 0 (string command), sec (force second), +%H (hour), %M (minute), %S (second), 319 | TEMPO=$(date -u -d "0 $HORAFINAL01 sec - $HORAINICIAL01 sec" +"%H:%M:%S") 320 | # $0 (variável de ambiente do nome do comando) 321 | echo -e "Tempo gasto para execução do script $0: $TEMPO" 322 | echo -e "Pressione para concluir o processo." 323 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60) 324 | echo -e "Fim do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG 325 | read 326 | exit 1 327 | -------------------------------------------------------------------------------- /install21.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Autor: Robson Vaamonde 3 | # Site: www.procedimentosemti.com.br 4 | # Facebook: facebook.com/ProcedimentosEmTI 5 | # Facebook: facebook.com/BoraParaPratica 6 | # YouTube: youtube.com/BoraParaPratica 7 | # Data de criação: 25/08/2021 8 | # Data de atualização: 28/07/2024 9 | # Versão: 0.16 10 | # Testado e homologado para a versão do Linux Mint 21 Vanessa, 21.1 Vera, 21.2 Victoria e 21.3 Virginia x64 11 | # Testado e homologado para a versão do Arduino IDE v2.x, Cli v0.34.x e Fritzing v0.9.x 12 | # 13 | # Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, 14 | # projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma 15 | # linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. 16 | # 17 | # Arduino Integrated Development Environment IDE é uma aplicação de plataforma cruzada, 18 | # escrito em funções de C e C ++. É usado para escrever e fazer upload de programas em 19 | # placas compatíveis com Arduino, mas também, com a ajuda de núcleos de terceiros, outras 20 | # placas de desenvolvimento de fornecedores. 21 | # 22 | # A nova versão principal do IDE do Arduino é mais rápida e ainda mais poderosa! Além de 23 | # um editor mais moderno e uma interface mais ágil, possui preenchimento automático, 24 | # navegação de código e até mesmo um depurador ao vivo. 25 | # 26 | # Aplicação Arduino CLI (Interface de Linha de Comando). A solução tudo-em-um para codificar, 27 | # compilar e fazer upload de códigos para suas placas Arduino usando o prompt de comando 28 | # (Windows) e o Terminal (Linux e MAC). 29 | # 30 | # O Arduino Create é uma plataforma online que permite que makers e desenvolvedores possam 31 | # compartilhar códigos/projetos, configurar suas placas, usar a IDE online, conectar 32 | # dispositivos na Arduino Iot Cloud, acessar tutoriais, e várias outras funcionalidades! 33 | # 34 | # O Fritzing é uma iniciativa de código aberto para desenvolver um software tipo CAD amador 35 | # para design de hardware eletrônico, para apoiar designers e artistas prontos para deixar 36 | # de experimentar um protótipo e construir um circuito mais permanente com uma Placa de 37 | # Circuito Impresso. 38 | # 39 | # Site Oficial do Arduino IDE: https://www.arduino.cc/ 40 | # Projeto do Github do Arduino IDE 2.x: https://github.com/arduino/arduino-ide 41 | # Site Oficial do Arduino Cloud: https://cloud.arduino.cc/ 42 | # Site Oficial do Arduino Web Editor: https://create.arduino.cc 43 | # Site Oficial do Arduino IoT: https://create.arduino.cc/iot/things 44 | # Site Oficial do Arduino Profile: https://id.arduino.cc/ 45 | # Site Oficial do Fritzing: https://fritzing.org/ 46 | # 47 | # OBSERVAÇÃO IMPORTANTE: Nesse vídeo utilizei os conceitos do Git e Github para clonar o 48 | # projeto no Linux Mint 49 | # 50 | # Ctrl+Alt+t (Atalho do Terminal) 51 | # sudo apt install git 52 | # git clone https://github.com/vaamonde/arduino 53 | # cd arduino/ 54 | # bash install21.sh 55 | # 56 | # Terminal 57 | # arduino-ide 58 | # 59 | # Arduino IDE 2.2.x 60 | # Tools 61 | # Board "Arduino Uno" 62 | # Port: "/dev/ttyACM0" 63 | # Get Board Info 64 | # 65 | # File 66 | # Examples 67 | # 01. Basics 68 | # Blink 69 | # Upload 70 | # 71 | # Terminal 72 | # arduino-cli 73 | # arduino-cli version 74 | # arduino-cli board list 75 | # 76 | # Variável da localização da clonagem do script de instalação do Arduino IDE 77 | PATHINSTALL=$(pwd) 78 | # 79 | # Variável da Data Inicial para calcular o tempo de execução do script (VARIÁVEL MELHORADA) 80 | # opção do comando date: +%T (Time) 81 | HORAINICIAL=$(date +%T) 82 | # 83 | # Variável do usuário local que vai executar o Arduino IDE 84 | # opção da variável de ambiente USER: usuário atual logado no sistema 85 | USUARIO=$(echo $USER) 86 | # 87 | # Variável do caminho do Log dos Script utilizado nesse curso (VARIÁVEL MELHORADA) 88 | # opção do shell script: piper | = Conecta a saída padrão com a entrada padrão de outro comando 89 | # opção do shell script: aspas simples ' ' = Protege uma string completamente (nenhum caractere é especial) 90 | # opção do shell script: aspas duplas " " = Protege uma string, mas reconhece $, \ e ` como especiais 91 | # opções do comando cut: -d (delimiter), -f (fields) 92 | # opção da variável de ambiente $0: nome do comando ou script digitado 93 | LOG="$HOME/$(echo $0 | cut -d'/' -f2)" 94 | # 95 | # Declarando as variáveis de download do Arduino IDE, Cli e do Fritzing (Links atualizados no dia 28/07/2024) 96 | ARDUINOIDE="https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.2_Linux_64bit.zip" 97 | ARDUINOCLI="https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz" 98 | FRITZING="https://github.com/fritzing/fritzing-parts.git" 99 | AGENTARDUINO="https://github.com/arduino/arduino-create-agent/releases/download/1.6.0/ArduinoCloudAgent-1.6.0-linux-amd64-installer.run" 100 | PATHARDUINO="/opt/arduino20" 101 | PATHSHORTCUT="/usr/share/applications" 102 | # 103 | # Script de instalação do Arduino IDE 2.x e do Fritzing no Linux Mint 21 Vanessa, 21.1 Vera, 21.2 Victoria e 21.3 Virginia x64 104 | # opção do comando echo: -e (enable interpretation of backslash escapes), \n (new line) 105 | # $0 (variável de ambiente do nome do comando) 106 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60) 107 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 108 | echo -e "Início do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG 109 | clear 110 | # 111 | echo 112 | echo -e "Instalação do Arduino IDE 2.x, Cli e do Fritzing no Linux Mint 21.x\n" 113 | echo -e "Após a instalação do Arduino IDE digitar no console: arduino-ide" 114 | echo -e "Após a instalação do Arduino Cli digitar no console: arduino-cli" 115 | echo -e "Após a instalação do Arduino Agent Cloud acessar a URL: https://create.arduino.cc/getting-started/plugin/welcome" 116 | echo -e "Após a instalação do Fritzing localizar na busca indexada por: Fritzing.\n" 117 | echo -e "Aguarde, esse processo demora um pouco dependendo do seu Link de Internet...\n" 118 | echo -e "Será necessário digitar a senha do seu usuário: $USUARIO que tem direitos administrativos do sudo.\n" 119 | sleep 5 120 | # 121 | echo -e "Atualizando o Sources List do Apt, aguarde..." 122 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 123 | sudo apt update &>> $LOG 124 | echo -e "Listas atualizadas com sucesso!!!, continuando com o script...\n" 125 | sleep 5 126 | # 127 | echo -e "Atualizando o sistema operacional, aguarde..." 128 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 129 | # opção do comando apt: -y (yes) 130 | sudo apt upgrade -y &>> $LOG 131 | sudo apt full-upgrade -y &>> $LOG 132 | sudo apt dist-upgrade -y &>> $LOG 133 | echo -e "Sistema atualizado com sucesso!!!, continuando com o script...\n" 134 | sleep 5 135 | # 136 | echo -e "Instalando as dependências desse script, aguarde..." 137 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 138 | # opção do comando apt: -y (yes) 139 | sudo apt install -y members git vim unzip python2 python3 &>> $LOG 140 | echo -e "Dependências instaladas com sucesso!!!, continuando com o script...\n" 141 | sleep 5 142 | # 143 | echo -e "Removendo os software desnecessários, aguarde..." 144 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 145 | # opção do comando apt: -y (yes) 146 | sudo apt autoremove -y &>> $LOG 147 | sudo apt autoclean -y &>> $LOG 148 | echo -e "Software desnecessários removidos com sucesso!!!, continuando com o script...\n" 149 | sleep 5 150 | # 151 | echo -e "Instalando o Arduino IDE 2.x, Cli, Cloud e do Fritzing, aguarde...\n" 152 | sleep 5 153 | # 154 | echo -e "Verificando a conexão com a Porta TTY (USB) do Arduino, aguarde..." 155 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 156 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 157 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 158 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando 159 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 160 | # opção da variável de ambiente $?: Código de retorno do último comando executado 161 | # opção do operador relacional ==: Igual 162 | if [ "$(sudo lsusb | grep Arduino &>> $LOG ; echo $?)" == "0" ] 163 | then 164 | echo -e "Arduino: $(sudo lsusb | grep Arduino)" 165 | echo -e "Arduino está conectado na Porta USB do seu computador, Pressione para continuar.\n" 166 | read 167 | sleep 5 168 | else 169 | echo -e "Arduino não está conectado na Porta USB, conecte o Arduino ou verifique a porta" 170 | echo -e "USB ou cabo USB, execute novamente esse script." 171 | exit 1 172 | fi 173 | # 174 | echo -e "Verificando a conexão com a Porta Dialout do Arduino, aguarde..." 175 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 176 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 177 | # opção do comando ls: -l (listing), -h (human-readable) 178 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT) 179 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 180 | # opção da variável de ambiente $?: Código de retorno do último comando executado 181 | # opção do operador relacional ==: Igual 182 | # opção do caractere curinga *: Qualquer coisa 183 | if [ "$(sudo ls -lh /dev/ttyA* &>> $LOG ; echo $?)" == "0" ] 184 | then 185 | echo -e "Conexão Dialout: $(sudo ls -lh /dev/ttyACM*)" 186 | echo -e "Conexão com a Porta Dialout do Arduino verificada com sucesso!!!, continuando com o script...\n" 187 | # 188 | echo -e "Alterando as permissões da Porta Dialout para todos os usuários, aguarde..." 189 | # opção do comando chmod: -v (verbose) a (all users), + (added), r (read), w (write) 190 | # opção do comando ls: -l (listing), -h (human-readable) 191 | # opção do caractere curinga *: Qualquer coisa 192 | echo -e "Permissões: $(sudo chmod -v a+rw /dev/ttyACM*)" 193 | echo -e "Permissões alteradas com sucesso!!!, Pressione para continuar.\n" 194 | read 195 | sleep 5 196 | else 197 | echo -e "Conexão com a Porta Dialout do Arduino não está disponível, verifique se você conectou" 198 | echo -e "corretamente o Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute" 199 | echo -e "novamente esse script." 200 | exit 1 201 | fi 202 | # 203 | echo -e "Verificando o grupo de acesso ao Dialout do Arduino, aguarde..." 204 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 205 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 206 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando 207 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT) 208 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 209 | # opção da variável de ambiente $?: Código de retorno do último comando executado 210 | # opção do operador relacional ==: Igual 211 | if [ "$(sudo cat /etc/group | grep dialout &>> $LOG ; echo $?)" == "0" ] 212 | then 213 | echo -e "Grupo Dialout: $(sudo cat /etc/group | grep dialout)" 214 | echo -e "Grupo de acesso ao Dialout do Arduino verificado com sucesso!!!, continuando com o script....\n" 215 | sleep 5 216 | # 217 | echo -e "Verificando os Membros efetivos dos grupos Dialout e Plugdev, aguarde..." 218 | # opção do comando members: -a (all) 219 | echo -e "Grupo Dialout: $(sudo members -a dialout)" 220 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)" 221 | echo -e "Membros efetivos dos grupos Dialout e Plugdev verificado com sucesso!!!, continuando com o script....\n" 222 | sleep 5 223 | # 224 | echo -e "Adicionando o usuário local: $USUARIO nos grupos: Dialout, Plugdev, TTY e UUCP, aguarde..." 225 | # opção do comando usermod: -a (append), -G (groups) 226 | # opção do comando members: -a (all) 227 | sudo usermod -a -G dialout $USUARIO 228 | sudo usermod -a -G plugdev $USUARIO 229 | sudo usermod -a -G tty $USUARIO 230 | sudo usermod -a -G uucp $USUARIO 231 | echo -e "Grupo Dialout: $(sudo members -a dialout)" 232 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)" 233 | echo -e "Grupo TTY: $(sudo members -a tty)" 234 | echo -e "Grupo UUCP: $(sudo members -a uucp)" 235 | echo -e "Usuário $USUARIO: $(id)" 236 | echo -e "Usuário adicionado nos grupos com sucesso!!!, Pressione para continuar.\n" 237 | read 238 | sleep 5 239 | else 240 | echo -e "Grupo de Dialout do Arduino não está disponível, verifique se você conectou corretamente o" 241 | echo -e "Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute novamente esse script." 242 | exit 1 243 | fi 244 | # 245 | echo -e "Fazendo o download do Arduino IDE 2.x e Cli do site Oficial, aguarde..." 246 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 247 | # opção do comando mkdir: -v (verbose) 248 | # opção do comando wget: -v (verbose), -O (output-document) 249 | sudo mkdir -v /tmp/arduino-ide &>> $LOG 250 | sudo wget -v -O /tmp/arduino-ide/arduino20.zip $ARDUINOIDE &>> $LOG 251 | sudo wget -v -O /tmp/arduinocli.tar.gz $ARDUINOCLI &>> $LOG 252 | echo -e "Download do Arduino IDE 2.x do site Oficial feito com sucesso!!!, continuando com o script...\n" 253 | sleep 5 254 | # 255 | echo -e "Fazendo o download do Arduino Agent Cloud do site Oficial, aguarde..." 256 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 257 | # opção do comando wget: -v (verbose), -O (output-document) 258 | # opção do comando chmod: -v (verbose), +x (execution) 259 | sudo wget -v -O /tmp/agentarduino.run $AGENTARDUINO &>> $LOG 260 | sudo chmod -v +x /tmp/*.run &>> $LOG 261 | echo -e "Download do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n" 262 | sleep 5 263 | # 264 | echo -e "Descompactando o Arduino IDE 2.x e Cli no diretório: $PATHARDUINO, aguarde..." 265 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 266 | # opção do comando mv: -v (verbose) 267 | # opção do comando cp: -R (recursive), -v (verbose) 268 | # opção do comando tar: -z (gzip), -x (extract), -v (verbose), -f (file) 269 | cd /tmp/arduino-ide/ 270 | sudo unzip arduino20.zip &>> $LOG 271 | sudo mv -v arduino-ide*/ $PATHARDUINO &>> $LOG 272 | sudo cp -Rv $PATHINSTALL/icons $PATHARDUINO &>> $LOG 273 | sudo cp -v $PATHINSTALL/shortcut/arduino-ide.desktop $PATHSHORTCUT &>> $LOG 274 | cd .. 275 | sudo tar -zxvf arduinocli.tar.gz &>> $LOG 276 | sudo mv -v arduino-cli $PATHARDUINO &>> $LOG 277 | echo -e "Descompactação do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n" 278 | sleep 5 279 | # 280 | echo -e "Instalando o Arduino Agent Cloud, aguarde..." 281 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 282 | # opção do comando mv: -v (verbose) 283 | cd /tmp 284 | ./agentarduino.run 285 | echo -e "Instalação do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n" 286 | sleep 5 287 | # 288 | echo -e "Criando os Links Simbólicos do Arduino IDE 2.x e Cli no diretório: /usr/local/bin/, aguarde..." 289 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 290 | # opção do comando ln: -s (symbolic), -v (verbose) 291 | # opção do comando cp: -R (recursive), -f (force), -v (verbose) 292 | sudo ln -sv $PATHARDUINO/arduino-ide /usr/local/bin/arduino-ide &>> $LOG 293 | sudo ln -sv $PATHARDUINO/arduino-cli /usr/local/bin/arduino-cli &>> $LOG 294 | echo -e "Links Simbólicos do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n" 295 | sleep 5 296 | # 297 | echo -e "Instalando o Fritzing, aguarde..." 298 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 299 | # opção do comando apt: -y (yes) 300 | sudo apt install -y fritzing &>> $LOG 301 | echo -e "Instalação do Fritzing feito com sucesso!!!, continuando com o script...\n" 302 | sleep 5 303 | # 304 | echo -e "Clonando o projeto do Fritzing Parts do Github, aguarde..." 305 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 306 | sudo git clone $FRITZING /usr/share/fritzing/parts &>> $LOG 307 | cd ~/arduino/ &>> $LOG 308 | echo -e "Projeto do Fritzing Parts clonado com sucesso!!!, continuando com o script...\n" 309 | sleep 5 310 | # 311 | echo -e "Instalação do Arduino IDE 2.x, Cli, Cloud e do Fritzing feita com Sucesso!!!" 312 | # script para calcular o tempo gasto (SCRIPT MELHORADO, CORRIGIDO FALHA DE HORA:MINUTO:SEGUNDOS) 313 | # opção do comando date: +%T (Time) 314 | HORAFINAL=$(date +%T) 315 | # opção do comando date: -u (utc), -d (date), +%s (second since 1970) 316 | HORAINICIAL01=$(date -u -d "$HORAINICIAL" +"%s") 317 | HORAFINAL01=$(date -u -d "$HORAFINAL" +"%s") 318 | # opção do comando date: -u (utc), -d (date), 0 (string command), sec (force second), +%H (hour), %M (minute), %S (second), 319 | TEMPO=$(date -u -d "0 $HORAFINAL01 sec - $HORAINICIAL01 sec" +"%H:%M:%S") 320 | # $0 (variável de ambiente do nome do comando) 321 | echo -e "Tempo gasto para execução do script $0: $TEMPO" 322 | echo -e "Pressione para concluir o processo." 323 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60) 324 | echo -e "Fim do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG 325 | read 326 | exit 1 327 | -------------------------------------------------------------------------------- /install22.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Autor: Robson Vaamonde 3 | # Site: www.procedimentosemti.com.br 4 | # Facebook: facebook.com/ProcedimentosEmTI 5 | # Facebook: facebook.com/BoraParaPratica 6 | # YouTube: youtube.com/BoraParaPratica 7 | # Data de criação: 28/07/2024 8 | # Data de atualização: 27/10/2024 9 | # Versão: 0.02 10 | # Testado e homologado para a versão do Linux Mint 22 Wilma x64 11 | # Testado e homologado para a versão do Arduino IDE v2.x, Cli v0.34.x e Fritzing v0.9.x 12 | # 13 | # Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, 14 | # projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma 15 | # linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. 16 | # 17 | # Arduino Integrated Development Environment IDE é uma aplicação de plataforma cruzada, 18 | # escrito em funções de C e C ++. É usado para escrever e fazer upload de programas em 19 | # placas compatíveis com Arduino, mas também, com a ajuda de núcleos de terceiros, outras 20 | # placas de desenvolvimento de fornecedores. 21 | # 22 | # A nova versão principal do IDE do Arduino é mais rápida e ainda mais poderosa! Além de 23 | # um editor mais moderno e uma interface mais ágil, possui preenchimento automático, 24 | # navegação de código e até mesmo um depurador ao vivo. 25 | # 26 | # Aplicação Arduino CLI (Interface de Linha de Comando). A solução tudo-em-um para codificar, 27 | # compilar e fazer upload de códigos para suas placas Arduino usando o prompt de comando 28 | # (Windows) e o Terminal (Linux e MAC). 29 | # 30 | # O Arduino Create é uma plataforma online que permite que makers e desenvolvedores possam 31 | # compartilhar códigos/projetos, configurar suas placas, usar a IDE online, conectar 32 | # dispositivos na Arduino Iot Cloud, acessar tutoriais, e várias outras funcionalidades! 33 | # 34 | # O Fritzing é uma iniciativa de código aberto para desenvolver um software tipo CAD amador 35 | # para design de hardware eletrônico, para apoiar designers e artistas prontos para deixar 36 | # de experimentar um protótipo e construir um circuito mais permanente com uma Placa de 37 | # Circuito Impresso. 38 | # 39 | # Site Oficial do Arduino IDE: https://www.arduino.cc/ 40 | # Projeto do Github do Arduino IDE 2.x: https://github.com/arduino/arduino-ide 41 | # Site Oficial do Arduino Cloud: https://cloud.arduino.cc/ 42 | # Site Oficial do Arduino Web Editor: https://create.arduino.cc 43 | # Site Oficial do Arduino IoT: https://create.arduino.cc/iot/things 44 | # Site Oficial do Arduino Profile: https://id.arduino.cc/ 45 | # Site Oficial do Fritzing: https://fritzing.org/ 46 | # 47 | # OBSERVAÇÃO IMPORTANTE: Nesse vídeo utilizei os conceitos do Git e Github para clonar o 48 | # projeto no Linux Mint 49 | # 50 | # Ctrl+Alt+t (Atalho do Terminal) 51 | # sudo apt install git 52 | # git clone https://github.com/vaamonde/arduino 53 | # cd arduino/ 54 | # bash install22.sh 55 | # 56 | # Terminal 57 | # arduino-ide 58 | # 59 | # Arduino IDE 2.2.x 60 | # Tools 61 | # Board "Arduino Uno" 62 | # Port: "/dev/ttyACM0" 63 | # Get Board Info 64 | # 65 | # File 66 | # Examples 67 | # 01. Basics 68 | # Blink 69 | # Upload 70 | # 71 | # Terminal 72 | # arduino-cli 73 | # arduino-cli version 74 | # arduino-cli board list 75 | # 76 | # Variável da localização da clonagem do script de instalação do Arduino IDE 77 | PATHINSTALL=$(pwd) 78 | # 79 | # Variável da Data Inicial para calcular o tempo de execução do script (VARIÁVEL MELHORADA) 80 | # opção do comando date: +%T (Time) 81 | HORAINICIAL=$(date +%T) 82 | # 83 | # Variável do usuário local que vai executar o Arduino IDE 84 | # opção da variável de ambiente USER: usuário atual logado no sistema 85 | USUARIO=$(echo $USER) 86 | # 87 | # Variável do caminho do Log dos Script utilizado nesse curso (VARIÁVEL MELHORADA) 88 | # opção do shell script: piper | = Conecta a saída padrão com a entrada padrão de outro comando 89 | # opção do shell script: aspas simples ' ' = Protege uma string completamente (nenhum caractere é especial) 90 | # opção do shell script: aspas duplas " " = Protege uma string, mas reconhece $, \ e ` como especiais 91 | # opções do comando cut: -d (delimiter), -f (fields) 92 | # opção da variável de ambiente $0: nome do comando ou script digitado 93 | LOG="$HOME/$(echo $0 | cut -d'/' -f2)" 94 | # 95 | # Declarando as variáveis de download do Arduino IDE, Cli e do Fritzing (Links atualizados no dia 27/10/2024) 96 | ARDUINOIDE="https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.3_Linux_64bit.zip" 97 | ARDUINOCLI="https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz" 98 | FRITZING="https://github.com/fritzing/fritzing-parts.git" 99 | AGENTARDUINO="https://github.com/arduino/arduino-create-agent/releases/download/1.6.1/ArduinoCloudAgent-1.6.1-linux-amd64-installer.run" 100 | PATHARDUINO="/opt/arduino" 101 | PATHSHORTCUT="/usr/share/applications" 102 | # 103 | # Script de instalação do Arduino IDE 2.x e do Fritzing no Linux Mint 22 Wilma x64 104 | # opção do comando echo: -e (enable interpretation of backslash escapes), \n (new line) 105 | # $0 (variável de ambiente do nome do comando) 106 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60) 107 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 108 | echo -e "Início do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG 109 | clear 110 | # 111 | echo 112 | echo -e "Instalação do Arduino IDE 2.x, Cli e do Fritzing no Linux Mint 22.x\n" 113 | echo -e "Após a instalação do Arduino IDE digitar no console: arduino-ide" 114 | echo -e "Após a instalação do Arduino Cli digitar no console: arduino-cli" 115 | echo -e "Após a instalação do Arduino Agent Cloud acessar a URL: https://create.arduino.cc/getting-started/plugin/welcome" 116 | echo -e "Após a instalação do Fritzing localizar na busca indexada por: Fritzing.\n" 117 | echo -e "Aguarde, esse processo demora um pouco dependendo do seu Link de Internet...\n" 118 | echo -e "Será necessário digitar a senha do seu usuário: $USUARIO que tem direitos administrativos do sudo.\n" 119 | sleep 5 120 | # 121 | echo -e "Atualizando o Sources List do Apt, aguarde..." 122 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 123 | sudo apt update &>> $LOG 124 | echo -e "Listas atualizadas com sucesso!!!, continuando com o script...\n" 125 | sleep 5 126 | # 127 | echo -e "Atualizando o sistema operacional, aguarde..." 128 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 129 | # opção do comando apt: -y (yes) 130 | sudo apt upgrade -y &>> $LOG 131 | sudo apt full-upgrade -y &>> $LOG 132 | sudo apt dist-upgrade -y &>> $LOG 133 | echo -e "Sistema atualizado com sucesso!!!, continuando com o script...\n" 134 | sleep 5 135 | # 136 | echo -e "Instalando as dependências desse script, aguarde..." 137 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 138 | # opção do comando apt: -y (yes) 139 | sudo apt install -y members git vim unzip python3 &>> $LOG 140 | echo -e "Dependências instaladas com sucesso!!!, continuando com o script...\n" 141 | sleep 5 142 | # 143 | echo -e "Removendo os software desnecessários, aguarde..." 144 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 145 | # opção do comando apt: -y (yes) 146 | sudo apt autoremove -y &>> $LOG 147 | sudo apt autoclean -y &>> $LOG 148 | echo -e "Software desnecessários removidos com sucesso!!!, continuando com o script...\n" 149 | sleep 5 150 | # 151 | echo -e "Instalando o Arduino IDE 2.x, Cli, Cloud e do Fritzing, aguarde...\n" 152 | sleep 5 153 | # 154 | echo -e "Verificando a conexão com a Porta TTY (USB) do Arduino, aguarde..." 155 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 156 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 157 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 158 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando 159 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 160 | # opção da variável de ambiente $?: Código de retorno do último comando executado 161 | # opção do operador relacional ==: Igual 162 | if [ "$(sudo lsusb | grep Arduino &>> $LOG ; echo $?)" == "0" ] 163 | then 164 | echo -e "Arduino: $(sudo lsusb | grep Arduino)" 165 | echo -e "Arduino está conectado na Porta USB do seu computador, Pressione para continuar.\n" 166 | read 167 | sleep 5 168 | else 169 | echo -e "Arduino não está conectado na Porta USB, conecte o Arduino ou verifique a porta" 170 | echo -e "USB ou cabo USB, execute novamente esse script." 171 | exit 1 172 | fi 173 | # 174 | echo -e "Verificando a conexão com a Porta Dialout do Arduino, aguarde..." 175 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 176 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 177 | # opção do comando ls: -l (listing), -h (human-readable) 178 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT) 179 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 180 | # opção da variável de ambiente $?: Código de retorno do último comando executado 181 | # opção do operador relacional ==: Igual 182 | # opção do caractere curinga *: Qualquer coisa 183 | if [ "$(sudo ls -lh /dev/ttyA* &>> $LOG ; echo $?)" == "0" ] 184 | then 185 | echo -e "Conexão Dialout: $(sudo ls -lh /dev/ttyACM*)" 186 | echo -e "Conexão com a Porta Dialout do Arduino verificada com sucesso!!!, continuando com o script...\n" 187 | # 188 | echo -e "Alterando as permissões da Porta Dialout para todos os usuários, aguarde..." 189 | # opção do comando chmod: -v (verbose) a (all users), + (added), r (read), w (write) 190 | # opção do comando ls: -l (listing), -h (human-readable) 191 | # opção do caractere curinga *: Qualquer coisa 192 | echo -e "Permissões: $(sudo chmod -v a+rw /dev/ttyACM*)" 193 | echo -e "Permissões alteradas com sucesso!!!, Pressione para continuar.\n" 194 | read 195 | sleep 5 196 | else 197 | echo -e "Conexão com a Porta Dialout do Arduino não está disponível, verifique se você conectou" 198 | echo -e "corretamente o Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute" 199 | echo -e "novamente esse script." 200 | exit 1 201 | fi 202 | # 203 | echo -e "Verificando o grupo de acesso ao Dialout do Arduino, aguarde..." 204 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais 205 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado 206 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando 207 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT) 208 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão 209 | # opção da variável de ambiente $?: Código de retorno do último comando executado 210 | # opção do operador relacional ==: Igual 211 | if [ "$(sudo cat /etc/group | grep dialout &>> $LOG ; echo $?)" == "0" ] 212 | then 213 | echo -e "Grupo Dialout: $(sudo cat /etc/group | grep dialout)" 214 | echo -e "Grupo de acesso ao Dialout do Arduino verificado com sucesso!!!, continuando com o script....\n" 215 | sleep 5 216 | # 217 | echo -e "Verificando os Membros efetivos dos grupos Dialout e Plugdev, aguarde..." 218 | # opção do comando members: -a (all) 219 | echo -e "Grupo Dialout: $(sudo members -a dialout)" 220 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)" 221 | echo -e "Membros efetivos dos grupos Dialout e Plugdev verificado com sucesso!!!, continuando com o script....\n" 222 | sleep 5 223 | # 224 | echo -e "Adicionando o usuário local: $USUARIO nos grupos: Dialout, Plugdev, TTY e UUCP, aguarde..." 225 | # opção do comando usermod: -a (append), -G (groups) 226 | # opção do comando members: -a (all) 227 | sudo usermod -a -G dialout $USUARIO 228 | sudo usermod -a -G plugdev $USUARIO 229 | sudo usermod -a -G tty $USUARIO 230 | sudo usermod -a -G uucp $USUARIO 231 | echo -e "Grupo Dialout: $(sudo members -a dialout)" 232 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)" 233 | echo -e "Grupo TTY: $(sudo members -a tty)" 234 | echo -e "Grupo UUCP: $(sudo members -a uucp)" 235 | echo -e "Usuário $USUARIO: $(id)" 236 | echo -e "Usuário adicionado nos grupos com sucesso!!!, Pressione para continuar.\n" 237 | read 238 | sleep 5 239 | else 240 | echo -e "Grupo de Dialout do Arduino não está disponível, verifique se você conectou corretamente o" 241 | echo -e "Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute novamente esse script." 242 | exit 1 243 | fi 244 | # 245 | echo -e "Fazendo o download do Arduino IDE 2.x e Cli do site Oficial, aguarde..." 246 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 247 | # opção do comando mkdir: -v (verbose) 248 | # opção do comando wget: -v (verbose), -O (output-document) 249 | sudo mkdir -v /tmp/arduino-ide &>> $LOG 250 | sudo wget -v -O /tmp/arduino-ide/arduino.zip $ARDUINOIDE &>> $LOG 251 | sudo wget -v -O /tmp/arduinocli.tar.gz $ARDUINOCLI &>> $LOG 252 | echo -e "Download do Arduino IDE 2.x do site Oficial feito com sucesso!!!, continuando com o script...\n" 253 | sleep 5 254 | # 255 | echo -e "Fazendo o download do Arduino Agent Cloud do site Oficial, aguarde..." 256 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 257 | # opção do comando wget: -v (verbose), -O (output-document) 258 | # opção do comando chmod: -v (verbose), +x (execution) 259 | sudo wget -v -O /tmp/agentarduino.run $AGENTARDUINO &>> $LOG 260 | sudo chmod -v +x /tmp/*.run &>> $LOG 261 | echo -e "Download do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n" 262 | sleep 5 263 | # 264 | echo -e "Descompactando o Arduino IDE 2.x e Cli no diretório: $PATHARDUINO, aguarde..." 265 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 266 | # opção do comando mv: -v (verbose) 267 | # opção do comando cp: -R (recursive), -v (verbose) 268 | # opção do comando tar: -z (gzip), -x (extract), -v (verbose), -f (file) 269 | cd /tmp/arduino-ide/ 270 | sudo unzip arduino.zip &>> $LOG 271 | sudo mv -v arduino-ide*/ $PATHARDUINO &>> $LOG 272 | sudo cp -Rv $PATHINSTALL/icons $PATHARDUINO &>> $LOG 273 | sudo cp -v $PATHINSTALL/shortcut/arduino-ide.desktop $PATHSHORTCUT &>> $LOG 274 | cd .. 275 | sudo tar -zxvf arduinocli.tar.gz &>> $LOG 276 | sudo mv -v arduino-cli $PATHARDUINO &>> $LOG 277 | echo -e "Descompactação do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n" 278 | sleep 5 279 | # 280 | echo -e "Instalando o Arduino Agent Cloud, aguarde..." 281 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 282 | # opção do comando mv: -v (verbose) 283 | cd /tmp 284 | ./agentarduino.run 285 | echo -e "Instalação do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n" 286 | sleep 5 287 | # 288 | echo -e "Criando os Links Simbólicos do Arduino IDE 2.x e Cli no diretório: /usr/local/bin/, aguarde..." 289 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 290 | # opção do comando ln: -s (symbolic), -v (verbose) 291 | # opção do comando cp: -R (recursive), -f (force), -v (verbose) 292 | sudo ln -sv $PATHARDUINO/arduino-ide /usr/local/bin/arduino-ide &>> $LOG 293 | sudo ln -sv $PATHARDUINO/arduino-cli /usr/local/bin/arduino-cli &>> $LOG 294 | echo -e "Links Simbólicos do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n" 295 | sleep 5 296 | # 297 | echo -e "Instalando o Fritzing, aguarde..." 298 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 299 | # opção do comando apt: -y (yes) 300 | sudo apt install -y fritzing &>> $LOG 301 | echo -e "Instalação do Fritzing feito com sucesso!!!, continuando com o script...\n" 302 | sleep 5 303 | # 304 | echo -e "Clonando o projeto do Fritzing Parts do Github, aguarde..." 305 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando 306 | sudo git clone $FRITZING /usr/share/fritzing/parts &>> $LOG 307 | cd ~/arduino/ &>> $LOG 308 | echo -e "Projeto do Fritzing Parts clonado com sucesso!!!, continuando com o script...\n" 309 | sleep 5 310 | # 311 | echo -e "Instalação do Arduino IDE 2.x, Cli, Cloud e do Fritzing feita com Sucesso!!!" 312 | # script para calcular o tempo gasto (SCRIPT MELHORADO, CORRIGIDO FALHA DE HORA:MINUTO:SEGUNDOS) 313 | # opção do comando date: +%T (Time) 314 | HORAFINAL=$(date +%T) 315 | # opção do comando date: -u (utc), -d (date), +%s (second since 1970) 316 | HORAINICIAL01=$(date -u -d "$HORAINICIAL" +"%s") 317 | HORAFINAL01=$(date -u -d "$HORAFINAL" +"%s") 318 | # opção do comando date: -u (utc), -d (date), 0 (string command), sec (force second), +%H (hour), %M (minute), %S (second), 319 | TEMPO=$(date -u -d "0 $HORAFINAL01 sec - $HORAINICIAL01 sec" +"%H:%M:%S") 320 | # $0 (variável de ambiente do nome do comando) 321 | echo -e "Tempo gasto para execução do script $0: $TEMPO" 322 | echo -e "Pressione para concluir o processo." 323 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60) 324 | echo -e "Fim do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG 325 | read 326 | exit 1 327 | -------------------------------------------------------------------------------- /shortcut/arduino-ide.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Exec=/opt/arduino20/arduino-ide 4 | Name=Arduino IDE 5 | Icon=/opt/arduino20/icons/256x256/apps/arduino.png 6 | Terminal=false 7 | StartupNotify=true --------------------------------------------------------------------------------