使用小巧的Raspberry Pi Zero制作移动设备!【第1篇】

使用Raspberry Pi Zero和Raspberry Pi Hat轻松进行电子制作!

 

大家好,我是吉田!
我们将使用小巧的Raspberry Pi Zero来制作便携式移动设备和可穿戴设备。Raspberry Pi家族里还有一款称为“Hat”的硬件,通过Hat可以进行功能扩展,而且其形状和Raspberry Pi完全匹配,因此我们将用它来制作一些简单方便的小作品。
在第1篇中,我将使用Seeed ReSpeaker 2-Mics Hat,通过这款Hat可以轻松地将麦克风、扬声器、按钮等部件安装在Raspberry Pi Zero上。
1

本项目所需部件

・Raspberry Pi Zero
2

・Seeed ReSpeaker 2-Mics Hat
3

・小型锂聚合物电池

(注:请小心处理,使用风险自负。)
b

・带开关的分线板
4

・Raspberry Pi Zero外壳(如果是Raspberry Pi入门套件,会附带外壳。)

 

目录

1. 准备好Raspberry Pi Zero
2. 开始使用Raspberry Pi Hat(ReSpeaker)
3. 组装成小型设备
4. 制作成Dash按钮
5. 总结

1.准备好Raspberry Pi Zero

Raspberry Pi Zero与普通的Raspberry Pi(Model 3B)相比,其大小只有后者的1/3左右,CPU、内存稍有逊色,但是GPIO等数字输入输出功能处于同等水平。当然,两者都可以使用Python进行编程等操作。
5

虽然Raspberry Pi Zero上运行的OS是Raspbian,但是此次的电子作品不会用到Desktop等,所以我们将使用更为简单的Raspbian Lite。

要安装Raspbian Lite,需要先从官网下载OS镜像,并将其刻录到SD卡上。详细的操作方法可以参照“第41篇 表里如一,小巧轻便!在CUI环境中运行Raspberry Pi Zero”
6

通过SSH(Secure Shell)远程连接Raspberry Pi Zero。
7

Raspbian Lite的主目录(/home/pi/)中没有默认的文件/文件夹,我们需要事先创建一个用来存放这次要用到的程序的Programs文件夹。

$ sudo mkdir ~/Programs

2.开始使用Raspberry Pi Hat(ReSpeaker)

Raspberry Pi Zero体积小,且和常规的Raspberry Pi一样,GPIO引脚都是40个。但是,因为只有一个微型USB端口,没有音频接口,所以添加硬件需要费点心思。

此时,如果使用扩展板“Raspberry Pi Hat”,则可以轻轻松松的完成功能扩展,实现自己想要的效果。Raspberry Pi Hat扩展板尺寸方面和Raspberry Pi Zero完全匹配,且相关厂商均有推出该类产品。

在本篇中,我想使用Seeed公司的“ReSpeaker” Raspberry Pi Hat来制作电子作品。
ReSpeaker的麦克风和音频接口作为标配自带按钮和LED,可以对Raspberry Pi Zero的功能进行有效补充。另外还有两个不用焊接就可以直接安装传感器的Grove接口,具有一定的扩展性。

首先,在不通电的状态下,将准备好的ReSpeaker安装在Raspberry Pi Zero上。
8

 

对准40引脚,从上往下缓缓插入。它的尺寸与Raspberry Pi Zero完美契合!
9

接下来给Raspberry Pi通电,安装ReSpeaker的驱动程序。
Seeed的下述网页上有详细的安装方法,按照步骤进行安装即可。
http://wiki.seeedstudio.com/ReSpeaker_2_Mics_Pi_HAT/

先下载源代码。

$ git clone https://github.com/respeaker/seeed-voicecard.git

10

运行源代码中的安装脚本。

$ cd seeed-voicecard
$ sudo ./install.sh
$ reboot

11

安装完成后重启,先确认声音情况。
可以通过aplay对扬声器进行确认,通过arecord对麦克风进行确认。

$ aplay -l
$ arecord -l

12

因为ReSpeaker自带按钮和LED,所以我们需要提前激活其功能。它们也需要库文件,并需要下载源代码。

$ sudo pip install spidev
$ git clone https://github.com/respeaker/mic_hat.git
$ cd mic_hat/

让我们在其中运行示例脚本。

$ python pixles.py

13
怎么样?中间的3颗LED按顺序亮起来了吧。
14

3.组装成小型设备

为了控制设备整体尺寸,我们使用小型的LiPo电池给Raspberry Pi Zero供电。照片中由跳线连接的部分是可以通过外部电源供电的,所以我们需要在这里焊上引脚,再装上滑动开关,这样就就能对Raspberry Pi进行ON/OFF控制了。

15

16

安装好之后,将其放入Raspberry Pi Zero外壳。外壳上原本开了一个用来装摄像头的孔,我们需要调整位置,确保通过该孔可以看到LED。同时,也需要确保图片上左侧的按钮位于可以按压的位置上。

17
这样,ReSpeaker上自带的按钮就能正常使用了。ReSpeaker上的按钮连接的是GPIO17引脚,所以我们需要编写一个相应的程序。

[button.py]
import RPi.GPIO as GPIO #ラズパイ上の40ピンGPIOを操作する為のライブラリ
import time
from pixels import pixels #ReSpeaker上のLED用のライブラリ
BUTTON = 17 #ReSpeaker上のボタンはGPIO17
GPIO.setmode(GPIO.BCM)
GPIO.setup(BUTTON, GPIO.IN)

while True:
    state = GPIO.input(BUTTON)
    if state:
        pixels.off() #押していない時はLED、表示もoffにする
        print("off")
    else:
        pixels.wakeup() #押すとLED、表示をonにする
        print("on")
    time.sleep(1)

现在,按下按钮,LED就能发光了。

19

4.制作成Dash按钮

如果仅仅会发光,那还是不够有趣,所以我们接下来把它制作成Dash按钮吧(一种简单的IoT按钮,只需按一下,就能实现下单等功能)。

做好之后,贴在冰箱上,只要按一下按钮,就能拜托别人帮忙,这种按钮怎么样啊?比如,按一下按钮,将购物清单发给下班回家路上的另一半,并且发送LINE消息,“紧急求助!请买这些东西!”等等。

21

购物清单的制作方法如下:先在智能手机或者浏览器上,①进入Google购物清单,使用Google账号进行登录。② 在这里可以随时追加自己想要购买的商品。③ 点击右上角的图标,添加要分享此列表的人员(家庭成员等)。

google购物清单

然后,将该链接粘贴在后文提到的IFTTT上,就可以在发送LINE消息时,自动分享购物清单。
再搭配网络服务平台IFTTT,就能轻轻松松地实现Raspberry Pi和LINE的关联。

通过IFTTT网站创建新的小程序,并选择“Webhooks”作为触发器。
再为所执行的操作设一个特定的名字,也就是Event name。(此时需要设为zero_line)。
创建完成下图所示的IFTTT小程序之后,点击Webhook的图标。

22

这时,Webhooks settings界面就打开了,记录好里面的URL部分。其中,use/之后的部分就是用来调用该APP的Webhook key。

23

将其结果关联至LINE。创建例如“Raspberry Pi Zero消息”这样的接收人群组,将Line Notify用户以及发送对象(接收人)加入至该群组。

24

接下来,再简单的制作如下所示的调用IFTTT的程序。
在Event name处粘贴刚刚设定的事件名,即zero_line,在Webhooks key处粘贴刚刚记录下来的key。
[ifttt_line.py]

import requests
IFTTT_URL = 'https://maker.ifttt.com/trigger//with/key/'
IFTTT_KEY = ''
requests.post(IFTTT_URL + IFTTT_KEY, json = {'value1':'aaa', 'value2':'bbb', 'value3':'https://shoppinglist.google.com'})

运行该程序,设定好的消息应该就能成功发送至LINE了。

25

最后实现了与按钮之间的关联、且可以发送LINE消息的程序就是这个样子,仅供大家参考!

[button_line.py]
# _*_ coding: utf-8 _*_
import RPi.GPIO as GPIO #ラズパイ上の40ピンGPIOを操作する為のライブラリ
import time
from pixels import pixels #ReSpeaker上のLED用のライブラリ
import requests
IFTTT_URL = 'https://maker.ifttt.com/trigger//with/key/'
IFTTT_KEY = ''
BUTTON = 17 #ReSpeaker上のボタンはGPIO17
GPIO.setmode(GPIO.BCM)
GPIO.setup(BUTTON, GPIO.IN)

while True:
    state = GPIO.input(BUTTON)
    if state:
        pixels.off() #押していない時はLED、表示もoffにする
        print("off")
    else:
        requests.post(IFTTT_URL + IFTTT_KEY, json = {'value1':'ダッシュでお願い!',  'value2':'ちゃんと見てね↓'})
        pixels.wakeup() #押すとLED、表示をonにする
        print("IFTTT LINE done!")
        time.sleep(1)
    time.sleep(1)

26

这样,我们就不用动程序,只要变更IFTTT的设置,就能实现LINE消息的内容和收件人同步反映。
在形状方面,做成钥匙扣形状,让小朋友随身携带也是一个不错的选择。想象一下,只要轻轻一按,就能完成像“培训班下课了!快来接我吧!”这样的消息发送,是不是很方便啊。当然,需要确保培训班等使用场所可以连入WIFI网络。

28

此外,如果在按钮上贴上相应的贴纸,还可以各个按钮的功能和效果将变得一目了然!请一定要在家里和户外尝试一下。

4.总结

从本篇开始,我们将陆陆续续使用小型的Raspberry Pi、Raspberry Pi Zero,制作一些小巧轻便的电子作品。
通过使用Raspberry Pi Hat,可以轻轻松松地完成硬件的增加和功能的扩展,这样就可以大幅扩大我们可制作的电子作品的范围。
此外,因为自带了按钮、LED、音响等部件,所以按了Dash按钮之后,能够立即以声音等形式进行提醒。

在下一篇中,我将使用无需焊接就能在Raspberry Pi Zero上添加传感器等部件的Grove,来进一步丰富电子作品的功能,敬请期待!

(吉田)

 

 

本系列连载的内容

第1篇:使用Raspberry Pi Zero和Raspberry Pi Hat轻松进行电子制作!(本篇)
第2篇:使用Grove传感器制作环境检测设备
第3篇:制作声控多功能遥控器!
第4篇:制作小屏智能手表!

アバター画像

ヨシケン(吉田 顕一)

在普通公司工作的上班族,非常喜欢创作的周末创客,出版了电子书MESHBOOK,平时也写写博客。

http://blog.ktrips.net

通过Raspberry Pi使用闪烁LED和电机 :如何处理大电流

RBQ系列:高温环境下也能稳定运行,新增可满足高耐压需求的100V产品

相关文章

  1. basic-of-raspberrypi_01_02-1

    Raspberry Pi使用前的准备【第1篇】Raspberry Pi的基础知识

  2. 使用Raspberry Pi 4进行电子制作 入门!【第4篇】 使用Raspberry Pi 4和G…

  3. raspberrypi04_1

    使用Raspberry Pi 4进行电子制作 入门! 【第3篇】无头模式下熟练使用Raspberry…

  4. raspberrypi04_1

    使用Raspberry Pi 4进行电子制作的入门教程! 【第2篇】Raspberry Pi 4的设…

  5. raspberrypi04_1

    使用Raspberry Pi 4进行电子制作的入门教程! 第1篇: 开始使用新产品“Raspberr…

  6. i06_4a

    制作一款图形处理装置,用数字控制自然力

  7. ito_05

    制作卡通角色随风摆动就能绘制图形作品的装置

  8. i04-8

    使用传感器轻松制作有趣的项目

Raspberry Pi初学者指南

基础知识

EMC


TECH INFO

  • Sugiken老师的电机驱动器课堂
  • 重点必看
  • 技术分享
  • Arduino入门指南
  • Raspberry Pi初学者指南
  • 技术动态
PAGE TOP