如何用树莓派Raspberry Pi做一个简单的控制系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用树莓派Raspberry Pi做一个简单的控制系统相关的知识,希望对你有一定的参考价值。
参考技术A 树莓派+sd卡+手机电源:树莓派网上买的;sd卡相机里面拆出来的;电源是原来一个手机的,接口通用5v继电器:控制有三线的(电源、地、信号)
TendaW311MI小型无线路由
接线若干
方法/步骤
树莓派接线图:sd卡、手机电源线、网线、hdmi转dvi接线连接显示器、键盘
如何用树莓派Raspberry Pi做一个简单的控制系统
安装树莓派的linux系统:系统到官网下,用工具写到sd卡里面(比较简单网上很多教程)
树莓派通过有线上网:开始时没显示器,买了一条HDMI的转DVI接口的线,调试了一下,可以上网后,就不用接显示器了,在家用有线连接路由器,用secureCRT连接局域网ip,就可以登入树莓派,ping一下外网,基本就通了
树莓派无线网卡上网:把无线网卡插入usb接口,TendaW311MI免驱动即可识别,修改/etc/network/interfaces信息,把路由器的wpa-ssid和wpa-psk加上,重启一下系统,基本上无线就能上网了
继电器:所谓继电器,就是一种控制开关,用小电压、小电流设备控制大电压、大电流的东西。控制端的电源、GND地、信号分别接树莓派的GPIO的2、6、7接口(控制端最好三线,本来买了一个两线输入的听说可以用,最后还是不敢接。。。),另一端接外接设备,接常开和公共端
编程:下载安装了python的GPIO库,然后给出如下控制代码:
文件run.py
#!/usr/bin/python
#coding: utf8
import sys
import RPi.GPIO as GPIO
PORT=7
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(PORT,GPIO.OUT)
if sys.argv[1]=="open":
GPIO.setup(PORT,GPIO.LOW)
elif sys.argv[1]=="close":
GPIO.setup(PORT,GPIO.HIGH)
好了,上面搞定之后,随便找个东西接一下,然后secureCRT登入树莓派,
sudo ./run.py open //打开控制设备
sudo ./run.py close //关闭控制设备
如何用树莓派Raspberry Pi做一个简单的控制系统
8
使用web.py在树莓派上面搭一个简单的web服务器,把上面的run.py脚本改改,就可以通过手机访问控制开关,实现家庭内的远程控制了。
如何为 Raspberry Pi 编写简单的 UART Linux 设备驱动程序?
【中文标题】如何为 Raspberry Pi 编写简单的 UART Linux 设备驱动程序?【英文标题】:How to write Simple UART Linux Device Driver for Raspberry Pi? 【发布时间】:2015-01-20 12:40:22 【问题描述】:我是学习设备驱动程序的初学者。我正在通过简单的示例练习学习设备驱动程序。谁能建议我如何开始为树莓派编写 uart,GPIO 设备驱动程序,因为我开始只用树莓派练习。
提前致谢 问候, 普雷迪普
【问题讨论】:
类似问题:raspberrypi.stackexchange.com/questions/8976/… 【参考方案1】:如果这是您的第一个驱动程序,请从简单的开始。我会采取以下步骤:
-
编写一个实现读/写/打开/关闭文件操作的简单字符设备驱动程序。这意味着它们可以与“cat”和“echo”一起使用。
在从1开始的初步工作的基础上,可以编写一个GPIO驱动。这应该很简单,因为您需要做的就是从特定的内存地址写入或读取 0 或 1。
现在您已经有了一些设备驱动程序的经验,您可以为您的 uart 编写一个 tty 驱动程序。 linux 中已经有很多 tty 驱动程序的示例。
【讨论】:
如你所说,我已经编写了一个简单的字符设备驱动程序。它工作正常。您能否发送一些链接来为树莓派的 GPIO 编写设备驱动程序? 当我用谷歌搜索时,我得到了这个链接dev.openwrt.org/browser/trunk/target/linux/generic-2.6/files/…这对编写驱动程序有用吗? 内核中已经有GPIO驱动了,可以看一下。 GPIO Driver Documentation。您甚至可以在 shell 中使用 echo 和 cat 设置方向并读取/写入值。请参阅链接中有关 sysfs.txt 的文档。 是的,我已经知道 GPIO 驱动程序在那里.....如何为树莓派编写新的 gpio 设备驱动程序? 我不知道还能告诉你什么。您有一个如何在 Linux 内核中执行此操作的示例。我建议查看现有的 GPIO 驱动程序是如何实现的,然后按照您认为合适的方式实现您自己的。以上是关于如何用树莓派Raspberry Pi做一个简单的控制系统的主要内容,如果未能解决你的问题,请参考以下文章
用树莓派Raspberry Pi和Micro:bit做一个自拍器
如何为 Raspberry Pi 编写简单的 UART Linux 设备驱动程序?
基于树莓派(Raspberry Pi3)平台通过微信(WeChat模块)进行交互的智能家居实现