- 博客(525)
- 资源 (123)
- 问答 (1)
- 收藏
- 关注
原创 物联网周刊(第 7 期):从创客到创业者的蜕变
这里记录每周值得分享的物联网资讯,每周五晚发布,欢迎订阅。本周刊开源(GitHub:getiot/iotweekly),欢迎共创。封面图詹姆斯·韦伯太空望远镜(James Webb Space Telescope),人类史上最复杂最高科技的科学设备之一,将于圣诞节发射,正式开启太空之旅。(via)行业动态1、华为鸿蒙 vs RT-Thread:大而全 or 小而美自从华为开放鸿蒙操作系统以来,业界常常将其与 RT-Thread 进行对比。虽然 OpenHarmony 是开源开放的,但其实鸿
2021-12-26 02:04:54 1022
原创 物联网周刊(第 6 期):开源硬件公司 Adafruit
这里记录每周值得分享的物联网资讯,每周五晚发布,欢迎订阅。本周刊开源(GitHub:getiot/iotweekly),欢迎共创。封面图基于 Gemma 可穿戴硬件制作的耳环(via)行业动态1、2021 RT-Thread 开发者大会圆满落幕12月18日,由睿赛德科技主办的一年一度 2021·RDC·RT-Thread 开发者大会在深圳圆满落幕!今年的主题是“Beyond”,寓意超越自我,突破边界。虽然近期疫情风险有所增加,但仍吸引了超过 800 名开发者到达现场。RT-Thread
2021-12-19 22:06:12 5508
原创 从小白到起飞的 RT-Thread 开发指南
Hello,大家好,我是 RT-Thread 宣传委员(自封的)????我经常给大家安利 RT-Thread,尤其是那些还没用上 RT-Thread、在纠结选择哪个 RTOS、要不要学习 RTOS 的朋友。RT-Thread 简介RT-Thread 是什么据不完全统计,世界有成千上万个 RTOS(Real-time operating system,实时操作系统),RT-Thread 就是其中一个优秀的作品。RT-Thread 内核的第一个版本是熊谱翔先生在 2006 年年初发布的 0.1 版本。
2020-12-26 03:56:51 26338 7
原创 Read the Docs 从懵逼到入门
继《GitBook 从懵逼到入门》,时隔两年,终于推出姐妹篇《Read the Docs 从懵逼到入门》。从阅读量来看,笔者已经感受到大家对 GitBook 和 Markdown 写作的关注度,所以决定再给大家介绍一种常见的文档管理方案 —— Sphinx + GitHub + Read the Docs 的文档管理方法。简单来说,就是先用 Sphinx 生成文档,然后用 GitHub 托管文档,再导入到 Read the Docs 生成在线文档。无论是管理技术文档、写书、写笔记,亦或想搭建一个属于你的
2020-10-11 00:16:46 7782 12
原创 10分钟入门 - 微信小程序开发
注册微信小程序如果你还没有微信公众平台的账号,请先进入微信公众平台首页,点击 “立即注册” 按钮进行注册。注册的账号类型可以是订阅号、服务号、小程序以及企业微信,我们选择 “小程序” 即可。接着填写账号信息,需要注意的是,填写的邮箱必须是未被微信公众平台注册、未被个人微信号绑定的邮箱,而且每个邮箱仅能申请一个小程序。激活邮箱之后,选择主体类型为 “个人类型”,并按要求登记主体信息。主体信息提...
2019-01-09 21:33:14 247369 81
原创 GitBook 从懵逼到入门
本文从 “是什么”、“为什么”、“怎么办”、“好不好” 四个维度来介绍 GitBook,带你从黑暗之中走出来,get 这种美妙的写作方式。是什么? 在我认识 GitBook 之前,我已经在使用 Git 了,毋容置疑,Git 是目前世界上最先进的分布式版本控制系统。 我认为 Git 不仅是程序员管理代码的工具,它的分布式协作方式同样适用于很多场合,其中一个就是写作(这会是一个...
2018-07-18 16:36:57 167191 106
原创 开启终身学习之旅
Linux公社(LinuxIDC.com)于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。Linux公社是专业的Linux系统门户网站,实时发布最新Linux资讯,包括Linux、Ubuntu、Fedora、RedHat、红旗Linux、Linux教程、Linux认证、SUSE ...
2016-04-27 21:42:37 4743 2
原创 手把手教你使用 VS Code 运行和调试 Python 程序
本文以 Ubuntu 系统为例,介绍如何在 VS Code 上配置 Python 的编程环境,并把 Python 程序运行、调试起来。由于 Python 是解释型语言,并且 VS Code 中提供了内置的调试器可用于调试 Python 代码,因此配置和操作流程比调试 C/C++ 代码要简单一些。
2024-01-20 16:46:12 1404
原创 手把手教你使用 VS Code 编译和调试 C/C++ 工程
本文以 Ubuntu 系统为例,介绍如何在 VS Code 上配置 C/C++ 的编译环境,并把工程运行、调试起来。
2024-01-18 20:38:03 913
原创 使用 Jupyter 分析 ROS 消息时间间隔抖动数据
是一个分布式机器人操作系统软件框架,节点之间通过松耦合的方式进行组合,包括使用 Topic、RPC 服务和参数服务器等方式进行通信。其中,Topic 是最常见的一种通信方式,例如一个雷达传感器节点实时采集三维点云数据,通过 Topic 发布到 ROS 系统,而 ROS 系统中的其他节点(如 Rviz)可以订阅这个 Topic,接收来自雷达的点云数据,将其显示出来。
2024-01-04 00:59:39 1070 1
原创 PbootCMS 应用快速迁移至浪潮信息 KeyarchOS 云服务器
众所周知,CentOS 是最流行的红帽克隆版,因为免费,所以它的安装量甚至比红帽本身要大得多。本来是相安无事的,有钱的大企业用付费的 RHEL(Red Hat Enterprise Linux 的缩写),没钱的小公司就用 CentOS,相当于让 CentOS 社区测试、找 Bug、解 Bug,最终回馈到 Red Hat。然而,红帽作为一家上市公司,在2019年被 IBM 以 340 亿美元的高价收购,成为当年开源界的大瓜。
2023-11-16 00:08:21 638 1
原创 如何在 Wio Terminal 上运行 RT-Thread 操作系统
是 Seeed Studio 设计的一款开发套件。它基于 SAMD51 的微控制器,运行速度为 120MHz(最高可达 200MHz),拥有 4MB 外部闪存和 192KB RAM,具有 Realtek RTL8720DN 支持的无线连接,同时支持蓝牙和 Wi-Fi 功能,是物联网项目的一个不错选择。并且它使用 Arduino IDE 就可以进行开发,新手也可以非常容易上手。
2023-10-02 02:11:16 407 2
原创 ROS1 和 ROS2 的 rosbag 存储格式及其转换方法
rosbag 是 ROS 中的一种常用的数据记录和回放工具,用于捕获和存储 ROS 消息。但是 ROS1 和 ROS2 的 rosbag 存储格式是不一样的,因此在使用过程中,常常会有 rosbag 格式转换的需求。因此,本文将介绍 ROS1 和 ROS2 中的 rosbag 格式,并演示如何使用 rosbags 工具进行转换。
2023-08-23 14:35:55 1261 2
原创 手把手教你编写 Linux 系统的 systemd 服务脚本
是一个系统和服务管理器,也是 Linux 操作系统中最常用的初始化系统之一。它的设计目标是提供更快、更有效、更可靠的系统启动过程,并提供强大的管理和监控服务的能力。本文首先介绍 systemd 服务脚本的基本情况,并通过一个简单的示例带领读者学习如何编写 systemd 服务脚本,实现 Linux 服务的自启动、启动、停止和重启管理。
2023-08-22 11:20:07 1351
原创 想用 Python 写游戏,都有哪些好用的游戏开发库?
虽然 Python 在网络爬虫、人工智能、数据分析方面有广泛应用,但它并不是一门专门做游戏开发的编程语言,不过对于小型的游戏开发,Python 还是挺香的。下面为大家介绍几个支持 Python 的 2D、3D 游戏开发库,使用它们,你可以设计出很多有意思的小游戏!
2023-08-19 13:05:36 821
原创 手把手教你如何编写 C++ 回调函数
回调模式是一种常见的设计模式,在 C++ 程序设计中有着广泛的应用。例如,在 SDK 的设计中,为增强 SDK 的通用性,比如嵌入算法逻辑、实现插件支持等,这时候回调函数就能派上用场了。下面通过三个示例,带领读者循序渐进设计 C++ 的回调函数,实现回调函数的注册和执行,以及参数的传递。与 C 语言中通过函数指针实现回调不同,在 C++ 中通常使用和std::bind实现。
2023-08-14 22:32:59 427
原创 本地修改后,git pull 提示“请在合并前提交或贮藏您的修改”怎么办?
这种情况通常出现在多人协同开发中,由于别人修改了文件并且提交到远程仓库,同时你也修改了此文件并且没有 add 和 commit,然后你想在 pull 或 merge 远程仓库时就会出现此提示。命令后,储藏项中的更改将无法恢复。如果你仍然需要这些更改,请在删除储藏项之前使用。如果不想舍弃对本地的修改,就需要在合并前提交或贮藏你的修改。而贮藏修改,就要用到。如果我们在本地工作区作了修改,但还没有提交或者暂存,那么当执行。命令将其应用到工作目录。
2023-07-24 21:45:38 2883
原创 在 Linux 系统中如何查看和指定 C 语言标准
本文主要介绍在 Linux 系统中如何查看当前支持的 C 语言版本,以及在编译时如何指定 C 语言标准。目前常见的 C 语言标准有 C89、C99、C11 和 C17,详情可参考《
2023-05-04 20:42:41 2346 1
原创 GitHub 开启 2FA 双重身份验证的方法
如果您使用的 app 或浏览器插件不能使用摄像头扫描,可以点击 enter this secret 获取一串字符,并将这串字符输入到 app 或浏览器插件,这样也能生成 2FA 码。大意是,GitHub 用户现在需要启用 2FA 双因素身份验证作为附加的安全措施,您需要在2023年5月4日之前在您的帐户上启用双因素身份验证,否则将被限制进行帐户操作。由于破解第二个认证因子需要付出更多,并且其他类型的因子更难以窃取或伪造,因此 2FA 可提高帐户安全性,并更好地保护组织及其用户免遭未经授权的访问。
2023-04-26 11:15:03 28284 7
原创 常见激光雷达厂商 SDK 软件包汇总
本文收集目前主要激光雷达厂商的 SDK 软件包,其中大多还会提供 ROS(ROS1 和/或 ROS2)驱动软件包。使用这些 SDK 软件包,可以快速地将激光雷达集成到你的智能系统中,包括工业自动化、智能基础设施、机器人、自动驾驶汽车等应用领域。
2023-04-21 15:26:41 836
原创 计算字符串 s 构成的最长回文串长度
定义为 128(也就是 ASCII 码的范围),因此占用内存较多。而实际用到的只有 52 个,即 A-Z 和 a-z,因此可进一步优化。不过,由于 ASCII 码表中大小写字母中还有 6 个字符,故定义大小为 58 比较合适。另外,字符串的大小限定在 2000,因此可以用更小的数据类型。给定一个包含大写字母和小写字母的字符串 s,返回通过这些字母构成的最长的回文串。在构造过程中,请注意区分大小写。不能当做一个回文字符串。
2023-03-21 21:36:08 201
原创 Ubuntu 22.04(Jammy)安装 ROS2(Humble)
本文介绍如何在 Ubuntu 22.04(Jammy)上安装 ROS 2 软件包,ROS 2 的版本是当前最新的 Humble Hawksbill。本教程适用于 amd64 和 arm64 平台。
2023-02-28 21:45:49 3623 2
原创 推荐几款好用的数据库管理工具
本文主要介绍几款常用的数据库管理软件(客户端),包括开源/免费的、商用收费的,其中有一些是专用于 MySQL 数据库的,例如 MySQL Workbench、phpMyAdmin,有一些是支持多种 SQL、NoSQL 数据库的,例如 Navicat、DBeaver 等。
2023-02-18 12:41:30 5363 1
原创 如何将 Markdown 格式文章快速发布到微信公众号
如果你和我一样,平时习惯使用 Markdown 写作,当我们想把文章发布到微信公众号或知乎等平台时,就会发现挺麻烦的,尤其是排版方面,因为它们并不支持 Markdown 格式。,将写好的 Markdown 文章粘贴过去,调整排版主题,即可生成适合微信公众号或知乎风格的文章。那有没有简单高效的办法呢?
2023-01-27 04:24:34 1959
原创 使用 GPSD 快速读取 GPS 信息
GPSD 是一系列管理 GPS 设备和其他用于导航与精确计时的传感器的工具,包括航海自动识别系统(Automatic Identification System)的无线电广播设备和电子罗盘。其中最主要的程序是一个叫做 gpsd 的服务守护进程,它管理着这些传感器,并且在 TCP/IP 端口生成 JSON 流报告。其他的程序包括用来展示代码模型和各种诊断工具的客户端。自动探测并识别 GPS 协议,同时支持多个 GPS 设备,并且可以动态进行设备控制;支持 PPS 并且与 NTPD 结合,实现时间服务;
2022-12-14 23:48:20 1935
原创 一文读懂 NMEA-0183 协议数据
NMEA 是 National Marine Electronics Association 的缩写,是美国国家海洋电子协会的简称,现在是 GPS 导航设备统一的 RTCM 标准协议。NMEA-0183 协议是目前 GPS 接收机上使用最广泛的协议,大多数常见的 GPS 接收机、GPS 数据处理软件、导航软件都遵守或者至少兼容这个协议。如果你使用过 GPS 传感器,那么可能对从串口中冒出了大量以 GPGGA、GPGSA、GPRMC 等开头的数据有印象,它们就是 NMEA-0183 协议数据。
2022-12-14 22:21:20 1341
原创 查询 Linux 命令属于哪个软件包
在 Linux 中,有些命令的名称软件包的名称是不一样的,或者一个软件包中包含有多个命令。有时候,我们需要确定某个命令来自于哪个软件包,以便于可以在其他机器上安装,或者寻找该软件包的源代码进行编译或者修改。下面以 Ubuntu(Debian 系列)和 CentOS(RedHat 系列)发行版为例,介绍查询 Linux 命令来自哪个软件包的方法。
2022-12-14 15:15:02 3613
原创 1024 程序员节闯关题目 :>_<:
背景:今天是 1024 程序员节,应公司人力资源中心的要求,设计了一套闯关题目(奖品丰厚),供大家竞赛。由于时间仓促,准备得不够充分,而且我司以嵌入式开发为主,因此试题部分代码为 C 语言,请大家见谅啦。PS. 前面几道题目涉及一些计算机历史人物,旨在向伟大的计算机先驱(程序员)致敬!
2022-10-24 20:45:16 931
原创 使用 Doxygen 从源代码生成 UML 类图
Doxygen是一个编写软件参考文档的工具,也是从带注释的 C++ 源代码生成文档的事实上的标准工具。这意味着该文档是直接写在源代码中的,因此比较容易保持更新。Doxygen 支持交叉引用,因此文档的读者可以很容易地引用实际的源代码。虽然 Doxygen 常用于 C++ 项目,但它同时也支持其他流行的编程语言,例如 C、Objective-C、C#、PHP、Java、Python、IDL(接口描述语言,如 Corba、Microsoft 和 UNO/OpenOffice 风格)、Fortran 等等。
2022-10-09 22:31:04 2045
原创 使用 Shell 脚本定期检查 MySQL 服务是否正常运行
如果 MySQL 服务为 active 状态,则结束本次检测;如果为 inactive 状态,则尝试重启 MySQL 服务。以 MySQL 服务为例,假设我们想定期检查该服务是否正常运行,如果运行异常则重启该服务,从而确保服务尽快恢复。在 Linux 系统中,如果我们想查看某个服务的运行状态,可以使用。如果 Active 一栏显示 “active”,则表示服务运行正常。为了让该程序自动定期运行,例如每隔一分钟检查一次,我们可以使用。这样,我们就实现了 MySQL 服务的自动定期检测和重启的功能!...
2022-08-13 22:20:55 2837
原创 zlog 日志库使用说明,看完不懂打我...
zlog是一个高可靠性、高性能、线程安全、灵活、概念清晰的纯C日志函数库。使用zlog来记录程序运行时产生的log日志的优势是——可以通过改变配置文件从而改变该log日志的格式或输出文件,也就是我们可以根据需要,来决定日志的格式以及分类匹配,而不必通过改动程序代码。并且日志记录可以精确到微秒、不依赖其他任何库、每秒可以记录日志条数可达万条以上,以及在程序运行时输出zlog自己的日志和配置状态等优点。经测试,zlog的写速度可达到syslog配合rsyslogd的数百倍。...
2022-07-26 21:38:09 5172
原创 Git reset 和 revert 版本回退示例实践
在实际开发中,有时候我们可能需要将项目版本回退到某个版本,例如发现某些提交存在Bug等情况。在Git版本管理系统中,当然支持版本的回退(回滚),而且是相对比较简单、方便的操作。本文将演示在Git仓库中,如何使用reset和revert命令回退到某个版本(提交),并且让远程分支也回退到历史版本。...
2022-07-18 21:40:49 561
原创 Git 不常见情境操作方法汇总
本文汇集一些Git常见情境(不常见)的使用方法,例如拉取远程分支并创建本地分支、拉取pullrequest到本地分支、恢复本地误删的文件、如何撤销add、commit操作等等。
2022-07-18 21:37:38 329
原创 使用 iperf 工具测试 Linux 网络性能
在 Linux 网络设备开发过程中,我们常常需要测试网络性能指标参数,找出网络性能瓶颈,从而优化我们的软件或者硬件设计。在 Linux 环境中,我们可以使用 iperf 命令工具测试网络性能,包括网络带宽、延迟抖动和数据包丢失等参数。为了方便使用,我们还可以安装图形化界面工具 Jperf 进行测试。本文将以 Ubuntu 系统为例,介绍 iperf 和 Jperf 的使用,并完成网络性能测试。首先需要安装 iperf 命令工具,在 Ubuntu 系统中执行下列命令即可安装。Jperf 是 iPerf 命令
2022-07-10 21:26:24 1967 1
原创 Syntiant TinyML 开发板 + Edge Impulse 机器学习实现语音识别
本次项目用 Syntiant TinyML 开发板自带的麦克风,通过 Edge Impulse 搭建机器学习模型,使板卡上的 LED 灯根据中文语音指令呈现出不同效果。一共训练了四个标签的声音数据,具体说明如下。Syntiant TinyML Board 是美国 AI 芯片研发商 Syntiant 推出的一款 TinyML 开发板,它配备了超低功耗 Syntiant NDP101 神经决策处理器,可以使语音和传感器应用程序分别在 140 和 100 微瓦以下运行。与基于 MCU 的传统 MCU 相比,Syn
2022-07-08 22:03:27 2199
原创 推荐几款好用的 Git 图形化客户端
最近公司全面转向 GitLab 管理代码,很多同学都不太习惯,问我有没有好用的 Git 图形化客户端推荐?我说:有!
2022-07-06 13:15:52 10121 1
原创 CMake 交叉编译示例
本文通过一个简单的示例,演示如何在 CMake 工程中添加交叉编译的配置,实现编译不同硬件平台的可执行文件。所有代码均可在 [getiot/linux-c](https://github.com/getiot/linux-c/tree/main/hello) 仓库找到。
2022-07-05 02:07:41 1675
原创 请简述网络协议中,大小端和字节对齐的作用
在嵌入式开发中,我们经常需要处理各种网络协议,比如我们自定义一套下位机(Sensor)和上位机的通信协议,它们可能通过以太网、串口(UART)、SPI、I2C 等总线进行传输,实现多端通信。在 C/C++ 编程中,通常会使用 struct 结构体或者 class 类来定义协议格式。举个例子,假设我们的协议需要传输 Sensor 采集的数据到上位机进行显示,那么我们会将数据塞到 Packet 数据包中,为了增加数据包的可解释性和安全性,我们通常还会为其增加数据包头(Header)和包尾(Tail)。现在,假设
2022-06-18 14:43:02 868
原创 解决 ModuleNotFoundError: No module named ‘PySide2.QtUiTools‘
今天想学习一下 Qt for Python 编程,研究了一下 PyQt 和 PySide,发现 Qt Creator 已经支持 PySide2 和 PySide6 了,于是马上折腾起来!Qt Creator 提供了四种模板,我选择了第三种,也就是 Qt for Python - Window (UI file)。创建好工程以后,点击“运行”,出现了如下错误提示:找不到 QtUiTools 软件包,因此无法解析 UI 文件。解决办法很简单,执行下面命令安装 QtUiTools 即可。现在,再次点击“运行”
2022-06-07 11:46:25 3473 3
原创 RT-Thread GTC 2022 全球技术大会参与指南
时间过得好快,2022 年度 RT-Thread 全球技术大会(RT-Thread GTC)明天就拉开帷幕了!RT-Thread GTC 的全称是 RT-Thread IoT OS Global Tech Conference,从名字就可以看出这个会议非常厉害!主要围绕 RT-Thread IoT OS 基础软件技术发展、实践创新、开发者能力成长 ,让技术创造价值 !RT-Thread GTC 作为全球技术大会,分为国内场和海外场两部分,其中国内场的时间是2022年5月27-29日,海外场的时间是20.
2022-05-26 22:47:46 942
FreeRTOS_ST_April_Training(北京麦克泰FreeRTOS培训课件)
2017-05-04
fsl-yocto-3.10.17_1.0.0.tar.gz
2017-04-18
一步一步使用STemWin 在STM32 上开发一个简单的应用
2017-03-14
POSIX标准文档
2017-03-07
STM32 HAL 库开发实战指南—基于F7
2018-05-30
新型智能垃圾桶的设计方案
2017-10-09
从零开始使用CubeMX创建以太网工程
2017-07-11
TCP&UDP测试工具 V1.02
2017-07-11
TCP/UDP Socket调试工具V2.3
2017-07-11
eGTouch_v2.5.5814.L-x.tar.gz
2017-06-29
GitHub 无法读取远程仓库,port 443: Connection refused
2022-05-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人