首页 > 最新动态 > 晶控课堂 >

Python硬件编程实现打开或关闭电灯泡

2018-09-28 10:13
分享到:
之前我们已经给广大爱好者或程序员朋友们,带来了硬件版的或者说物联网版本的Hello World C++Builder版、Delphi、Visual Basic.Net等的程序源码和教学资料,让大家对硬件控制带来一个崭新的认识。有不少读者用户,建议我们出一套Python的智能硬件控制程序。先简单地来引入一些Python的概念吧。
现在,人工智能掀起了世界的新一波科技浪潮,如今,你要是不懂点AI、机器学习和python都不好意思说你是现代人。那么Python究竟和人工智能什么关系,为什么人工智能把Python也给带火了?人工智能包含常用机器学习和深度学习两个很重要的模块,Python拥有matplotlib、Numpy、sklearn、keras等大量的库,像pandas、sklearn、matplotlib这些库都是做数据处理、数据分析、数据建模和绘图的库,基本上机器学习中对数据的爬取(scrapy)、对数据的处理和分析(pandas)、对数据的绘图(matplotlib)和对数据的建模(sklearn)在Python中全都能找到对应的库来进行处理。所以,要想学习AI而不懂Python,那就相当于想学英语而不认识单词。
所以,今天我们就通过Python语言给大家展现一下硬件版的Hello World程序。Python是语言,我们使用的IDE开发工具为PyCharm,用户可以从其官网下载使用。
pycharm
打开PyCharm IDE集成软件开发工具,然后我们创建工程项目。

python智能家居代码
创建一个Hello工程项目,输入程序代码。

python硬件代码
我们对每一条代码都做了详细的注释。包括了设备的配置,初始化,以及控制命令。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# KC868-H8智能控制盒 硬件控制演示DEMO  Code By 杭州晶控电子有限公司
import socket
import time
sock = socket.socket(type=socket.SOCK_DGRAM)                           #创建Socket接口
sock.sendto('RELAY-SCAN_DEVICE-NOW'.encode(),('192.168.1.210', 4196))  #发送初始化命令1
time.sleep(2)                                                          #延时2秒
sock.sendto('RELAY-TEST-NOW'.encode(),('192.168.1.210', 4196))         #发送初始化命令2
time.sleep(2)                                                          #延时2秒
sock.sendto('RELAY-SET-1,1,1'.encode(),('192.168.1.210', 4196))        #打开第1路电灯泡
time.sleep(2)                                                          #延时2秒
sock.sendto('RELAY-SET-1,1,0'.encode(),('192.168.1.210', 4196))        #关闭第1路电灯泡
time.sleep(2)                                                          #延时2秒
server_msg, address = sock.recvfrom(1024)
print('收到服务端消息',server_msg.decode())
sock.close()

python编程
这是我们使用的PyCharm软件详细版本

硬件网络配置
这里开始是和硬件控制盒相关的了,我们打开配置程序,扫描后,确定设备的IP地址和端口号,然后再到Python中设置好即可。图中只是展示关键项,我们在实验时,实际的控制盒IP地址为192.168.1.210,端口号为4196

智能硬件控制盒
这是我们准备好的KC868-H8智能硬件控制盒,电灯泡、电线、剪刀、电工胶布。我们将电灯泡与控制盒的硬件输出端连接好线缆。具体连接方法,由于文章篇幅关系,请参考之前的系列教程。

硬件控制电灯
通过运行程序,我们可以看到电灯2秒钟后被打开。

关闭电灯
打开后,2秒钟后,又会关闭电灯泡。

到止,第一个Python版的控制电灯泡的hello world版的小程序就开发并验证完成了。现在是不是感觉智能家居的控制如此神奇与不可思议,不过你已经可以实现控制了哦,会控制了电灯泡,控制其它电器设备,其原理都是一样的,这样就又向物联网技术、人工智能技术的大门跨进了一个脚步。对于以上的项目源程序我们进行开源提供,如果有需要的朋友,可以留言和我们联系。在接下去,我们将会编写提供给大家更多的硬件版hello world程序案例,方便各位同学走进物联网与人工智能技术的大门。

开源智能家居二次开发实例——Python硬件编程实现打开或关闭电灯泡文章附件(Python工程项目源程序代码包下载)