树梅派应用16: 树莓派“瑞士军刀”扩展板教程 V1.X TO V2.X 的适配说明
2016-12-18 21:06
316 查看
本文介绍在树莓派瑞士军刀扩展板升级到V2.0之后,如何对原先V1.X的教程做出适当修改之后应用到V2.0的方法。以下将通过链接引用V1.0的内容并附上差异说明和代码变更来对每一个DIY应用进行阐述。
开始之前,你需要了解SAKS V2.0在硬件和SDK上做了哪些变更,可以参考硬件变更、SDK变更:
由于V2.0的引脚顺序重新定义过,因此原有教程中的引脚编号对应表需要自行对应到新版本。另外,SDK升级说明中关于LED组的调用方法也请特别注意。虽然Github上我们将SDK的目录结构做了调整,但我们尽可能保证了对旧有代码的兼容性,main.py 主程序中对SDK的导入依然可沿用之前的方式无需变更。
环境的安装未变更。原例程中用了一个LED作为测试,由于新SAKS的LED必须通过寄存器来操作,因此这里先改用蜂鸣器来测试。在以后的教程中将说明LED组的使用方法。
对照原例程,Python代码修改为
其他部分不变,测试效果为蜂鸣器发出哔声。
1.2、绚丽的流水灯(V1.X版例程)
SAKS V2.0 LED组的操作方式改用由一片74HC595芯片驱动,该芯片的使用方法查看这里。我们已经将该驱动封装在SAKS SDK中,要在SAKS上实现原文中的流水灯效果变得异常简易。而下面我们将介绍在不使用SDK的情况下如何驱动LED组以便大家能对LED组的操作原理有深入理解。
完整代码如下:
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
1.3、通过串口登录树莓派(V1.X版例程)
步骤和流程完全没有变,排针位置有调整,请按照扩展板上注释所示接线(RX、TX、GND 注释已标注)。
1.4、红色警报器(V1.X版例程)
将原代码中关于LED的部分注释掉(舍去LED闪烁效果)、修改蜂鸣器的引脚编号后即可正常运行。
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
1.5、浪漫小夜灯(V1.X版例程)
SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。
新的SDK不再支持 SAKS.ledrow.items
.on() 这种用法了,将原代码修改为 SAKS.ledrow.on_for_index(n) 即可。
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
呼吸灯需要对IO口作PWM控制,而由于SAKS V2.0用来驱动LED的74HC595芯片并不支持该模式,因此无法实现该例程中的呼吸灯效果。
2.2、数字闹钟(V1.X版例程)
SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。将原代码中关于LED的部分注稍作调整后即可正常运行,其中关于LED操作的代码。
SAKS.ledrow.items[6].off()
改为
SAKS.ledrow.off_for_index(6)
SAKS.ledrow.items[6].on()
改为
SAKS.ledrow.on_for_index(6)
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。本例程的代码仅需要将原SDK更新到SAKS SDK V2.0即可正常运行。
传感器安插位置和方向请参考下图:
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
3.2、CPU 温度显示和警报(V1.X版例程)
SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。本例程的代码仅需要将原SDK更新到SAKS SDK V2.0即可正常运行。
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
3.3、树莓派关机键(V1.X版例程)
原例程中使用了单个LED的闪烁表示关机或重启前的状态。适配到SAKS V2.0上,我们需要对驱动LED的74HC595芯片操作方法做一个简单的封装来实现同样的效果。
修改后的完整代码如下:
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
3.4、数字秒表(V1.X版例程)
SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。本例程的代码仅需要将原SDK更新到SAKS SDK V2.0即可正常运行。
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。将原代码中关于LED的部分注稍作调整后即可正常运行。
SAKS.ledrow.items
.on()
改为
SAKS.ledrow.on_for_index(n)
SAKS.ledrow.items
.off()
改为
SAKS.ledrow.off_for_index(n)
在终端运行下载本教程的源码库并进入到对应的源码目录,将代码中的 cityid 和 key 根据实际情况替换。执行运行脚本的指令可看到效果:
4.2、站点宕机指示(V1.X版例程)
原例程中使用了单个LED的闪烁表示关机或重启前的状态。适配到SAKS V2.0上,我们需要对驱动LED的74HC595芯片操作方法做一个简单的封装来实现同样的效果。
关键代码修改如下:
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
开始之前,你需要了解SAKS V2.0在硬件和SDK上做了哪些变更,可以参考硬件变更、SDK变更:
由于V2.0的引脚顺序重新定义过,因此原有教程中的引脚编号对应表需要自行对应到新版本。另外,SDK升级说明中关于LED组的调用方法也请特别注意。虽然Github上我们将SDK的目录结构做了调整,但我们尽可能保证了对旧有代码的兼容性,main.py 主程序中对SDK的导入依然可沿用之前的方式无需变更。
Lv1,树莓派瑞士军刀扩展板上手把玩
1.1、轻松搞定 GPIO 开发环境(V1.X版例程)环境的安装未变更。原例程中用了一个LED作为测试,由于新SAKS的LED必须通过寄存器来操作,因此这里先改用蜂鸣器来测试。在以后的教程中将说明LED组的使用方法。
对照原例程,Python代码修改为
1.2、绚丽的流水灯(V1.X版例程)
SAKS V2.0 LED组的操作方式改用由一片74HC595芯片驱动,该芯片的使用方法查看这里。我们已经将该驱动封装在SAKS SDK中,要在SAKS上实现原文中的流水灯效果变得异常简易。而下面我们将介绍在不使用SDK的情况下如何驱动LED组以便大家能对LED组的操作原理有深入理解。
完整代码如下:
步骤和流程完全没有变,排针位置有调整,请按照扩展板上注释所示接线(RX、TX、GND 注释已标注)。
1.4、红色警报器(V1.X版例程)
将原代码中关于LED的部分注释掉(舍去LED闪烁效果)、修改蜂鸣器的引脚编号后即可正常运行。
SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。
新的SDK不再支持 SAKS.ledrow.items
.on() 这种用法了,将原代码修改为 SAKS.ledrow.on_for_index(n) 即可。
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
Lv2,树莓派瑞士军刀扩展板进阶例程
2.1、呼吸灯(V1.X版例程)呼吸灯需要对IO口作PWM控制,而由于SAKS V2.0用来驱动LED的74HC595芯片并不支持该模式,因此无法实现该例程中的呼吸灯效果。
2.2、数字闹钟(V1.X版例程)
SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。将原代码中关于LED的部分注稍作调整后即可正常运行,其中关于LED操作的代码。
SAKS.ledrow.items[6].off()
改为
SAKS.ledrow.off_for_index(6)
SAKS.ledrow.items[6].on()
改为
SAKS.ledrow.on_for_index(6)
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
Lv3,树莓派瑞士军刀扩展板实用应用
3.1、数字温度计(V1.X版例程)SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。本例程的代码仅需要将原SDK更新到SAKS SDK V2.0即可正常运行。
传感器安插位置和方向请参考下图:
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。本例程的代码仅需要将原SDK更新到SAKS SDK V2.0即可正常运行。
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
原例程中使用了单个LED的闪烁表示关机或重启前的状态。适配到SAKS V2.0上,我们需要对驱动LED的74HC595芯片操作方法做一个简单的封装来实现同样的效果。
修改后的完整代码如下:
SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。本例程的代码仅需要将原SDK更新到SAKS SDK V2.0即可正常运行。
在终端运行下载本教程的源码库并进入到对应的源码目录,执行运行脚本的指令可看到效果:
Lv4,树莓派瑞士军刀扩展板挑战应用
4.1、PM2.5 指示灯(V1.X版例程)SAKS SDK将大部分方法的调用均保持了兼容,仅需要使用最新的SAKS SDK V2.0,经过小幅的调整即可适配到SAKS V2.0。将原代码中关于LED的部分注稍作调整后即可正常运行。
SAKS.ledrow.items
.on()
改为
SAKS.ledrow.on_for_index(n)
SAKS.ledrow.items
.off()
改为
SAKS.ledrow.off_for_index(n)
在终端运行下载本教程的源码库并进入到对应的源码目录,将代码中的 cityid 和 key 根据实际情况替换。执行运行脚本的指令可看到效果:
原例程中使用了单个LED的闪烁表示关机或重启前的状态。适配到SAKS V2.0上,我们需要对驱动LED的74HC595芯片操作方法做一个简单的封装来实现同样的效果。
关键代码修改如下:
相关文章推荐
- lwn拾遗:一个sn3218 led driver引发的驱动范例
- Raspberry PI 512M 入手
- 8核香蕉派BPI-M3
- 香蕉派 banana pi BPI-M1+ 单板计算机,板载WIFI
- banana pi BPI-M2 四核开源单板计算机
- 香蕉派 banana pi 英文论坛与GITHUB正式上线
- 香蕉派 banana pi BPI-M2_WiringPI 测试成功 代码已经上传GITHUB
- Banana pi 全系列产品gitbook 文档整理列表:英文
- banana pi BPI-R1 原理图下载地址:
- 香蕉派 banana pi BPI-M64 四核心64位开源单板计算机 全志A64方案
- 在类树莓派的ARM开发板上组建大数据集群
- PHP实现投镖求PI法,最笨但最有意思
- PHP实现简单高精度的求PI方法
- PI
- 树莓派3(Raspberry pi 3)刷OpenWrt
- Raspberry Pi入门指南
- 【进击的CMMI】Product Integration如果真的结对编程的话,画面真美
- raspberry pi 3b hdmi线接到55寸智能电视上显示
- 无显示器登陆 raspberry pi
- 树梅派应用14:树莓派 Raspberry Pi 设置无线上网