树莓派4B 学习笔记2:GPIO介绍_第一个Python程序_点灯

今日开始学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi)

GPIO介绍_第一个Python程序_Python点灯

文章提供测试代码讲解、完整代码贴出、测试效果图

目录

树莓派4B 引脚与外设图:

树莓派常用命令:

第一个Python程序"Hello world":

直接使用名称执行python文件的方法:

让Python文件像终端命令一样被调用:

GPIO点灯:

遇到问题列出与解决:

1、windows系统编写的Python文件到Linux系统出错:

2、home/pi目录的pi用户突然消失:

3、GPIO被占用警告:

网上学习资料贴出:


树莓派4B 引脚与外设图:

树莓派常用命令:

终端立刻关机:

建议在每次使用完树莓派后 ,使用命令进行关机,否则容易出现SD卡的读写错误:

sudo shutdown -h now

第一个Python程序"Hello world":

# !/usr/bin/env python3  
print ("Hello  world !") 

直接使用名称执行python文件的方法:

头部加shebany的文件可以直接运行,把它位置添加到系统 PATH环境变量中,该Python程序就可以直接通过它的名字进行调用:

chmod +x Hello.py

然后以后想调用该程序就可以直接(需要进入程序所在目录):

./Hello.py

这里你如果是在windows文本编辑.txt写的Python代码,然后改后缀SSH传输给树莓派的,你可能会遇到以下 【编号1】 的问题(在文后 {遇到问题列出与解决} )

让Python文件像终端命令一样被调用:

这需要先将其复制到/usr/local/bin

sudo cp Hello.py /usr/local/bin/

然后直接输入 其文件名就能直接调用了 :

Hello.py

但我们还可以继续操作,使其连".py"的后缀都不需要输入......

GPIO点灯:

代码如下:

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.OUT)
while True:
     GPIO.output(11,True)
     print("GPIO.output HIGH")
     time.sleep(2)
     GPIO.output(11,False)
     print("GPIO.output LOW")
     time.sleep(2)

或者也可以写成:

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.OUT)
while True:
     GPIO.output(11,GPIO.HIGH)
     print("GPIO.output HIGH")
     time.sleep(2)
     GPIO.output(11,GPIO.LOW)
     print("GPIO.output LOW")
     time.sleep(2)

键盘按<Ctrl+C>可以退出程序

测试效果如下:

遇到问题列出与解决:

1、windows系统编写的Python文件到Linux系统出错:

由于文件在 Windows 系统上编辑并保存为 CRLF(Carriage Return Line Feed)格式,而不是 Unix/Linux 系统上的 LF(Line Feed)格式。

在 Unix/Linux 系统中,文件通常以 LF 格式结束行,而在 Windows 系统中则使用 CRLF 格式。当 Unix/Linux 系统尝试执行一个包含 CRLF 换行符的脚本时,就会出现问题,因为 \r 字符被当作了文件路径的一部分,而不是一个行结束符。

为了解决这个问题,需要将 Hello.py 文件中的换行符从 CRLF 转换为 LF

使用 dos2unix 工具:

如果未安装:

sudo apt-get update  
sudo apt-get install dos2unix

转换文件:

dos2unix Hello.py

2、home/pi目录的pi用户突然消失:

重新创建 /home/pi 目录和相应的文件,

可以使用 sudo mkdir /home/pi 命令来创建目录

并使用 sudo chown pi:pi /home/pi 来设置正确的所有权。

3、GPIO被占用警告:

1)在Python 程序最后或者合适位置添加语句:GPIO.cleanup() 用于重置 GPIO 接口:

它把所有的 GPIO 引脚设置为低电平状态,所以没有多余的信号出现在界面上。

在不使用改函数的情况下,如果试图配置一个已分配信号值的 GPIO 信号引脚,那么RPi.GPIO 模块会产生一条警告信息。

2)或者在程序开始时忽略有关警告(禁用GPIO警告):

GPIO.setwarnings(False) 

网上学习资料贴出:

树莓派4B GPIO介绍及编程-CSDN博客

 树莓派Linux常用命令总结_sudo init 0-CSDN博客

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

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

相关文章

今日好料推荐(ARM嵌入式)

今日好料推荐&#xff08;ARM嵌入式&#xff09; 参考资料在文末获取&#xff0c;关注我&#xff0c;获取优质资源。 给我留言&#xff0c;会帮大家寻找需要的资料。 ARM 嵌入式系统 嵌入式系统在现代电子设备中扮演着至关重要的角色&#xff0c;从智能手机到工业自动化&am…

【网络技术】【Kali Linux】Wireshark嗅探(十六)TLS(传输层安全协议)报文捕获及分析

往期 Kali Linux 上的 Wireshark 嗅探实验见博客&#xff1a; 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;一&#xff09;ping 和 ICMP 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;二&#xff09;TCP 协议 【网络技术】【Kali Linux】Wireshark嗅探&…

springboot undertow 文件上传文件过大异常

io.undertow.server.RequestTooBigException: UT000020 Connection terminated as request was larger than xxxx 修改yaml文件中关于undertow的配置项 server:undertow:# HTTP POST请求最大的大小# 默认0&#xff0c;无限制max-http-post-size: ${SERVER_UNDERTOW_MAX_HTTP_…

Jetson Nano集成探索大象机器人myAGV上的 SLAM 算法!

引言 大家好&#xff0c;最近新入手了一台myAGV JN这是elephant robotics在myAGV升级后的版本。最近有对SLAM相关知识感兴趣&#xff0c;想深入了解一些关于ROS中SLAM的一些算法和规划&#xff0c;跟据官方提供的gitbook&#xff0c;主要使用到了gmapping算法来建图导航实现功能…

计算机类专业应该怎么选学校和方向?优先选这些!

&#x1f446;点击关注 获取更多编程干货&#x1f446; 高考季临近&#xff0c;不少有意向报考计算机专业的同学在为院校和细分专业的选择而苦恼&#xff0c;以下是一些建议&#xff0c;希望能帮到大家&#xff01; 01 选校建议 在选择计算机科学&#xff08;CS&#xff09…

第二证券炒股知识:股票内盘外盘代表什么意思?

股票内盘是主动性卖盘&#xff0c;表明以买入价成交的股数&#xff0c;持股的投资者主动以等于或是低于买一、买二、买三、买四、买五的价格卖出手中持有的股份&#xff0c;买入成交数量核算参加内盘。 股票外盘是主动性买盘&#xff0c;表明以卖出价成交的股数&#xff0c;场…

Vuex 的安装与配置

聚沙成塔每天进步一点点 本文内容 ⭐ 专栏简介Vuex 的安装与配置1. 安装 Vuex使用 npm 安装使用 yarn 安装 2. 配置 Vuex创建和配置 store将 store 注入到 Vue 实例中 3. 在组件中使用 Vuex访问 State提交 Mutation分发 Action使用 Getter 原理解析小结 ⭐ 写在最后 ⭐ 专栏简介…

2. MySQL 数据类型和存储引擎

文章目录 【 1. 数据类型 】1.1 数值类型1.1.1 整型1.1.2 小数1.1.3 数值类型的选择 1.2 日期和时间YEAR 年TIME 时间DATE 日期DATETIME 日期时间TIMESTAMP 时间戳日期和时间的选择 1.3 文本字符串CHAR 固定字符串、VARCHAR 可变字符串TEXT 文本ENUM 枚举SET 集合字符串类型的选…

k8s-部署对象存储minio

环境信息 minio版本 :最新 k8s 版本1.22 使用nfs作为共享存储 一.单节点安装包部署 脚本部署&#xff0c;一键部署&#xff0c;单节点应用于数据量小&#xff0c;一些缓存存储&#xff0c;比如gitlab-runner的产物数据&#xff0c;maven的打包依赖数据 #!/bin/bash# 步骤…

如何高效管理自己的时间,可以从这几个方向着手

如果你是上班族&#xff0c;天选打工人&#xff0c;你的绝大多数时间都属于老板&#xff0c;能够自己支配的时间其实并不多&#xff0c;所以你可能察觉不到时间管理的重要性。 但如果你是自由职业者或者创业者&#xff0c;想要做出点成绩&#xff0c;那你就需要做好时间管理&am…

jadx-gui-1.5 反编译工具使用教程 反混淆 Java android 查看签名

JADX&#xff1a;JADX是一个强大的反编译工具&#xff0c;它支持命令行和图形界面操作。除了基本的反编译功能外&#xff0c;JADX还提供了反混淆功能&#xff0c;有助于提高反编译后代码的可读性。 在Android开发和安全分析领域&#xff0c;反编译工具扮演着至关重要的角色。这…

VSCode插件Sort Lines

Sort Lines是一款VSCode中的扩展&#xff0c;可以帮助你对所选文本或整个文件中的行进行排序。可以给你按字母大小排序&#xff08;升序、降序&#xff09;&#xff0c;也可以进行排序去重。而且还能将所有文本打乱顺序。做短文本分类的训练&#xff0c;清洗数据集的时候&#…

Linux系统安全及其应用

文章目录 一、用户账号安全管理1.1 系统账号的清理1.2 对用户账号的操作1.2.1 锁定和解锁用户1.2.2 删除无用账号 1.3 对重要文件进行锁定1.4 密码安全控制1.4.1 新建用户1.4.2 已有用户 二、历史命令管理2.1 历史命令限制2.2 自动清空历史命令 三、设置终端登录的安全管理3.1 …

[Vulfocus解题系列]spring 命令执行(CVE-2022-22947)

环境部署 使用docker部署环境 漏洞等级&#xff1a;高危 3 月 1 日&#xff0c;VMware 官方发布安全公告&#xff0c;声明对 Spring Cloud Gateway 中的一处命令注入漏洞进行了修复&#xff0c;漏洞编号为CVE-2022-22947 Spring官方发布 漏洞描述 使用 Spring Cloud Gate…

InvokeAI学习教程三:换脸

启动InvokeAI&#xff0c;我们先生成一张图&#xff1a; 在正向提示词里输入&#xff1a;Avant-garde couture, tactile textures, vogue aesthetics, vibrant color palette, intricate embroidery details, dramatic silhouettes 生成一张高贵夫人的图像&#xff0c; 或者你从…

android高效读图方式——Hardwarebuffer读图

安卓上有许许多多使用OpenGL来渲染的原因&#xff0c;比方说做特效/动画/硬解/人脸识别等等。渲染完成后如何从gpu中把数据快速读取出来也是高效图像处理中的重要的一环。 相对于glReadPixel的同步读取方式&#xff0c;安卓GLES3.0提供了更高效快速的Hardwarebuffer读图方式&a…

Jenkins的jdk和maven配置

目录 传送门前言一、概念二、JDK的配置三、Maven配置四、环境变量配置五、坑 传送门 SpringMVC的源码解析&#xff08;精品&#xff09; Spring6的源码解析&#xff08;精品&#xff09; SpringBoot3框架&#xff08;精品&#xff09; MyBatis框架&#xff08;精品&#xff09…

隐藏饼图的legend,重写legend列表。

因为要实现的饼图效果较复杂,所以,需要重新写列表。 点击右侧列表的圆点,实现隐藏左侧饼图相应环状。 // 饼图,点击自定义列表,显示和隐藏饼图对应的环状数据<template> <div class="index_div"> <a-spin :spinning="aLoading">&l…

数据保护技巧揭秘:为导出文件添加防护密码的实用指南

一、前言 当涉及到敏感数据的导出和共享时&#xff0c;数据安全是至关重要的。在现代数字化时代&#xff0c;保护个人和机密信息免受未经授权的访问和窃取是每个组织和个人的首要任务之一。在这种背景下&#xff0c;葡萄城的纯前端表格控件 SpreadJS 提供的加密功能为用户提供…

【Java面试】九、微服务篇SpringCloud(上)

文章目录 1、SpringCloud五大组件2、服务注册和发现2.1 Eurake2.2 Eurake和Nacos的区别 3、Ribbon负载均衡3.1 策略3.2 自定义负载均衡策略 4、服务雪崩与熔断降级4.1 服务雪崩4.2 服务降级4.3 服务熔断 5、服务限流5.1 Nginx限流5.2 网关限流 6、微服务监控7、面试 1、SpringC…