practice of raspberry pi 2

背景简介


2014年还在深圳的时候想尝试一下智能家居相关的业务和具体的玩法,入了raspberry pi2的板卡、亚克力外壳、2A的适配器和一个腾达的无线网卡。

rp2使用低功耗的arm处理器,装载debian系统,主板采用最简化配置和有限的接口,整个面积只有公交卡大小。用hdmi线连接显示器,接好键盘,插入存着
预安装程序的sd卡即可开始安装。设置为固定ip之后就可以使用ssh或者vnc远程登录。

raspberry pi有强大的GPIO接口,方便连接其他控制元件,例如电气控制中最常用的继电保护装置。
当时主要跟随以下三本书的内容推进。

爱上Raspberry Pi

Linux+树莓派玩转智能家居(第2版)

Raspberry Pi:Python编程入门

也间接增加了搬家时候的负担和痛苦。

言归正传,也是从rp2开始接触Linux系统,顺便在14年在edx跟完了两门很重要的课程: Introduction to Computing with java, Indroduction to Linux.
也趁此机会复习了一下模拟电路里的知识和电子器件。

借着在深圳的地利也买了块面包板和一堆杜邦线,传感器件。最后半途而废,搬家的时候还随身带着这些东西,警示着自己的怠惰。

少了一份填坑的坚持。不知道是不是因为随着年龄的增长越要想在行动前看到利益,更加世俗了。

回溯起来,从15年1月开始之后的第7周,知道了办公室即将于4月底解散。忙于下一份旅途的不确定性,耽误了下来。最终绕了一圈,又回到了上海。

代码分析


基于debian, 并且很方便利用python程序调用GPIO接口,但是最后没有试验成功。
所以这块暂时就没有代码可以展示。

trouble shooting


再次摘录一些归档的笔记和荒废在csdn blog里的一些东西。


GPIO

端子25电压为3.3V, 和arduino的电压不同,不能混用,切记。

GPIO python pkg可以找到相关脚本python支持包。


Raspberry pi 2 适配器型号

为了稳定运行,请使用5V 2A适配器。


公网IP和远程登入

当时想通过微信远程遥控,因此遇到了公网IP的问题。电信用户一般都是有公网IP的,但是不是固定IP, 每隔一段时间会有变动。
使用花生壳可以进行内网穿透,但是当时没有找到完美的解决方案,在debian系统内安装成功,但是没有调试成功。

电信一般是封锁80端口,因此需要通过其他途径绕开。一般使用vps部署NGINX反向代理解决。

Yeelink也提供一些内网穿透的解决方案,但是个人最终没有调试成功。

当时也希望用pi架设一个blog, 由于公网IP的问题最终也作罢。不过2年之后在github上实现了久远的愿望,也不错。


LCD1602

参考接线完成后成功点亮LCD,由于没有电位器所以不能调节LCD亮度。

连接液晶屏:
LCD1602液晶屏提供了16列x2行的ASCII字符显示能力,工作电压5V,
提供4位数据与8位数据两种工作模式,Raspberry Pi的GPIO口数量很有限,所以我们使用4位数据模式。

LCD1602液晶屏模块提供了16个引脚,我们只需接其中的12个即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1. VSS,接地,RPi PIN 6
2. VDD,接5V电源,PRi PIN 2
3. VO,液晶对比度调节,接电位器中间的引脚
4. RS,寄存器选择,接GPIO 14,RPi PIN 8
5. RW,读写选择,接地,表示写模式,PRi PIN 6
6. EN,使能信号,接GPIO 15,RPi PIN 10
7. D0,数据位0,4位工作模式下不用,不接
8. D1,数据位1,4位工作模式下不用,不接
9. D2,数据位2,4位工作模式下不用,不接
10. D3,数据位3,4位工作模式下不用,不接
11. D4,数据位4,接GPIO 17,RPi PIN 11
12. D5,数据位5,接GPIO 18,RPi PIN 12
13. D6,数据位6,接GPIO 27,RPi PIN 13
14. D7,数据位7,接GPIO 22,RPi PIN 15
15. A,液晶屏背光+,接5V,RPi PIN 2
16. K,液晶屏背光-,接地,RPi PIN 6

分享到 评论