这周收到两片基于LGT8F328P LQFP32的Arduino Mini EVB, 机器上没有 Arduino 环境需要新安装, 正好感受一下新出的 Arduino IDE 2.x, 记录一下 Ubuntu 20.04/22.04 下安装 Arduino IDE 2.x 的过程.

下载解压

下载

解压, 将解压后的文件移动到 /opt

cd /opt/
sudo mkdir arduino
sudo mv ~/Backup/linux/arduino-ide_2.0.3_Linux_64bit .
sudo chown -R root:root arduino-ide_2.0.3_Linux_64bit/
# 将这个目录软链为 latest, 方便以后替换新版本时不需要再改桌面快捷方式里的路径
sudo ln -s arduino-ide_2.0.3_Linux_64bit latest

安装

在命令行中直接运行 arduino-ide 就可以了

cd latest/
./arduino-ide

第一次启动时, 会自动检查更新并下载, 初始化用户Home目录下的 .arduino15 和 .arduinoIDE 目录.

但是这个过程有些问题, 如果网络不好, 或者正好被墙, 这个启动界面会一直卡在那里. 如果能进界面了可以在界面上设置代理, 但是还没启动, 就只能通过其它途径.

通过配置文件设置代理

先关掉卡住的界面, 然后编辑用户目录下的 arduino-cli.yaml 文件, 位置在 ~/.arduinoIDE/arduino-cli.yaml,

添加以下的内容, 代理的IP和端口, 用户名等根据自己的环境设置

network:
proxy: http://<username>:<password>@<host>:<port>

这个代理支持 socks5, 如果用 socks5 需要修改一下协议头

network:
proxy: socks5://127.0.0.1:1080

然后再命令行运行, 能看到下载能正常连接, 界面就可以正常展示了

增加桌面快捷方式 Desktop Launcher

每次到命令行下启动还是不方便, 可以手动创建一个桌面快捷方式

创建文件 ~/.local/share/applications/arduino.desktop , 添加以下内容

[Desktop Entry]
Version=1.0
Type=Application
Name=Arduino IDE 2.0.0
Icon=/opt/arduino/latest/ide-logo.png
Exec=/opt/arduino/latest/arduino-ide
Comment=The Arduino Software IDE
Categories=Development;IDE;
Terminal=false

注意里面的 ide-logo.png 不是现成的, 我在安装目录里找了几个, 最后用的是这个路径的图片 [arduino install path]/resources/app/node_modules/arduino-ide-extension/src/browser/style/ide-logo.png 将其复制到最外层目录

创建完图标不会立即可用, 多打开几次桌面 launcher, 过会儿就出来了.

窗体与底栏图标的关联

上面的快捷方式启动后, 在底栏显示的程序图标是一个空白, 需要在 arduino.desktop 中增加一行关联上对应的窗体名称

StartupWMClass=arduino ide

这个值是通过 xprop WM_CLASS 获取的, 运行这个命令后, 鼠标变成十字形, 点击对应的窗口就能看到对应的 WM_CLASS 值

$ xprop WM_CLASS
WM_CLASS(STRING) = "arduino ide", "Arduino IDE"

第三方库的安装

有不少第三方库用的是 GitHub 仓库, 而通过 GitHub 仓库的 json 进行配置就绕不开 raw.githubusercontent.com 这个域名, 而这个域名因为众所周知的原因完全不可用(除非你改本地hosts), 很多库需要通过手工进行安装.

比如对应 LGT8F328P 的库 dbuezas/lgt8fx, 需要先去下载最新的包(当前是 lgt8f-2.0.0.zip), 然后解压到 Arduino 目录中

所在的目录是 /home/[user name]/.arduino15/packages, 将 lgt8fx 解压后放入的结构如下图所示

安装其它的包参照这个结构就可以. 可以在 staging/packages 下再放一份 lgt8f-2.0.0.zip 文件.

Arduino IDE 2.x 的简单使用感受

IDE2.x的使用和1.x差别不大, 最大的区别就是增加了侧栏. 风格和 VSCode 接近, 但是操作方式还是和 IDE 1.x 差不多.

快捷键: 编译 Ctrl+R, 烧录 Ctrl+U, 查看串口 Shift+Ctrl+M

新建标签页要通过右上角的图标展开

Ubuntu20.04/22.04 安装 Arduino IDE 2.x的更多相关文章

  1. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

  2. Arduino可穿戴教程Linux平台下安装Arduino IDE

    Arduino可穿戴教程Linux平台下安装Arduino IDE Linux平台下安装Arduino IDE Linux平台下的安装方式和Windows下的zip形式安装是类似的,只是Linux下的 ...

  3. Ros使用Arduino 1安装Arduino IDE

    安装Arsuino IDE sudo apt-get install arduino 设置库文件路径 在使用ROS的库文件时,必须在代码的开头包括: #include <ros.h> 接下 ...

  4. Win10 上 安装Arduino 驱动 和 Arduino IDE 1.6.9

    Win10 安装Arduino IDE软件 和 驱动 在Win10 上安装最新的Arduino IDE (1.6.9安装包)很简单,并且不行要手动安装Arduino板子的驱动,整个安装过程都当前的简单 ...

  5. Arduino IDE 开发 ESP-01S/ESP-01物联网实战检测温度湿度上传MQTT服务器

    一.硬件准备 USB转ESP8266两块.DHT11温度湿度传感器.ESP8266-01/ESP8266-01一块(如果学习的话多买几块,ESP-01/ESP-01S的区别) USB转ESP8266 ...

  6. 【linux】Ubuntu20.04使用apt安装tomcat9

    Ubuntu20.04使用apt安装tomcat9 前言 系统环境:ubuntu20.04 java版本:openjdk version "11.0.11" 2021-04-20 ...

  7. eclipse在Ubuntu 13.04下的安装过程

    eclipse在Ubuntu 13.04下的安装过程及问题小记 一.eclipse安装过程 首先确保在安装eclipse之前已经安装好Java虚拟机 1. eclipse官网下载压缩包 下载地址:ht ...

  8. ubuntu14.04下手动安装eclipse

    ubuntu14.04下手动安装eclipse 第一步: 安装jdk 第二步: 下载eclipse,假设下载的文件文件名为eclipse.tar.gz 第三步: 解压 sudo -zxvf ./ecl ...

  9. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  10. ubuntu14.04 64位 安装eclipse

    ubuntu14.04 64位 安装eclipse 1 在官网上下载eclipse http://www.eclipse.org/downloads/下载eclipse-jee-luna-SR1-li ...

随机推荐

  1. Selenium4.0+Python3系列(四) - 常见元素操作(含鼠标键盘事件)

    一.写在前面 上篇文章介绍的是关于浏览器的常见操作,接下来,我们将继续分享关于元素的常见操作,建议收藏.转发! 二.元素的状态 在操作元素之前,我们需要了解元素的常见状态. 1.常见元素状态判断,傻傻 ...

  2. while循环条件不成立却无法跳出死循环的问题

    在进入循环的时候,实际上是将A从内存加载到寄存器里面运行的,在整个循环中,A这个变量都只是在读取寄存器里面的值. 而当进入中断的时候,中断里面会从内存加载A到寄存器,修改完之后又存到内存里,然后退出中 ...

  3. Pictionary 方法记录

    [COCI2017-2018#5] Pictionary 题面翻译 题目描述 在宇宙一个不为人知的地方,有一个星球,上面有一个国家,只有数学家居住. 在这个国家有\(n\)个数学家,有趣的是,每个数学 ...

  4. ubuntu 基本指令

    系统相关 df: disk free 用以显示系统上文件系统磁盘的使用情况 # 以M/G单位显示硬盘空间大小 df -h apt: advanced packaging tool 包管理工具 apt ...

  5. MQTT GUI 客户端 可视化管理工具推荐

    一款好用的 MQTT 客户端工具可以极大地提高开发者使用MQTT的效率.MQTT 客户端工具常用于建立与 MQTT 服务器的连接,进行主题订阅.消息收发等操作. 今天,在此推荐一款优秀的MQTT GU ...

  6. 一次SpringBoot版本升级,引发的血案

    前言 最近项目组升级了SpringBoot版本,由之前的2.0.4升级到最新版本2.7.5,却引出了一个大Bug. 到底是怎么回事呢? 1.案发现场 有一天,项目组的同事反馈给我说,我之前有个接口在新 ...

  7. 【题解】CF374C Inna and Dima

    题面传送门 解决思路 本题是找最长路的图上问题,所以先考虑如何建图. 首先把每一个字母转化为数字,然后对于每一个点枚举四个方向,如果有下一个字母,就向那个点建一条边,可以用 \(vector\) 存图 ...

  8. IIS 配置集中式证书模块实现网站自动绑定证书文件

    在 Windows 环境下如果采用 IIS 作为 网站服务器时,常规的网站绑定 HTTPS 需要一个一个站点手动选择对应的证书绑定,而且证书过期之后更换证书时也是需要一个个重新绑定操作,无法便捷的做到 ...

  9. Go语言核心36讲23

    我在上两篇文章中,详细地讲述了Go语言中的错误处理,并从两个视角为你总结了错误类型.错误值的处理技巧和设计方式. 在本篇,我要给你展示Go语言的另外一种错误处理方式.不过,严格来说,它处理的不是错误, ...

  10. C++初阶(list容器+模拟实现)

    list介绍 list的本质是一个带头的双向循环链表. 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点 ...