创客百科

姿势共享,有节操无门槛参与的创客百科,创客动力之源 \ (^_^) /

用户工具

站点工具


note:qwedc:remote_control_saks

使用Python远程控制Pi上的SAKS拓展板(第一部分:Pi端编写)

最近这几天作为小学生的我有些无聊,毕竟学校的任务还是很简单的,对我一点没有难度。所以我就想起了半年之前买的树莓派,当时好一个折腾,还入手了一个扩展板,就是为了学习关于GPIO的知识,但是最后因为事情太多而放下了。重新捡起树莓派的我开始考虑要写什么程序:“最近智能家居这个词经常在广告上出现,反正我也闲的没事情干,编个程通过Windows来控制Pi的扩展板吧,估计效果能挺不错的。最近看实验室也有个类似的项目,我也来尝试一下。”

制作这个小程序需要树莓派一个(需要可以支持扩展板的),装好Raspbian系统。然后需要一个瑞士军刀扩展板(在实验室里有卖的,反正功能特全),再就是要在计算机上安装PuTTY了。就这三样。做起来也不难。(我相信正在阅读本文的你一定是有网络的吧……)

因为在这个过程中涉及了PuTTY也就是命令行工具,所以大家还需要掌握一些Linux Shell的知识。关于扩展板……你肯定是能装上的,然后把扩展板压紧防止出现短路问题。

安装完成后,先在Raspbian里面安装Python和Git,因为不管是裸操控GPIO,还是使用扩展板已经开发好的SDK,都是要以Python作为支持的。而我这里用的是SDK,这个SDK是托管到GitHub上的。安装完以后,新建一个目录,我这里新建的是~/Raspberry_pi_study/SAKS/RemoteControl文件夹,大家可以用mkdir来创建。进入以后,我们先git clone 一下。

然后将SDK直接复制到文件夹下(注:clone命令会自动生成SAKS-SDK这个文件夹,而我们并不需要,可以用cp命令将它拷贝过来然后用rm -rf删除掉多余的文件夹。)克隆完毕以后,删除main.py,重新建立一个。在里面输入以下代码:

 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 from sakshat import SAKSHAT
 import time
 import commands
 import sys
 #Declare the SAKS Board
 SAKS = SAKSHAT()
 args = sys.argv
 action=args[1]
 if __name__ == "__main__":
     if action=="beep":
         SAKS.buzzer.beep(int(args[2]))
     if action=="ledon":    
         if args[2]=="all":            
             SAKS.ledrow.on()
         else:
             SAKS.ledrow.on_for_index(int(args[2]))
     if action=="ledoff":
         SAKS.ledrow.off()
     if action=="getledstatus":
         print(SAKS.ledrow.is_on(int(args[2])))
     if action=="displaynum":
         SAKS.digital_display.show(args[2])
     if action=="displayoff":
         SAKS.digital_display.off()
本页面的其他翻译:
note/qwedc/remote_control_saks.txt · 最后更改: 2017/04/14 19:11 由 果果