❶ 树莓派怎么运行python程序
树莓派运行Python程序的方法:
一、RaspBerry系统设置
1、首先在开发板没有通电情况下,连接硬件,以及项目中用到传感器。比如当前项目需要将LED灯插在面包板上,然后通过杜邦线将开发板和面包板连接,硬件平台搭建完毕。
2、其次打开树莓派开发板3B,然后用vnc连接上。
3、打开ssh功能。
如下图,Raspberry Pi Configuration
启用SSH连接功能。然后点击OK
更改后需要重新启动才能生效
二、使用ssh连接上开发板Raspberry Pi
1、打开事先安装好的File Zilla,输入IP地址、账户、端口号,连接到树莓派的Linux系统
2、在当前pi目录上创建存放开发项目的文件夹。在项目文件夹上创建具体的项目文件夹存放项目文件。例如在DIYdemo目录上创建LED灯项目
3、在PC端写好的python程序文件放到LED文件夹中。
三、运行python代码
1、打开VNC软件,点击菜单--programming--python3(EDLE)
2、打开写好的的程序,运行python程序
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于树莓派怎么运行python程序的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
❷ 树莓派python支持i2c吗
树莓派的GPIO端口数量有限,可通过IO扩展芯片增加GPIO的数量,使得树莓派可以适应更多的应用。PCF8574为一款通过I2C总线扩展IO的芯
片,单个PCF8574可扩展8个IO,一个I2C总线最多可挂载8个PCF8574,所以树莓派最多可扩展64个IO。
树莓派扩展功能的开发方法有很多,例如wiringPi和bcm2835 C library都提供I2C
API函数。如果使用python+SMBUS库开发的话,你会发现Linux应用开发原来如此简单。(注意SMBUS和I2C存在区别与联系,在本文中
两者是相等的概念)
2.相关博文
【树莓派学习笔记——I2C设备载入和速率设置】
【树莓派学习笔记——I2C Tools 学习笔记】
【树莓派学习笔记——I2C PCF8574 BCM2835 Library】使用BCM2835
Library实现本文相同的内容
【树莓派学习笔记——I2C PCF8574 SysFs方式】使用SysFS方式实现本文相同的内容
3.PCF8574使用简述
PCF8574的采用7位I2C地址,7位I2C地址中的低3位从高到低分别为A2
A1和A0,该3位为地址选择位,若地址选择全部接GND,那么PCF8574的I2C从机地址为0x20。图1为PCF8574的基本信息,左侧为芯片
内部结构示意图,其中A2
A1和A0决定从机地址而从机地址直接影响I2C总线控制器,右侧上部为PCF8574引脚图,右侧下部为I2C从机地址组成示意图,从机地址的高4位为
0100,该4位数字固定不变。
图1 PCF8574基本信息
请
注意I2C 7位从机地址和I2C
读控制字或i2C写控制器存在联系与区别,对于7位从机地址为0x20的PCF8574而言,读控制字为0x41,写控制字为0x40。若使用GPIO通
过软件法模拟I2C时序时,通常把写控制字0x40定义为I2C从机地址,软件模拟时的I2C地址(0x40)和I2C
7位从机地址(0x41)存在区别。
PCF8574内部含有8个准双向IO,对PCF8574进行一次写操作可修改IO口的输出状态,对PCF8574进行一次读操作可获取IO口的输入状态。I2C总线的操作较为复杂,各芯片之间的差异较大,例如BH1750、AT24C04和ADXL345虽然均使用I2C接口,但是细节之处存在差异较大。
图2 PCF8574读写时序
4.代码实现——python
【安装python smbus】
sudo apt-get install python-smbus
新建一个名为pcf8574.py的文件
[python] view plain
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import smbus
import time
# 打开 /dev/i2c-1
bus = smbus.SMBus(1)
while True:
for i in range(0,4):
# 向PCF8574写入一个字节
bus.write_byte( 0x20 , (1<<i) )
# 延时100ms
time.sleep(0.1)
【代码详解】
【1】#!/usr/bin/env python
定义python解析脚本的绝对路径。
【2】# -*- coding: utf-8 -*-
py文件为utf-8格式,否则无法写入中文注释。
【3】import smbus
导入smbus模块。
【4】bus = smbus.SMBus(1)
在树莓派版本2中,I2C设备位于I2C-1,所以此处的编号为1
【5】bus.write_byte( 0x20 , (1<<i) )
向PCF8574写入一个字节,注意PCF8574和其他I2C芯片不同,该芯片没有寄存器,发送写控制字之后可直接设置IO口输出状态。
【执行程序】
进入pcf8574.py所在目录,输入以下指令
sudo python pcf8574.py
【运行结果】
图3 运行结果
5.参考资料
【python SMBUS GitHub】python封装SMBUS操作函数具体代码,值得阅读。
❸ 如何利用树莓派学习Linux及Python
无论是Linux还是Python,其学习过程对于硬件都没什么要求,对于知识的掌握才是核心。
理论上用树莓派学习当然可以,但是鉴于你依然处于初学者水平,特别是Linux相关的不够熟练,还是不太建议你是用树莓派来进行学习。
如你所见,树莓派是一个很需要DIY能力的“玩具”,非常酷炫,但对于入门学习几乎没有什么帮助——特别是对于Python,即使Windows环境也完全不会影响你的学习。
请记住:在未入门之前,应该尽力去降低自己的学习难度,而不是为了好玩或者其他原因,来凭空给自己的学习道路增加许多麻烦。
❹ 树莓派opencv python读取摄像头
你的报错是找不到制定的function。
我的电脑上有这个:
In[1]:importcv2
In[2]:cv2.cvtColor
Out[2]:<functioncv2.cvtColor>
如果你没有的话查查安装的opencv全了么?
下面代码跟你的基本一致,这个测试可用。
defcap_frame():
cap=cv2.VideoCapture(0)
ret,frame=cap.read()
plt.imshow(frame,cmap='gray',interpolation='bicubic')
cap.release()
returnframe
❺ 用车牌识别怎么做现高杆
通过调用摄像头,实现了一款基于树莓派实现车牌识别的智能限高杆。系统可以分为辨识部分和警示部分,辨识部分以树莓派3B+/3B为核心处理器,基于Linux平台,利用激光对准模块来判断车辆是否超出限定高度,若超过则辅以摄像头来作为抓取车辆信息。
警示部分主要以STC12C5A32S2为处理核心,辅以点阵屏做为警示。单片机在接收到辨识部分发过来的车牌信息之后,将车牌信息显示在点阵屏上面,不断闪烁以警示超高司机注意安全。
限高杆特点:
1、限高杆使用的密封部件质量必须达到行业标准要求。
2、限高架的升降速度快而稳,大大提高了使用的可靠性。
3、限高杆运行状况稳定且安全性能强。
4、限高杆能够有效保证升降梁的正常上下移动,并且不会因为滑动而造成损坏和事故危险。
5、限高架维护简单易学。
❻ 树莓派怎么样用 Python 控制 GPIO 来发送串口指令
python GPIO
1、先安装python-dev,输入以下指令。
sudo
apt-get install python-dev
2、安装RPi.GPIO,依次输入以下指令。
1)下载:$ wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.5.3a.tar.gz
2)解压缩:$ tar xvzf RPi.GPIO-0.5.3a.tar.gz
3)进入解压之后的目录 :$ cd RPi.GPIO-0.5.3a
4)启动安装 :$ sudo python setup.py install
3、例子:
[python] view plain
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
# BOARD编号方式,基于插座引脚编号
GPIO.setmode(GPIO.BOARD)
# 输出模式
GPIO.setup(11, GPIO.OUT)
while True:
GPIO.output(11, GPIO.HIGH)
time.sleep(1)
GPIO.output(11, GPIO.LOW)
time.sleep(1)
4、执行:
sudo python led.py
5、说明:
1)GPIO.setmode(GPIO.BOARD),采用插座引脚编号方式。
2)由于采用插座引脚编号方式,此处的11脚相当于BCM2835寄存器编号方式的引脚11。
python GPIO
1、说明:
WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。
wiringPi包括一套gpio控制命令,使用gpio命令可以控制树莓派GPIO管脚。用户可以利用gpio命令通过shell脚本控制或查询
GPIO管脚。wiringPi是可以扩展的,可以利用wiringPi的内部模块扩展模拟量输入芯片,可以使用
MCP23x17/MCP23x08(I2C
或者SPI)扩展GPIO接口。另外可通过树莓派上的串口和Atmega(例如arino等)扩展更多的GPIO功能。另外,用户可以自己编写扩展模
块并把自定义的扩展模块集成到wiringPi中。WiringPi支持模拟量的读取和设置功能,不过在树莓派上并没有模拟量设备。但是使用
WiringPi中的软件模块却可以轻松地应用AD或DA芯片。
❼ 求助树莓派避障小车,遇到 python 了
小白第一次上手 python ,用树莓派,红外和超声波传感器做智障小车。 编译错误:
RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(trip,GPIO.OUT)
Traceback (most recent call last):
File "xiaochetest.py", line 82, in <mole>
fwd()
TypeError: fwd() takes exactly 1 argument (0 given)
下面是小车的代码:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
m1_fwd = 12
m1_rev = 11
m2_fwd = 13
m2_rev = 15
red_left = 07
red_right = 16
trip = 38
echo = 37
def init():
GPIO.setup(m1_fwd,GPIO.OUT)
GPIO.setup(m1_rev,GPIO.OUT)
GPIO.setup(m2_fwd,GPIO.OUT)
GPIO.setup(m2_rev,GPIO.OUT)
def stop(sleep_time):
GPIO.output(m1_fwd,False)
GPIO.output(m1_rev,False)
GPIO.output(m2_fwd,False)
GPIO.output(m2_rev,False)
time.sleep(sleep_time)
GPIO.cleanup()
def fwd(sleep_time):
GPIO.output(m1_fwd,GPIO.HIGH)
GPIO.output(m1_rev,GPIO.LOW)
GPIO.output(m2_fwd,GPIO.HIGH)
GPIO.output(m2_rev,GPIO.LOW)
time.sleep(sleep_time)
GPIO.cleanup()
def rev(sleep_time):
GPIO.output(m1_fwd,GPIO.LOW)
GPIO.output(m1_rev,GPIO.HIGH)
GPIO.output(m2_fwd,GPIO.LOW)
GPIO.output(m2_rev,GPIO.HIGH)
time.sleep(sleep_time)
GPIO.cleanup()
def right(sleep_time):
GPIO.output(m1_fwd,GPIO.HIGH)
GPIO.output(m1_rev,GPIO.LOW)
GPIO.output(m2_fwd,False)
GPIO.output(m2_rev,False)
time.sleep(sleep_time)
GPIO.cleanup()
def left(sleep_time):
GPIO.output(m1_fwd,False)
GPIO.output(m1_rev,False)
GPIO.output(m2_fwd,GPIO.HIGH)
GPIO.output(m2_rev,GPIO.LOW)
time.sleep(sleep_time)
GPIO.cleanup()
def get_distance():
GPIO.setup(trip,GPIO.OUT)
GPIO.setup(echo,GPIO.IN)
GPIO.output(trip,GPIO.HIGH)
time.sleep(0.000015)
GPIO.output(trip,GPIO.LOW)
while not GPIO.input(echo):
pass
t1 = time.time()
while GPIO.input(echo):
pass
t2 = time.time()
return (t2-t1)*34300/2
def turnaround():
GPIO.setup(red_left,GPIO.IN)
GPIO.setup(red_right,GPIO.IN)
while GPIO.input(red_left) and GPIO.input(red_right)==0:
rev()
if GPIO.input(red_left)==1:
left(1)
else:
right(1)
GPIO.cleanup()
while True:
distance = get_distance()
time.sleep(0.5)
if distance > 20:
fwd()
elif distance == 20:
stop()
else:
stop()
turnaround()
def fwd(sleep_time)
if distance > 20:
fwd()
调用 fwd 的时候要传参数啊,错误提示说的比较清楚了。
❽ 树莓派系统怎么运行py文件
一、首先写个简单的python
脚本
脚本很简单,就是树莓派上一个灯闪烁程序
文件保存在/home/pi/script/ledblink.py
二
开机启动脚本
保存脚本为/etc/init.d/ledblink文件
三
设置python脚本开机启动
这样就完工了,重启树莓派就会发现led自己闪烁了,停止用sudo
service
ledblink
stop就行
❾ 树莓派如何启动python
树莓派运行Python程序的方法:
一、RaspBerry系统设置
1、首先在开发板没有通电情况下,连接硬件,以及项目中用到传感器。比如当前项目需要将LED灯插在面包板上,然后通过杜邦线将开发板和面包板连接,硬件平台搭建完毕。
2、其次打开树莓派开发板3B,然后用vnc连接上。
3、打开ssh功能。
如下图,Raspberry Pi Configuration
启用SSH连接功能,然后点击OK。
更改后需要重新启动才能生效。
二、使用ssh连接上开发板Raspberry Pi
1、打开事先安装好的File Zilla,输入IP地址、账户、端口号,连接到树莓派的Linux系统。
2、在当前pi目录上创建存放开发项目的文件夹。在项目文件夹上创建具体的项目文件夹存放项目文件。例如在DIYdemo目录上创建LED灯项目。
3、在PC端写好的python程序文件放到LED文件夹中。
三、运行python代码
1、打开VNC软件,点击菜单--programming--python3(IDLE)
2、打开写好的的程序,运行python程序。
python学习网,免费的在线学习python平台,欢迎关注!
❿ 如何在树莓派上安装python和GPIO库
不同操作系统安装GPIO的命令是不同的,这里以树莓派的官方操作系统Raspbian为例,说明如何安装GPIO库。
Raspbian中安装了两个Python版本,分别是2.7.3和3.2.2。Python2.x的安装包会一python为前缀,而Python3.x的安装包回忆python3为前缀。
Python2安装GPIO库需要输入命令:
sudoapt-getinstallpython-rpi.gpio
Python3安装GPIO库需要输入命令:
sudoapt-getinstallpython3-rpi.gpio