Ubuntu:Arduino IDE 开发环境配置【保姆级】
物联网开发学习笔记——目录索引
本章主要介绍在Ubuntu系统搭建Arduino IDE 开发环境,windows系统请移步:Windows:Arduino IDE 开发环境配置【保姆级】
参考官网:Arduino - Home
有关更多详细信息,请参阅 Arduino IDE 2.0 文档。Arduino IDE 是开源的,其源代码托管在GitHub上。
我本人大部分时间都是直接使用Ubuntu系统,如您不想直接安装ubuntu系统,请先参考使用VirtualBox安装Ubuntu系统【保姆级】。
工欲善其事必先利其器,下面开始Ubuntu系统Arduino IDE 开发环境配置之路。
备注:此文档使用的Ubuntu系统为Ubuntu 20.04 LTS
一、Arduino IDE 下载
点击【SOFTWATE】

点击【Linux】软件版本下载

点击【JUST DOWNLOAD】下载

考虑到国内访问比较慢,我已经把软件上传到百度网盘
链接:百度网盘 请输入提取码
提取码:test 目录:IOT-IDE -> Arduino-IDE -> linux

文件:arduino-ide_2.2.1_Linux_64bit.zip 和 arduino-ide_2.2.1_Linux_64bit.AppImage
二、Arduino IDE 安装
有两种方式:
1. 使用 arduino-ide_2.2.1_Linux_64bit.zip 安装
先解压:
$ unzip arduino-ide_2.2.1_Linux_64bit.zip
执行:./arduino-ide
$ cd arduino-ide_2.2.1_Linux_64bit
$ ./arduino-ide
启动Arduino-IDE, 在这个界面,请耐心等待
启动完成,进入如下界面:

2. 使用arduino-ide_2.2.1_Linux_64bit.AppImage安装
给arduino-ide_2.2.1_Linux_64bit.AppImage文件可执行权限
$ chmod a+x arduino-ide_2.2.1_Linux_64bit.AppImage
然后直接执行./arduino-ide_2.2.1_Linux_64bit.AppImage
./arduino-ide_2.2.1_Linux_64bit.AppImage
在如下窗口,点击【Agree】


3. 其他arduino版本安装方法
注意:其他版本安装方式可能会有一些不一样,如arduino-1.8.19-linux64.tar.xz
1. xz -d xxx.tar.xz 解压成 xxx.tar 格式文件
$ xz -d arduino-1.8.19-linux64.tar.xz2. 然后再 tar -xvf xxx.tar 解压文件
$ tar -xvf arduino-1.8.19-linux64.tar

解压后
1. 进入arduino-1.8.19/
$ cd arduino-1.8.19/2. 执行./install.sh 安装
$ $ sudo ./install.sh

安装完成后,直接命令行输入arduino运行
$ arduino
运行界面:

4. 语言配置,可以根据自己喜好配置。

三、Arduino IDE 中安装开发板
这部分和
从 1.6.4 开始,Arduino 允许使用 Boards Manager 安装第三方平台软件包。
这个小结介绍在Arduino IDE中添加开发板,我目前手上有esp8266和esp32开发板,所有我就已添加esp8266/esp32开发板为例,进行详细的介绍。
1. 安装esp8266开发板
参考:GitHub - esp8266/Arduino:Arduino 的ESP8266核心
首先介绍esp8266开发板的安装,打开Arduino IDE “首选项”
英文:点击【File】-> 【Preferences】
中文:点击【文件】-> 【首选项】

在Arduino IDE的“首选项”对话框中找到“其他开发板管理地址”
英文:点击【Additional boards manager URLs】
中文:点击【其他开发板管理地址】

将以下网址复制并且黏贴到到Additional boards manager URLs”/“其他开发板管理地址” 栏中,并点击OK
http://arduino.esp8266.com/stable/package_esp8266com_index.json

点击【OK】后,会提示“正在下载package_esp8266com_index.json索引”
等待下载完成,打开Arduino IDE的“开发板管理器”
英文:点击【Tools】-> 【Board】-【boards manager 】
中文:点击【工具】-> 【开发板】->【开发板管理器】

在“开发板管理器”的搜索栏中输入“esp8266”

确认是否成功安装“esp8266”开发板,如果提示【已安装】表示已经安装成功
英文界面:

中文界面:

2. 安装esp32系列开发板
参考:Welcome to ESP32 Arduino Core’s documentation — Arduino-ESP32 2.0.6 documentation
基本和【1. 安装esp8266开发板】类似,在Arduino IDE的“首选项”对话框中找到“其他开发板管理地址” 并添加如下地址
-
稳定版发布链接:
https://espressif.github.io/arduino-esp32/package_esp32_index.json -
开发发布链接:
https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
四、Arduino IDE 运行示例程序
在测试之前,请确保您已完成以下准备工作:
-
您已经在电脑里成功安装好Arduino IDE
-
使用USB数据线将开发板与电脑连接好
-
开发板驱动程序已成功安装。
在Arduino IDE的开发板菜单中找到您的开发板,如我使用的esp8266开发板是【NodeMCU 1.0 (ESP-12E module)】,您需要根据自己所使用开发板的实际情况选择。

设置Arduino IDE的开发板端口,您需要根据自己所使用开发板的实际情况选择。

假如您不知道如何查看开发板连接的端口号,请看备注【查看开发板端口号】
打开Blink示例程序

将Blink示例程序编译上传给esp8266【NodeMCU 1.0 (ESP-12E module)】开发板

注意:如上传的时候arduino出现Permission denied: '/dev/ttyUSB0'错误
主要错误信息:
SerialException: [Errno 13] could not open port /dev/ttyUSB0: [Errno 13] Permission denied: '/dev/ttyUSB0'
Cannot connect to Arduino!
解决方案:
打开终端并执行以下命令:
sudo usermod -a -G dialout $USER
然后重新插拔usb或重新启动Arduino IDE,再次运行上传。
确认开发板上LED开始闪烁
程序上传完毕,如果看到开发板上的LED开始闪烁说明Blink示例程序编译上传成功。恭喜您现在可以用Arduino IDE为开发板编写控制程序了。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
备注
查看开发板端口号
1. 首先电脑和开发板使用usb数据线相连

2. 查看开发板连接的端口号
Ubuntu 20.04 LTS系统默认自动usb转串口驱动程序,使用如下命令参考端口号
$ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 10月 15 15:45 /dev/ttyUSB0
参考资料
Arduino官网:Arduino - Home
GitHub - esp8266/Arduino: ESP8266 core for Arduino
乐鑫官网:Getting Started — Arduino-ESP32 2.0.6 documentation
物联网开发学习笔记——目录索引
相关文章:
Ubuntu:Arduino IDE 开发环境配置【保姆级】
物联网开发学习笔记——目录索引 本章主要介绍在Ubuntu系统搭建Arduino IDE 开发环境,windows系统请移步:Windows:Arduino IDE 开发环境配置【保姆级】 参考官网:Arduino - Home 有关更多详细信息,请参阅 Arduino I…...
Kafka 开启SASL/SCRAM认证 及 ACL授权(三)验证
Kafka 开启SASL/SCRAM认证 及 ACL授权(三)验证。 官网地址:https://kafka.apache.org/ 本文说明如何做client验证ACL是否生效,我们之前开启了无acl信息不允许访问的配置。涉及的client有以下几个场景:shell脚本、python脚本、java应用、flink流。 kafka shell script验证…...
Pycharm 2023 设置远程调试
pycharm 版本 : 2023.2.1 整体流程参考:https://blog.csdn.net/xuanhaolaile/article/details/128293254 首先确定远程服务器上已经安装好 requirements.txt 中所需的依赖包。 1、SSH Configurations 添加远程服务器 2、Python Interpreter 注意&…...
asp.net core在其他程序集获取HttpContext
首先在Program.cs中,注册 builder.Services.AddHttpContextAccessor();Program.cs完整代码: using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.CodeAnalysis.CSharp.Syntax; using System.Text.Encodings.Web; using System.Text.Unicode; us…...
UWB NI框架嵌入式实现——Qorvo示例
在Qorvo提供的DW3000示例代码中,实现了与Apple的NI框架的互通的示例,本文中针对其示例程序进行简要的分析。测试中使用Qorvo提供的模块,该模块为nRF52833DW3000的架构。 1. Qorvo相关库文件 Qorvo在提供示例时,仅提供了相关的库文…...
Linux OS源的问题记录
场景 安装了一台Linux虚拟机充当服务器,准备搭建一个elk环境,我使用命令安装docker的时候,报错提示 YumRepo Error: All mirror URLs are not using ftp, http[s] or file.Eg. Invalid release/repo/arch combination/ removing mirrorlist…...
数据库:Hive转Presto(五)
此篇将所有代码都补充完了,之前发现有的代码写错了,以这篇为准,以下为完整代码,如果发现我有什么考虑不周的地方,可以评论提建议,感谢。代码是想哪写哪,可能比较繁琐,还需要优化。 …...
SQL中for xml path 的用法
1. 用法 是一种将查询结果转换为 XML 格式的方法。它可以将查询结果中的每一行转换为一个 XML 元素,并且可以指定元素的名称和属性。 2. 应用示例 有一张学生选修课程的表,如下图所示 希望整合成下图所示效果 --建表 if object_id(StudentInfo,u) is…...
【TensorFlow2 之014】在 TF 2.0 中实现 LeNet-5
一、说明 在这篇文章中,我们将展示如何在 TensorFlow 中实现像 \(LeNet-5\) 这样的基础卷积神经网络。LeNet-5 架构由 Yann LeCun 于 1998 年发明,是第一个卷积神经网络。 数据黑客变种rs 深度学习 机器学习 TensorFlow 2020 年 2 月 29 日 | 0 …...
【2023】redis-stream配合spring的data-redis详细使用(包括广播和组接收)
目录 一、简介1、介绍2、对比 二、整合spring的data-redis实现1、使用依赖2、配置类2.1、配置RedisTemplate bean2.2、异常类 3、实体类3.1、User3.2、Book 4、发送消息4.1、RedisStreamUtil工具类4.2、通过延时队列线程池模拟发送消息4.3、通过http主动发送消息 5、dz…...
飞书应用机器人文件上传
背景: 接上一篇 flask_apscheduler实现定时推送飞书消息,当检查出的异常结果比较多的时候,群里会有很多推送消息,一条条检查工作量会比较大,且容易出现遗漏。 现在需要将定时任务执行的结果记录到文件,…...
高版本Mac系统如何打开低版本的Xcode
这里写目录标题 前言解决方案 前言 大家偶尔也碰见过更新Mac系统后经常发现低版本的Xcode用不了的情况吧.基本每年大版本更新之后都可以在各个开发群里碰见问这个问题的. 解决方案 打开访达->应用程序->选中打不开的那个版本的Xcode并且右键显示包内容->Contents-…...
测试H5需要注意的交互测试用例点
H5(HTML5)是一种用于构建网页的标准,可以实现丰富的交互和功能。测试H5交互通常涉及到验证网页在各种情况下的行为,包括用户输入、按钮点击、页面加载等等。以下是一些可能的H5交互测试用例: 页面加载: 验…...
1014蓝桥算法双周赛,学习算法技巧,助力蓝桥杯
家人们,我来免费给大家送福利了!!! 【1014蓝桥算法双周赛 】 背景 蓝桥杯全国软件和信息技术专业人才大赛是由工业和信息化部人才交流中心举办的全国性IT学科赛事。参赛高校超过1200余所,累计参赛人数超过40万人。该…...
C语言之通讯录的实现篇
目录 test.c 主菜单menu 创建通讯录con 初始化通讯录InitContact 增加个人信息AddContact 展示个人信息ShowContact 删除个人信息DelContact 查找个人信息SearchContact 修改个人信息ModifyContact test.c总代码 contact.h 头文件包含 PeoInfo_个人信息的设置声…...
如何降低海康、大华等网络摄像头调用的高延迟问题(二)
目录 1.RTSP介绍 2.解决办法1 3.解决办法2 1.RTSP介绍 RTSP(Real-time Streaming Protocol)是一种用于实时流媒体传输的网络协议。它被设计用于在服务器和客户端之间传输音频、视频以及其他流媒体数据。 RTSP协议允许客户端通过与服务器建立RTSP会话…...
centos清理日志和缓存
今天使用redmine修改密码,修改报错,再去试试创建用户,创建用户的页面直接报错显示不出来。然后看了一下服务器,发现服务器磁盘空间全部占满了。 CentOS系统也会在使用很长一段时间后出现硬盘空间开始不够的情况,而这并…...
排序算法的稳定性
什么是排序算法的稳定性? 排序算法的稳定性: 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i] r[j],且 r[i…...
kafka属性说明
kafka中关于一些字段说明 groupId :标识消费者分组id,如果多个消费者id相同,就表示这几个消费者是一组,当一组多个消费者消费同一个topic时,一组中只会有一个成功消费 代码如下 这时只会有一条消息被消费...
STM32F4使用ucosii时操作浮点数卡死的问题
STM32F4使用ucosii时操作浮点数卡死的问题_stm32 fpu float 程序跑不起来_shou撕代码的博客-CSDN博客...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
