RaspberriPi 温度/气候记录仪





为Raspberry Pi硬盘进行刷机/安装所需软件

下载 "RASPBIAN JESSIE LITE"
创建新的硬盘用于DashboardPI
通过USB适配器将microSD卡插入电脑,并使用dd命令创建磁盘镜像
使用df -h命令找到插入的microSD卡,卸载它并使用磁盘复制dd命令创建磁盘镜像
注意:确保命令完全准确,错误的命令可能会损坏其他磁盘
输入=RASPBIAN JESSIE LITE镜像文件的位置 输出=您的microSD卡的位置
(注意:在此示例中是/dev/sdb,而/dev/sdb1是microSD卡上现有的工厂分区)
设置您的Raspberry Pi
将新创建的microSD卡插入Raspberry Pi,并通过连接到HDMI端口的显示器供电开机
登录
用户名: pi 密码: raspberry
为了安全起见更改您的账户密码
启用Raspberry Pi高级选项
选择: 1 扩展文件系统
9 高级选项
A2 主机名 更改为 "AtticTemp"
A4 SSH 启用SSH服务器
A7 I2C 启用i2c接口
启用英语/美国键盘
修改以下行: XKBLAYOUT="us"
为了使键盘布局更改/文件系统调整生效重启Pi
自动连接到您的WiFi
添加以下行以让您的Raspberry Pi自动连接到家庭WiFi(假设无线网络名为"linksys"为例)
为连接到WiFi网络重启Pi
现在,您的Pi终于连接到了本地网络,您可以通过SSH远程登录。但首先需要获取当前分配给它的IP地址。
在上述命令输出中查找 "inet addr: 192.168.XXX.XXX" 获取Pi的IP地址
前往另一台机器并通过ssh登录到您的Raspberry Pi
开始安装所需的软件包
更新本地时区设置
使用界面选择您的时区
设置简单的目录l命令 [可选]
添加以下行:
修复VIM默认语法高亮[可选]
取消注释以下行:
克隆项目/安装软件驱动程序

克隆项目存储库
DHT22 安装
更改以下行:
传感器 = Adafruit_DHT。DHT22
注释掉该行
取消注释该行并将引脚号更改为 16
运行测试
您应该会在命令行上看到 Temp 和 Humidity 的度量读数。
SSD1306安装
将 drivers/SSD1306.zip 解压到项目文件夹
安装驱动程序
确认你的器件已注册,通常在 i2c 总线上为 \0x3c
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
运行演示以确认您的显示器处于正常工作状态
所需用品






树莓派Zero
DHT22温湿度传感器
0.96英寸 I2C/IIC/SPI串行 128x64 OLED LCD屏
2.4英寸 400x240 16:9比例 串行:UART/I2C/SPI TFT触摸屏显示器
设备接线





SSD1306显示
GND -> GND
数据 -> SDA
CLK -> SCL
VCC -> 3V
Digole 显示器
GND -> GND
数据 -> SDA
CLK -> SCL
VCC -> 3V
DHT22 恒湿器
VCC -> 5V
GND -> GND
数据 - > GPIO 18 / 引脚 12
构建设备




将有机玻璃切割成适合设备前端的尺寸,位于3D打印框架下方。
使用螺丝通过3D打印框架来固定玻璃。
构建设备(二)





使用热熔胶将组件粘贴到前面板上。
将电线单元连接在内部。
安装背部面板,这样就大功告成了。
在 Settings.py 配置文件中配置应用程序以正确运行

找到settings.py文件,并根据您的实际设置进行调整。
用于获取本地天气信息的forecast.io API密钥
weatherAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = '您在FORECAST.IO的API密钥'
自己选择需不需要运行远程温度/湿度记录器
deviceLoggerAPI = 'mydevicelogger.com'
您可以通过谷歌搜索来获得家庭住址的经纬度
latitude = 41.4552578
longitude = -72.1665444
设置计划脚本
使用crontab -e
命令编辑计划任务:
添加以下行,以每7分钟运行一次displays.py
脚本:
可选项:如果您希望每10分钟将温度记录器的数据上传到API,请使用crontab -e
再次编辑计划任务。
添加以下行,以每10分钟运行一次temp-check.py
脚本:
这样,您就可以设置定期执行的任务来运行您的Python脚本,确保按照设定的时间间隔更新显示信息或上传温度数据。
可选:创建您自己的天气图像以在显示屏上呈现

上传您自己的128x128文件到以下URL:
访问 http://www.digole.com/tools/PicturetoC_Hex_converter.php
选择您要上传的图片文件,并添加希望它在屏幕上显示的尺寸(宽度/高度)
在“Used for”下拉菜单中选择“256 Color for Color OLED/LCD(1 byte/pixel)”
获取生成的十六进制输出。
将该十六进制输出添加到一个显示/构建头文件(.h文件)中,可以参考其他文件来确保语法正确。
在digole.c文件中包含新文件:#include "myimage.h"
在命令行钩子中添加对您的图像文件的新命令。注意:下面的命令表示在位置(10,10)绘制您的图像。您可以将其更改为不同的X,Y坐标,也可以根据新图像的实际大小更改128,128这些值。
现在重新构建(忽略错误),以使您的新图像能够使用以下命令渲染。
重新构建[包括]Digole显示驱动程序以应用您的更改:
这样,您就可以成功地将自己的图像文件添加到项目中,并通过命令行命令进行展示。请根据实际需要调整坐标和尺寸参数。











