热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RaspberryPi学习教程系列2(编程前准备篇)

By:ReganGaoEmail:xssRegan@gmail.comDate:20181010Note:如果还没为树莓派安装系统,请去上一篇!在学习树莓派编程之前,

By:ReganGao

Email:xssRegan@gmail.com

Date:2018/10/10

Note: 如果还没为树莓派安装系统,请去上一篇! 

 

在学习树莓派编程之前,我们一定要对树莓派的基本有所了解

如IO口的定义,C/C++编程wiringPi库,python编程的RPI.GPIO库, node.js 编程的rpio库等。

 

一: Raspberry Pi 的 IO口介绍

树莓派 3 GPIO 基本分为如下的三种编码方式:物理引脚BOARD编码,BCM2837 SOC编码,以及C语言GPIO库wiringPi 编码

 

 

二:T型扩展板

T型扩展板采用的是BCM编码。后续中我们会主要使用T型扩展板进行操作。

 

 

三:wiringPi库介绍与安装

如果你使用C/C++编程,则需要安装wiringPi库,wiringPi是一个用于C语言编写GPIO访问库。

下载安装命令:

git clone git://git.drogon.net/wiringP

cd wiringPi

git pull origin

./ build

这将会自动编译wiringPi的源代码并将其安装到Raspberry Pi OS 的相应目录中去。

测试是否安装成功 (查看版本)

gpio -v

 

如查看IO映射表 可 使用

gpio readall 

 

四:RPI.GPIO介绍与安装

如果你是Python用户,则可以使用RPI.GPIO提供的API对GPIO进行编程,RPI.GPIO是一个控制Raspberry Pi GPIO通道的模块。

Raspberry Pi OS中已经默认安装了,因此你可以直接使用它。
查看Python版本:

python -V

注意V要大写。

五:rpio 介绍与安装

rpio是一个提供node.js 访问 Raspberry Pi GPIO的插件。

如想使用,则需要先装node, npm, 通过npm来下载rpio,这里不做过多讲解。

npm install rpio

详细可看:https://www.npmjs.com/package/rpio

 

到此我们已经基本了解了GPRI的IO口,为我们接下来的开发做好了准备!

可以看到,我们有多种语言选择来做树莓派开发,你可以根据自身的编程习惯来选择。

建议使用C++/Python。

 

进行开发可进入下一篇系列教程!

 

--------正文完-------


推荐阅读
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 在 Windows 10 系统下配置 Python 3 和 OpenCV 3 的环境时,建议使用 Anaconda 分发版以简化安装过程。Anaconda 可以从其官方网站(https://www.anaconda.com/download)下载。此外,本文还推荐了几本关于 Python 和 OpenCV 的专业书籍,帮助读者深入理解和应用相关技术。 ... [详细]
  • jQuery Flot 数据可视化插件:高效绘制图表的专业工具
    jQuery Flot 是一款高效的数据可视化插件,专为绘制各种图表而设计。该工具支持丰富的图表类型和自定义选项,适用于多种应用场景。用户可以通过其官方网站获取示例代码和下载资源,以便快速上手和使用。 ... [详细]
  • 优化Node.js项目:有效管理和清理依赖项
    在Node.js项目中,有效管理和清理依赖项是提升性能和安全性的重要步骤。为了确保项目中仅保留必要的库,应定期检查并移除`node_modules`目录下不再使用的包。同时,所有必需的依赖项都应在`package.json`文件中明确列出,以保证项目的可维护性和可复现性。此外,利用如`npm prune`等工具可以帮助自动化这一过程,进一步提高效率。 ... [详细]
  • 在Python 2.7环境中使用PyCharm进行Cvxopt的安装及线性规划问题求解。具体步骤包括:通过PyCharm的文件菜单进入项目设置,选择解释器选项,点击右侧的“+”按钮,在可用包列表中搜索并安装Cvxopt。安装完成后,可以通过导入Cvxopt库并调用其函数来解决线性规划问题,提高模型的准确性和效率。 ... [详细]
  • 在探讨 AS3 中的数据深度复制技术时,本文详细介绍了实现数据深度克隆的有效方法。通过对比多种方案,最终确定了一种高效且可靠的实现方式,所有代码均来源于公开资源,确保了方法的实用性和可操作性。 ... [详细]
  • 微软发布紧急安全更新,所有Windows 10版本均面临影响!
    微软于周五紧急发布了两项安全更新,旨在解决Windows 10所有版本中Windows Codecs库和Visual Studio Code应用存在的安全隐患。此次更新是继本周初发布的月度例行安全补丁之外的额外措施,凸显了这些问题的紧迫性和重要性。这些漏洞可能被攻击者利用,导致系统权限提升或远程代码执行等严重后果。建议用户尽快安装更新,以确保系统的安全性。 ... [详细]
  • 基于Node.js、EJSExcel、Express与Vue.js构建Excel转JSON工具:首阶段——Vue.js项目初始化及开发环境配置
    在近期的一个H5游戏开发项目中,需要将Excel数据转换为JSON格式。经过调研,市面上缺乏合适的工具满足需求。因此,决定利用Node.js、EJSExcel、Express和Vue.js自行构建这一工具。本文主要介绍项目的第一阶段,即Vue.js项目的初始化及开发环境的配置过程,详细阐述了如何搭建高效的前端开发环境,确保后续功能开发的顺利进行。 ... [详细]
  • Sapphire 测试网上线:首个支持 EVM 的隐私 ParaTime 环境
    Sapphire 测试网上线:首个支持 EVM 的隐私 ParaTime 环境 ... [详细]
  • 在运行时动态获取Entity Framework中的ObjectSet可以通过反射机制实现。这种方法允许开发者在应用程序运行期间根据需要加载不同的实体集合,从而提高代码的灵活性和可扩展性。通过使用`DbContext`类的`Set`方法,结合类型信息,可以轻松地实现这一目标。此外,还可以利用`Type`对象和泛型方法来进一步增强动态性,确保在处理多种实体类型时更加高效和安全。 ... [详细]
  • 开发心得:深入探讨Servlet、Dubbo与MyBatis中的责任链模式应用
    开发心得:深入探讨Servlet、Dubbo与MyBatis中的责任链模式应用 ... [详细]
  • 深入解析:使用C++实现Python字节数组(struct)的高效处理方法 ... [详细]
  • 利用 Gmail API 实现 Node.js 定时自动发送邮件功能
    功能:利用Node每天定时发送邮件给指定邮箱。需要的npm包:nodemailernode-schedule实现步骤:配置nodemailer发送邮件开启定时邮件发送 ... [详细]
  • MixPHP V2.1:从多进程架构转向单线程协程的深层原因与技术解析 ... [详细]
  • 2017-09-07前端日报精选JavaScriptEventLoop机制详解与Vue.js中实践应用Redux基础与实践如何用js获取虚拟键盘高度?( ... [详细]
author-avatar
彬哥唔系我
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有