Linux系统中源码安装1.8.x版本Arduino IDE

 本文内容参考:

Ubuntu22.04安装Arduino IDE及Arduino UNO(使用CH341驱动)调试方法__KILLMILEDC_的博客-CSDN博客

在Linux上下载arduino_不说话的白帽子的博客-CSDN博客

https://guoqing.blog.csdn.net/article/details/88913063?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-88913063-blog-117020864.235%5Ev36%5Epc_relevant_default_base3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-88913063-blog-117020864.235%5Ev36%5Epc_relevant_default_base3&utm_relevant_index=2

接前一篇文章:Linux系统中源码安装Arduino IDE

在上一篇文章中介绍了Arduino IDE最新版本(2.1.0)的源码安装,本文介绍老版本(1.8.x)的源码安装。

一、下载Arduino IDE安装包

1. 进入官方下载页

首先通过浏览器进入Software | Arduino。页面如下所示:

2. 选择下载版本

向下滑动页面到老版本(1.8.x),如下所示:

这里的版本是1.8.19。选择以上页面中的“Linux 64 bits”。点击之后进入以下页面:

点击“JUST DOWNLOAD” 进行下载(大小为123MB,需要一定时间)。下载完成后的文件名称为arduino-1.8.19-linux64.tar.xz,将其放置到自行指定的路径。 

3. 解压源码包

运行tar命令解压源码包。实际命令及结果如下所示:

$ tar Jxvf arduino-1.8.19-linux64.tar.xz
……
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.7/NINA_W102-Nano_RP2040_Connect.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.7/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.7/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.3.0/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.3.0/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.3.0/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.4/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.4/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.4/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.2/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.2/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.2/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.3/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.3/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.3/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.0/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.0/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.0/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.0.0/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.0.0/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.1.0/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.1.0/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.1/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.1/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.1/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.8/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.8/NINA_W102-Nano_RP2040_Connect.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.8/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.8/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.3/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.3/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.3/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.2/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.2/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.2/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.6/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.6/NINA_W102-Nano_RP2040_Connect.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.6/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.6/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.1/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.1/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.2.1/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.5/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.5/NINA_W102-Nano_RP2040_Connect.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.5/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.5/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.4/
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.4/NINA_W102.bin
arduino-1.8.19/tools/WiFi101/tool/firmwares/NINA/1.4.4/NINA_W102-Uno_WiFi_Rev2.bin
arduino-1.8.19/tools/howto.txt

查看源码内容:

$ ls arduino-1.8.19/
arduino  arduino-builder  arduino-linux-setup.sh  examples  hardware  install.sh  java  lib  libraries  revisions.txt  tools  tools-builder  uninstall.sh

二、安装Arduino IDE

1. 进入解压后的源码根目录

进入解压后的arduino-1.8.19目录,如下所示:

$ cd arduino-1.8.19/

2. 执行Arduino IDE安装脚本

以root特权执行安装脚本。实际命令及结果如下所示:

$ sudo ./install.sh 
Adding desktop shortcut, menu item and file associations for Arduino IDE...


 done!

同时在应用程序中可以看到Arduino IDE的桌面图标:

点击图标运行,可能会发生闪退。如果出现这种情况,则需要在终端下进入arduimo-1.8.19源码根目录,执行arduino看一下具体出错原因,如下所示:

penghao@Ding-Perlis-MP260S48:~/Arduino/arduino-1.8.19$ ./arduino
$ ./arduino
Picked up JAVA_TOOL_OPTIONS: 
错误的 IDE 安装文件夹: 你的 IDE 安装在项目文件夹的子文件夹内。
请将 IDE 移动到其他文件夹。

解决这个问题只需要将arduino-1.8.19文件夹版本移动到上一级目录下即可。

此时再次运行arduino,出现以下界面:

点击上图中的返回按钮或者“X”,然后还会出现几个相同错误的界面,依次都点击之后最终出现如下界面:

可以看到,上边IDE中出现的都是乱码,这说明1.8.x版本与笔者系统存在一些兼容性问题。因此还是推荐使用2.x版本。

这里还有一个问题,虽然在命令行直接运行./arduino能够启动了,但是点击桌面图标还是会闪退。解决方法如下:

编辑/usr/local/share/applications/arduino-arduinoide.desktop文件,将“Exec=”一行的内容中的路径更改为源码根目录移动之后的路径。保存修改后,再次点击图标,就和上边通过命令行运行一样了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/25658.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux NGINX服务 ReWrite^location

ReWrite^location 从功能看 rewrite 和 location 似乎有点像,都能实现跳转,主要区别在于 rewrite 是在同一域名内更改获取资源的路径,而 location 是对一类路径做控制访问或反向代理,还可以proxy_pass 到其他机器。 rewrite 对访问…

c++ new 源码学习一下

之前有一篇文章介绍了 new 的一些用法 c new 在指定内存上创建对象&#xff0c;今天结合源码来学习一下 new 更详细的用法。相关的源码&#xff1a;gcc git 1&#xff0c;void* operator new (std::size_t size); 我们可以在头文件<new>里看到它的原型&#xff1a; _G…

C++11 -- lambda表达式

文章目录 lamaba表达式的引入lambda表达式语法lamabda达式各部分说明捕获列表说明 lamaba表达式底层原理探索 lamaba表达式的引入 在C11之前,如果我们想对自定义类型Goods排序,可以根据姓名,价格,学号按照从大到小或者从小到大的方式排序,可是,这样我们要写额外写6个相关的仿函…

Quest 3初体验,或是苹果MR最大竞争对手

随着苹果MR临近&#xff0c;我们从彭博Mark Gurman了解到更多消息。昨日&#xff0c;Mark Gurman发布了Quest 3上手体验文章&#xff0c;并认为Quest 3可能是苹果MR头显最大的竞争对手。 1&#xff0c;Meta是XR头显领导者 尽管WWDC 23苹果MR将会成为最大的主角&#xff0c;但…

node.js与内置模块

一、目标 能够知道什么是Node.js能够知道Node.js可以做什么能够说出Node.js中的JavaScript的组成部分能够使用fs模块读写操作文件能够使用path模块处理路径能够使用http模块写一个基本的web服务器 二、目录 初始Node.jsfs文件系统模块path路径模块http模块 1.初始Node.js …

macos wireshark 抓取https包

1、启动浏览器 1.1 创建空文件 $ touch /Users/zhujl/Downloads/https/mysslkey.log 2、设置wireshark tls属性&#xff0c;指定tls密钥存储文件 2.1 进入Wireshark Preferfences > Protocols > TLS 属性配置 2.2 勾选上Reassemable TLS records spanning multiple …

设计模式B站学习(一)(java)

这里写目录标题 一、设计模式概述1.1 软件设计模式的产生背景1.2 软件设计模式的概念1.3 学习设计模式的必要性1.4 设计模式分类 二、UML图2.1 类图概述2.2 类图的作用2.3 类图表示法2.3.1 类图表示方法2.3.2 类与类之间关系的表示方法2.3.2.1 关联关系2.3.2.2 聚合关系2.3.2.3…

Selenium的使用

一、基础 1、特点 selenium 是web中基于UI的自动化测试工具&#xff0c;它支持多平台、多语言、多浏览器&#xff0c;还有丰富的API。 2、原理 自动化脚本代码会创建一个http请求发送给浏览器驱动进行解析&#xff0c;浏览器驱动会操控浏览器执行测试&#xff0c;浏览器接着…

ffmpeg编译成wasm

最近在看ffmpeg的源码 https://ffmpeg.xianwaizhiyin.net/ffplay/ https://crifan.github.io/media_process_ffmpeg/website/audio_process/ 做个可运行的例子 代码在找了一堆&#xff0c;可用的版本放在这 https://github.com/killinux/ffmpeg_wasm_demo 先把ffmpeg 编译成 …

内蒙古自治区出台加快充换电基础设施建设实施方案

摘要&#xff1a;为深入贯彻落实《国务院办公厅关于印发新能源汽车产业发展规划&#xff08;2021—2035年&#xff09;的通知》&#xff08;国办发 ﹝2020﹞39号&#xff09;、《国家发展改革委等部门关于进一步提升电动汽车充电基础设施服务保障能力的实施意见》&#xff08;发…

Unity——在C#中调用C++动态链接库(DLL)

一、创建C动态链接库&#xff08;DLL&#xff09; 1、新建C空项目 打开VS&#xff0c;新建一个C空项目&#xff0c;自命名项目名称与位置。 2、配置项目属性为动态链接库 右键项目&#xff0c;点击属性&#xff0c;打开项目属性页&#xff0c;将常规中的配置类型改为动态库&…

电力电子技术的论文

电力电子技术的论文范文一&#xff1a;Matlab电力电子技术应用 【文章摘要】信息技术的快速发展推动许多学科进一步完善&#xff0c;以电力电子技术为例&#xff0c;其本身具有较强的理论性、实践性等特征&#xff0c;涉及的波形图、电路图也较多&#xff0c;相关设计人员需掌握…

【C++初阶】C++STL详解(一)—— string类

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C初阶 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 CSTL详解&#xff08;一…

新华三的网络脉动:为AI泵血,向产业奔流

AI大模型作为最新的通用技术&#xff0c;今年以来&#xff0c;发展如火如荼。也有很多从业者和专家注意到&#xff0c;AI模型训练和应用过程中&#xff0c;需要优先考虑网络的升级与适配。 如果说数据中心、算力集群是AI的“心脏”&#xff0c;那么网络就犹如AI的“动脉”&…

综合指挥调度系统行业分类汇总

综合指挥调度系统是将语音、视频、GIS进行高度融合&#xff0c;构建“平战结合”的指挥调度模式&#xff0c;既满足平时的应急培训、日常通信、会议会商等要求&#xff0c;也能够应对战时的应急指挥、应急救援、应急决策等需求&#xff0c;达到统一指挥、联合行动的目的&#x…

ArduPilot之H743+BMI270x2+First Normal Takeoff

ArduPilot之H743BMI270x2First Normal Takeoff 1. 源由2. 正常起飞3. 问题汇总3.1 机架构型3.2 IMU对齐3.3 接收机3.4 GPS3.5 VTX3.6 电调3.7 PID 4. 总结5. 参考资料6. 附录6.1 补充AcroTrainer视频6.2 补充Acro视频 1. 源由 鉴于目前该飞控板子在ArduPilot开源社区尚未得到官…

15.2:分金条的最小代价

一块金条切成两半&#xff0c;是需要花费和长度数值一样的铜板 比如长度为20的金条&#xff0c;不管怎么切都要花费20个铜板&#xff0c;一群人想整分整块金条&#xff0c;怎么分最省铜板? 例如&#xff0c;给定数组{10,20,30}&#xff0c;代表一共三个人&#xff0c;整块金条…

笔试强训错题总结(一)

笔试强训错题总结 文章目录 笔试强训错题总结选择题编程题连续最大和不要二最近公共祖先最大连续的bit数幸运的袋子手套 选择题 以下程序的运行结果是&#xff08;&#xff09; #include <stdio.h> int main(void) {printf("%s , %5.3s\n", "computer&q…

chatgpt赋能python:Python反转输出正整数-让计算更简单

Python反转输出正整数-让计算更简单 Python是一种高级编程语言&#xff0c;除了可以完成各种任务&#xff0c;还可以反转输出正整数。在本篇SEO文章中&#xff0c;我将介绍如何使用Python编程语言反转输出正整数&#xff0c;并且展现了这个方法是如何简化计算。 什么是Python…

linux网络初探

linux网络 1.1查看本机ip IP地址 IP地址网络地址主机地址&#xff0c;网络地址&#xff08;网络号&#xff09;相同的主机为本地网络中的主机&#xff0c;可以直接相互通信&#xff0c;而网络地址不同的主机为远程网络中的主机&#xff0c;相互通信必须通过本地网关&#xf…