背景简介
2014年还在深圳的时候想尝试一下智能家居相关的业务和具体的玩法,入了raspberry pi2的板卡、亚克力外壳、2A的适配器和一个腾达的无线网卡。
rp2使用低功耗的arm处理器,装载debian系统,主板采用最简化配置和有限的接口,整个面积只有公交卡大小。用hdmi线连接显示器,接好键盘,插入存着
预安装程序的sd卡即可开始安装。设置为固定ip之后就可以使用ssh或者vnc远程登录。
raspberry pi有强大的GPIO接口,方便连接其他控制元件,例如电气控制中最常用的继电保护装置。
当时主要跟随以下三本书的内容推进。
也间接增加了搬家时候的负担和痛苦。
言归正传,也是从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个即可: