python做物联网控制_一步步搭建物联网系统——简单物联网
简单物联网
到这时,我们算搭建了一个简单的REST服务了。接着我们可以简单的做一个最小的物联网系统,将我们的单片机、MCU等等连上网。
考虑到如果我们只是单一连接各个节点,那么系统的结构图,同下所示
下面的星形结构图类似于我们在接下来所要构建的系统
一个用于控制真实电器的硬件实物图
硬件通信
串口通信
Arduino与Raspberry Pi通过串口通信的方式实现通信,相互传输所需要的数据,Raspberry Pi将资源传于互联网上对应的接口,接口可以在互联网上被访问。Laravel框架构架于服务器之上,将Raspbery Pi获取过来的数据存储于MySQL数据,再以REST服务的方式共享数据,互联网上的其他设备便可以通过网络来访问这些设备。Ajax用于将后台的数据以不需要刷新的方式传递到网站前台,通过HighCharts框架显示给终端用户。
Python
1.在Windows中的串口通常是COM1,COM0等等
pythonser=serial.Serial("COM0",9600)
2.Mac OS系统中位于/dev目录下,名字类似于tty.usbmodem1451。
pythonserial.Serial("/dev/tty.usbmodem1451",9600)
3.在Linux内核的系统中虚拟串口用的节点是ttyACM,位于/dev目录下。
pythonserial.Serial("/dev/ttyACM0",9600)
串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能
的电路,我们称为串行接口电路。
便是打开这个设备,以9600的速率传输数据。
程序框架如下所示:
代码如下:
pythonimport json
import urllib2
import serial
import time
url="http://www.xianuniversity.com/athome/1"
while 1:
try:
date=urllib2.urlopen(url)
result=json.load(date)
status=result[0]["led1"]
ser=serial.Serial("/dev/ttyACM0",9600)
if status==1 :
ser.write("1")
elif status==0:
ser.write("0")
time.sleep(1)
except urllib2.URLError:
print "Bad URL or timeout"
系统还需要对上面的数据进行处理,只拿其中的结果
当改变led的状态后,便可以得到下面的结果
Ruby
如果你用的是Ruby的话,可以尝试使用serialport
安装
bashsudo gem install serialport
代码大致如下
Rubyrequire 'serialport'
sp = SerialPort.new "/dev/ACM0", 9600
sp.write "1"
注意: 根据相关的系统修改相关的代码。
硬件
Arduino
这样我们在我们的Arduino上所要做的便是,读取串口的结果并控制IO口。
cint ledPort=13;
void setup() {
Serial.begin(9600);
pinMode(ledPort,OUTPUT);
}
int serialData;
void loop() {
String inString = "";
while (Serial.available()> 0)
{
int inChar = Serial.read();
if (isDigit(inChar)) {
inString += (char)inChar;
}
serialData=inString.toInt();
Serial.print(serialData);
}
if(serialData==1){
digitalWrite(ledPort,HIGH);
}else{
digitalWrite(ledPort,LOW);
}
}
如果结果是1的话,就让13口为高电平,也就是让灯亮起来。
继电器
继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。
在这里我们可以默认为我们想要为单片机的5V电压控制220V的电器。
最后我们便可以通过些来控制灯的开和关。
python做物联网控制_一步步搭建物联网系统——简单物联网相关推荐
- python训练模型函数参数_一步步亲手用python实现Logistic Regression
前面的[DL笔记1]Logistic回归:最基础的神经网络和[DL笔记2]神经网络编程原则&Logistic Regression的算法解析讲解了Logistic regression的基本原 ...
- python手机屏幕控制_用Python控制墨水屏
按照基础教程墨水屏用了起来,但是,教程是用C写的,以后是想用python做开发的,这之间可咋切换? 万能的github上已经有人这么做了 https://github.com/GregDMeyer/I ...
- 用python做自我介绍_用python做个自我介绍(python入门教程)_逻辑教育
原标题:用python做个自我介绍(python入门教程)_逻辑教育 本文涉及的python基础语法为:数据类型等 数字类型 1. 字符串的拼接 我们在上一章中已经简单介绍了一下字符串的创建方式,这里 ...
- python做数学计算器_从零开始学习PYTHON3讲义(二)把Python当做计算器
<从零开始PYTHON3>第二讲 上一讲我们说过了如何启动Python IDLE集成开发学习环境,macOS/Linux都可以在命令行执行idle3.Windows则从开始菜单中去寻找ID ...
- 一步一步教你如何用python做词云_一步一步教你如何用Python做词云
前言 在大数据时代,你竟然会在网上看到的词云,例如这样的. 看到之后你是什么感觉?想不想自己做一个? 如果你的答案是正确的,那就不要拖延了,现在我们就开始,做一个词云分析图,Python是一个当下很流 ...
- 如何用python做词云图_科学网—如何用Python做词云?(基础篇视频教程) - 王树义的博文...
只需要花10几分钟,跟着教程完整做一遍,你就能自己用Python做出词云了. <如何用Python做词云?>图文版发布于2017年6月,是我数据科学系列教程中的第一篇. 目前仅简书一个平台 ...
- python做excel麻烦_高效办公必备:别人通宵做的 Excel,我用Python 半小时搞定!
原标题:高效办公必备:别人通宵做的 Excel,我用Python 半小时搞定! 最近经常听到周围的人抱怨:"工作忙,在加班--" 不知不觉,当代职场人早就被"996&qu ...
- python做图片浏览器_保护隐私,用Python打造自己的照片浏览器
现代操作系统比如Win10, Mac都自带了很好用的照片浏览器,采用人像识别技术自动识别家庭成员,还有简单的画面增强功能.然而这些功能都是需要连接云端服务器来实现的.虽然说很难说这些大公司会对你的那些 ...
- python做淘宝_用python做个淘宝双十一满减攻略,再也不用算算算了
双十一还有不到10天,购物车已经快加满了,但是钱包里就这么多钱,如何用现有的钱买到更多喜欢的东西,成为我比较头疼的事,因为我已经被各种组合加法搞晕了 于是我决定用python做个双十一购物攻略,把复杂 ...
- python做淘宝_我用 python 做了款可开淘宝店赚钱的工具!
摘要:撩了淘宝店家后,用 Python 做了这个. 批量更换证件照背景色工具 私信小编01 获取本项目源代码哦! 之前给大家介绍了一款 AI 抠图神器:Remove.bg ,使用 Python 调用 ...
最新文章
- python输入字符串转换为公式_将python字符串转化成长表达式的函数eval实例
- delphi调用选择目录对话框
- C++ Lists(链表)
- 实验详解——parted单磁盘分区并进行配额
- 前端学习(2018)vue之电商管理系统电商系统把good_cat转换为字符串
- Oracle表连接方式总结
- 关于ILRunTime + FGUI 组合使用的补充
- UiPath Excel 向下填充
- django官方文档3.0学习笔记 03
- [附源码]计算机毕业设计Node.js老薛男生服装网(程序+LW)
- 第一台超高速巨型电子计算机,1997年,( )巨型机的研制成功,使我国在这个领域跨入了世界先进行列。...
- 第三方代付入帐是什么意思
- JAVA线程状态的10种转换
- JPG和TIFF图像转换
- odbc sqlstate:IM004
- 阿松嘚嘚嘚-数据库篇1-数据库市场有学问
- 腾讯测试儿童锁模式:13周岁以下玩游戏须家长开锁
- oracle sql developer的简单使用
- 米斯特WEB安全攻防白帽子培训视频教程 网站安全检测培训教程 第二期
- java新人培训_Java新人学习必要的步骤以及全套学习路线!