第1步:材料
这是我为创建此项目而购买的所有东西。这是一个相对便宜的项目,具体取决于3d打印的成本。如果您能够在学校打印它,那可能会很便宜。否则,这取决于您在何处进行打印以及在其中进行打印的材料。您会注意到我大量购买了这些产品,这仅仅是因为很难找到单个的电阻器或led,这使它更便宜。如果有时间,您可以在aliexpress.com上订购大多数物品,交货可能需要一段时间,但是这样可以限制开支。
没有印刷品,我在这个项目上花的钱是€81,80。
这些是您需要的材料:
电路:
raspberry pi 3
sd卡8gb(最小)
ccs811空气质量传感器
dht22温湿度传感器
电位器(对比度lcd)
lcd 16x2
母对母跳线
绿色和红色led
电阻(2x470ohm和1 4700ohm)
案例:
3d打印
螺丝
2组分胶(或其他热胶)
切线工具
只有您使用的是pcb:
烙铁
助焊剂(更容易)
锡
实验pcb 2x4cm
第2步:连接
按上述方法连接电线。您可以在fritzing文件中看到一个电路。它不是一个非常复杂的电路,但是如果您想使其尽可能的小,您肯定希望获得一块实验pcb板。除了gnd和vin将被连接到pcb板之外,布线将是相同的。传感器将通过母跳线或公头通过焊接连接。不要忘记在dht22传感器上焊接电阻。
我还建议使用10cm的短电缆。否则,包装盒中将充满电缆。您不需要很长的照片,因为打印的尺寸要尽可能小。
步骤3:3d打印
当我想到一个案件时,突然想到的第一个难题就是3d打印。由于我父亲已经打印出其他一些物品,所以他自己设计了这些物品。我们一起创造了这个设计,并且在各个方面都做到了。它应该被充分冷却,可以将所有零件拧紧就位,否则,可以将其推到位。
我们甚至绘制了每个组件以检查是否适合所有位置。每个人都可以使用该文件我们希望听到一些反馈。我们对结果感到非常满意。
步骤4:代码
可以在github上找到该项目的代码。如果您使用了其他引脚(例如,用于led的另一个gpio引脚,则必须调整这些变量。将有两个运行的python脚本,web.py用于网站,sensor.py用于读取传感器并进行更新
通过配置的树莓派,您可以开始使用。首先,您需要更新和升级所有软件包:
sudo apt-get update && sudo apt-get upgrade
之后,您需要安装以下软件包:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
现在创建一个虚拟环境:
me@my-rpi:~ $ python3 -m pip install --upgrade pip setuptools wheel virtualenv
me@my-rpi:~ $ mkdir project1 && cd project1
me@my-rpi:~/project1 $ python3 -m venv --system-site-packages env
me@my-rpi:~/project1 $ source env/bin/activate
(env)me@my-rpi:~/project1 $ python -m pip install mysql-connector-python argon2-cffi flask flask-httpauth flask-mysql mysql-connector-python passlib
既然完成了,您可以将代码从github克隆到您的虚拟环境中,可以通过多种方式完成。
在目录 conf 中,您可以找到四个文件‘必要时必须进行调整。您肯定必须在每个文件中都更改用户和主目录。只要您没有更改我的代码,uwsgi ini应该可以,请确保在必要时更改用户和virtualenv
因为使用了ccs811传感器专门用于arduino,它无法以树莓派的速度通过i2c总线进行通信。您必须在配置文件中将速度降低到10000(我使用9600)的波特率。
还必须获得adafruit传感器的库。我可以在这里进行解释,但是有一个完美的adafruit指南很好地解释了所有这些。
因为我们希望在连接树莓派时自动运行python脚本,所以您必须使用这些服务。如果您保留我的代码,它们应该没问题。要使它们运行,您需要做的就是启用它们。在您这样做之前,还有最后一件事。
由于我们使用的是nginx web服务器,因此我们必须停用默认值,并用我们自己的配置替换它。为此,应遵循以下步骤:
将conf/nginx复制到* sites-available *
删除链接到默认配置
将链接添加到新配置
重新启动nginx以保存更改
me@my-rpi:~/project1 $ sudo cp conf/project1-*.service /etc/systemd/system/
me@my-rpi:~/project1 $ sudo systemctl daemon-reload
me@my-rpi:~/project1 $ sudo systemctl start project1-*
me@my-rpi:~/project1 $ sudo systemctl status project1-*
nginx和mysql应该一直运行。它们与树莓派一起启动。 web脚本和传感器脚本尚不可用。
为此,您仍然需要使用以下命令启用这两项服务:
sudo systemctl enable project1-flask.service
sudo systemctl enable project1-sensor.service
步骤5 :数据库
我的数据库由三个表组成。用户与其他表没有关系。这仅用于登录并授予对网站的访问权限。打开设备电源后,每隔50秒就会将co2值和tvoc值写入数据库。每5分钟的温度和湿度。这样,我们就可以清楚地了解过去。
可以在此处找到sql文件,但是要在raspberry pi上获取数据库,您应该按照以下步骤操作:
在上一步中安装软件包之后,mariadb/mysql应该立即运行。您可以在此行中进行检查:
me@my-rpi:~ $ sudo systemctl status mysql
要创建数据库和用户,您只需在github中的代码中运行sql脚本即可。如果您正确执行了此操作,则应该使用以下命令查看表:
me@my-rpi:~ $ echo ’show tables;‘ | mysql project1 -t -u project1-admin -p
现在我们已经设置好了,您无需进行任何测试就可以确保一切正常。除非您已连接到wifi,否则需要使用以太网电缆将其连接并手动运行。
步骤6:连接到wi-fi
在nano中打开wpa-supplicant配置文件(没关系,只需确保可以使用文本编辑器即可。)
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
转到文件底部并添加以下内容(用您的ssid名称和密码名称代替):
network={
ssid=“ssid-name”
psk=“password-name”
}
要创建加密密码,您可以使用wpa_passphrase并将其简单复制到wpa_supplicant.conf psk中。使事情更安全。
wpa_passphrase “ssid-name” “password-name”
如果您希望它自动连接到此wi-fi网络,并且配置文件中还有其他文件,请确保将优先级更改为更高的级别通过在配置文件中将这一行添加到网络中:
priority=2
别忘了用以下命令重新配置接口:
wpa_cli -i wlan0 reconfigure
现在,您已经全部设置并连接到wifi网络。
步骤7:将所有内容放在一起
自前夕将黑线连接好并焊接,就可以了。这样设计的目的是,您可以打开机箱而没有任何松动的电线。这意味着所有内容都附着在底部。首先要做的是对树莓进行一些调整。它的每个角落都有孔,但这些孔没有应有的大。直径应足以在内部安装3mm的螺钉。我们必须打磨孔,使它们变宽一些。
第二件事是在每个孔中切出一个螺纹。这听起来可能很难,但是可以使用正确的工具轻松完成。我建议在本地硬件商店进行此操作,只要求使用切线工具即可。由于我父亲是金匠,因此他有工作上的工具。我可能会上传一个新的stl文件,以便稍后再打印,但这需要一台非常准确的打印机。
第三步是将pi拧到底部。您需要4个7毫米长的螺钉,直径为3毫米。之后,您可以将pcd板推入底部顶部提供的位置。可以将ccs811传感器推入左侧提供的位置,而dht11可以连接到右侧板上。两者都被隔离并且通风良好,但是之后我们发现内部仍然很热。
然后,您需要将led固定在其灯管上。我们用2种成分的胶水做到了这一点,但是您可以根据自己的喜好来做。确保它们粘在那里。
现在,您可以安装lcd显示器,您需要的螺钉的直径应与先前的螺钉相同,但要稍长一些。我的是1厘米。如果拧紧了四个螺丝,则只剩下一件事了。连接顶部。您只需要四个直径相同,直径为2cm的螺钉即可。现在一切就绪,您就可以启动它。
步骤8:启动
该项目的启动过程非常简单:
将电源线连接到机箱的左侧。它不是很明显,但是您可以通过通风孔看到。如果您知道了一次,这将不再是问题。
花一些时间来启动。
ip地址将在显示屏上显示十秒钟。您唯一需要做的就是确保您已连接到同一网络,并在浏览器的地址栏中输入ip地址。
您现在在网站上。您还没有帐户,因此请创建一个帐户。
如果您已注册,请登录。
完成!您可以在网页上看到所有数据,并且lcd显示屏显示当前的空气质量。
由于温度升高,我们将传感器放置在外壳的底部。这样,温度不会对注册值产生太大影响。因此,为获得最佳测量效果,请使设备直立放置,也可以将其挂在墙上。
Silicon Labs微处理器在新型动态心脏监测仪中的应用
4月7日韩国首发预定,三星S8或于21日全球上市
无线通信有哪些_无线通信方式
低压差分信号传输模拟交叉点开关SCAN90CP02的特点及应用分析
JEDEC即将发布首个3D IC接口标准
AirPi空气质量传感器的制作
如何快速判断PCB板的好坏
为什么Wi-Fi的速度越来越快?
地下管网水质监测系统
i9-10980XE评测 到底有多强
中国金属硅市场需求稳步上升,2020年金属硅价格持续走低
冷凝器坏了有什么现象
Safran助力东方中科完成C-V2X场景仿真测试方案
后起之秀 虽迟未晚!这款轻量云服务器乱拳打死老师傅
关于智能家居生态链业务及合作模式的演讲
零度智控一次性裁员134人,无人机热火猛降?
蓝牙4.0协议详解
BK7256,上海博通Wi-Fi6-音视频芯片性能参数介绍
接下来任天堂的游戏春天将要如何发展?
特斯拉Model Y有望拉动新一轮的动力电池配套