raspberrypi python_基于RaspberryPi和Python的智能远程控制原型

所用工具:

树莓派+python+django+pyserial+STC89C52单片机

树莓派通过串口与单片机通讯,网页与后台使用django驱动,然后通过django调用pyserial库向单片机发送命令。

很多童鞋选择用web.py来做前端,但是考虑到以后开发的便捷性和健壮性,我还是坚持选择用django来做。

基于这种原型,可以很方便的利用手机浏览器控制各种外围电器,好好利用django的账户安全功能,又可以做到远程控制需要的安全保密性!

树莓派+python+django+pyserial这个方案,是我认为在学习成本、搭建速度、开发速度、安全性、易用度、客户端无关性方面比较完美的集合。

视频里使用的手机QQ浏览器,由于手机网络不给力,并且又通过qq服务器压缩转发,所以能看出延迟,如果用电脑操作效果更好。

1、这个方案其实完全可以拿掉单片机,直接将python+django+rpi.gpio结合可以做同样的事,一个树莓派结合继电器就可以做远程网页控制了。然而单片机有很多现成外设驱动可用,如果用Python来实现驱动,可能会降低可靠性,同时也会提高外围扩展的复杂性。

2、但是直接通过单片机利用蓝牙芯片进行串口连接,可以降低无线控制系统的成本。

3、由于网页使用python语言编写,所以可以十分方便的进行本地操作,更有超多的现成库,可实现的功能远远比网页脚本语言强大得多。

4、估计没几个能有比django的admin模块更简单的健全的账户安全系统了。

5、其实整个系统的核心就在django上,所以这个系统运行在任何一个linux终端上上均可以,不单单是树莓派。

6、但是树莓派最大的优势就是低功耗,高度优化的系统和rpi.gpio,作为一个日常低负载的服务器没有人会不喜欢——如果CPU能再给力点的话。

1、django教程:http://djangobook.py3k.cn/2.0/ 如果碰到无法理解的问题,别急,去https://docs.djangoproject.com/en/1.4/找找答案。

2、51单片机的串口例程:http://www.elecfans.com/emb/danpianji/20110509197678.html

3、PySerial方面完全可以用这里的代码:http://www.shumeipai.net/read.php?tid=1118&ds=1#11689

4、下面贴一下django里的部分app代码:

#!/usr/bin/env python

import serial

class Control():

def __init__(self,device='/dev/ttyUSB0',BAUD=4800):

self.client = serial.Serial(device,BAUD,timeout=1)

def command(self,CMD):

try:

self.client.write(CMD)

self.client.close()

except:

pass

views.py:

from django.shortcuts import render_to_response

from django.template import RequestContext

from django.http import HttpResponse,HttpResponseRedirect, Http404

from control import Control

def control(request):

DEMO=None

if request.method == 'POST':

if 'CMD' in request.POST:

CON = Control()

CMD = request.POST['CMD']

CON.command(CMD)

return render_to_response('controller.html',{'demo':DEMO},context_instance=RequestContext(request))

再贴上有点偏离主题的视频里示范网页的html模板代码:

{% csrf_token %}

单片机代码,如果有兴趣的童鞋可以自己去写,写这篇文章的主要目的是帮助大家给现成的单片机控制系统添加网页控制功能。对于单片机不太了解的人,抱歉,代码这里欠奉了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以驱动许多硬件模块和设备,以下是一些比较简单并且实现功能多样的硬件模块: 1. Raspberry Pi:Raspberry Pi是一款基于ARM架构的微型计算机,可以通过Python编程来控制各种外围设备,如LED、传感器、摄像头等。 2. Arduino:Arduino是一款开源的电子原型平台,使用简单的C/C++语言编程,但也可以使用Python通过PySerial库与Arduino通信。Arduino可用于控制各种传感器、执行器和其他外围设备。 3. GPIO(通用输入输出)模块:许多单板计算机和开发板都具有GPIO引脚,可以使用Python的GPIO库(如RPi.GPIO)来控制和读取数字信号,从而与各种外围设备进行交互。 4. 传感器模块:Python支持许多传感器模块,如温湿度传感器(DHT11/DHT22)、光敏传感器、气体传感器、加速度计等。这些传感器通常通过I2C、SPI或GPIO接口与主板连接,并可以使用适当的库进行读取和解析。 5. 电机驱动器:Python可以通过使用适当的库(如RPi.GPIO或Adafruit库)来驱动各种电机驱动器,如直流电机、步进电机、伺服电机等。 6. LCD/OLED 显示屏:Python可以通过使用适当的库(如Adafruit_CircuitPython_CharLCD或Adafruit_SSD1306)来控制各种字符型LCD或图形型OLED显示屏。 7. 蓝牙和Wi-Fi模块:Python具有许多库和框架,可以通过蓝牙或Wi-Fi与其他设备进行通信,如蓝牙模块(如HC-05)或Wi-Fi模块(如ESP8266或ESP32)。 这只是一小部分可以使用Python驱动的硬件模块和设备。实际上,Python具有广泛的库和框架支持,可以与各种硬件进行交互和控制。选择适合你项目需求的硬件模块,并查找相应的库和文档将有助于你快速开始开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值