pythonds18b20_[python]树莓派第一课之DS18B20温度传感器
本帖最后由 wushaominkk 于 2019-3-18 16:54 编辑
好久没更新,主要是这一段时间的事情太多了,秋招签了家北京的企业,找了个当地法院的兼职,兼职还是比较轻松,所以那段时间更新比较多,后来老师给了个问卷数据分析的任务,毕业设计也上来了,前三周有一门课设,老师都快凶死了,我都不知道我课设改了多少遍,加上还要在春招尝试下能不能把自己卖的更贵,所以就从法院辞职回来专心把这些烂摊子处理下,现在课设结束了,虽然还有数据分析和毕设,但是也按耐不住激动的心情,开始玩转树莓派!
首先,肯定有一大群人是来凑热闹的,啥是树莓派啊?吃过黄瓜派,冬瓜派,甘蔗派,六神花露水派,你这是树莓做的派?
是的,采用python编程,精选高海拔顶级天然树莓,精制而成,所需树莓连起来可绕地球一圈,我们不生产树莓派,我们只是树莓的搬运工。
得得得,扯不下去了,树莓派简单来讲就是一个微型电脑,可以用来做物联网,价格低廉,最新款3B+估价220+,低级一点的就更便宜,还有90块的,详情参考百度百科,最近抄百科都快抄吐了,我是不想抄了,大家可以自己看。喏,图在这
1.jpg (194.3 KB, 下载次数: 2)
2019-3-18 15:04 上传
就是这玩意,看长得多么漂亮,沉鱼落雁,闭月羞花啊,美不胜收,我知道你看不出来好看,拜托,培养下程序猿审美可好?
这个东西里面呢,可以写入系统,Linux系统,win10 IoT都可以写入,然后可以跟电脑无差的使用,看见上面那排排针吗?这玩意可以干的事就多了,控制开关啊,接入传感器啊,总之,只有你想不到,没有他做不到。妙,妙啊!
今天是第一课,扯得犊子有点多,言归正传,我们今天要把DS18B20温度传感器接入树莓派,检测房间内温度。
DS18B20温度传感器是啥玩意?顾名思义,他是检测温度的温度传感器。长啥样?
2.jpg (63.99 KB, 下载次数: 2)
2019-3-18 15:06 上传
就这样,最要紧的是前面的半圆柱型黑球,那是传感器,我买的是现成的模块,就是人家给你加了电阻和指示灯,随拿随用。估价6-7元。
材料清单(宽油警告):
1.树莓派3B+一台,内置Linux操作系统。估价220元。
2.面板板一个,估价5元。
3.公对公插线若干,公对母插线若干。估价1元。
4.DS18B20温度传感器模块一个。估价6元。
5.简单树莓派扩展板一个。估价7元
6.USB供电器一个。估价10元。
7.USB供电线一个。估价10元。
8.电脑一台。估价很贵。
9.可发射WiFi的路由器或手机一台。估价不便宜?
10.程序猿一只,估价一杯奶茶。
RMB劝退的患者,别忘了评分投币哦
准备好,开始接线。
3.jpg (25.66 KB, 下载次数: 2)
2019-3-18 15:10 上传
接线简单吧,备好WiFi,开机。给你一张我的成品图
4.jpg (373.84 KB, 下载次数: 3)
2019-3-18 15:12 上传
电脑和树莓派开机后,找到树莓派的ip地址,使用XSHELL软件连接。
关于怎么让树莓派联网和怎么找到他那神奇的ip的问题,我就不讲了,度娘一大堆。 树莓派默认密码是树莓派的英文小写。
另外树莓派的root的用户不允许远程登陆,所以你的远程登录用户名就是pi。密码刚才说了。
如果,神奇的xshell提醒你这个,点否就行了。
5.jpg (90.62 KB, 下载次数: 2)
2019-3-18 15:13 上传
然后,开始执行第一条命令,安装vim(如果你坚持用vi的话,你哭晕在厕所我也不给你送纸)
sudo apt-get install vim
安装好以后,输入以下命令。
sudo raspi-config界面多么美丽
6.jpg (247.84 KB, 下载次数: 2)
2019-3-18 15:14 上传
没错选第五个,请大家注意下英文内容啊,不要只看序号,以后序号可能会变的。
7.jpg (221.8 KB, 下载次数: 1)
2019-3-18 15:16 上传
对的,再选它,把它打开,打开是enable。
8.jpg (65.29 KB, 下载次数: 1)
2019-3-18 15:16 上传
选是,就打开了,然后退出。
然后,进入/boot/config.txt这个文件里,查看有没有这样的一句话。
执行命令:sudo vim /boot/config.txt
9.jpg (153.92 KB, 下载次数: 2)
2019-3-18 15:17 上传
这句话出现的位置可能不同,但是你要有耐心的找。
如果没有,你就手动在文件的最后加上吧。
dtoverlay=w1-gpio-pullup,gpiopin=4
如果,你传感器接入的位置不在GPIO4号口,就把上面那句话最后的4改成对应的编号。
然后,执行下面的命令,重启:
sudo reboot
重启完成后,去尝试打开这个文件夹。执行命令:
cd /sys/bus/w1/devices/
如果系统提示你文件夹不存在,请查看你上面加在文件里的话是不是有中文标点啊,是不是加了空格等等。另外检查下线有没有接对。
总之打不开,一定是你错了,注意查错。
好了,该文件夹下有个文件夹,28-********,后面那是序列号,像我的
10.jpg (28.47 KB, 下载次数: 0)
2019-3-18 15:19 上传
cd 进去。
里面有很多文件。
11.jpg (33.96 KB, 下载次数: 1)
2019-3-18 15:20 上传
其中w1_slave是存放温度数据的。执行命令看下:
cat w1_slave
12.jpg (40.88 KB, 下载次数: 1)
2019-3-18 15:21 上传
最后这个T就是温度,要除以1000,所以我现在的温度是18.937℃。还是挺冷的。
crc=a7 YES表示温度采集成功
前面那些是循环冗余校验,我们自己用也看不到,但是开发商用的同学请注意了。
至此大功告成,对了多个温度传感器可以并联接入。
那么到这里python程序有什么用呢?
无非就是从文件读取出温度,上传服务器罢了。
首先在服务器mysql内新建数据库other。新建数据表pi,命令如下:
create table pi(id int not null,itime datetime not null,val double not null);
解释:Id是为了区分设备,itime是为了记录数据上传时间,val是记录数据。
程序流程图
13.jpg (118.01 KB, 下载次数: 1)
2019-3-18 15:23 上传
源码:
14.jpg (319.59 KB, 下载次数: 6)
2019-3-18 15:25 上传
15.jpg (414.06 KB, 下载次数: 1)
2019-3-18 15:25 上传
大功告成,测试运行下
16.jpg (41.19 KB, 下载次数: 1)
2019-3-18 15:26 上传
没有报错,我们看下数据库的情况
17.jpg (37.08 KB, 下载次数: 1)
2019-3-18 15:26 上传
成功了。我们上传到树莓派执行下
18.jpg (52.93 KB, 下载次数: 0)
2019-3-18 15:27 上传
报错了,原来是我们的文件路径忘了改,那么数据库是不是获取了相关的错误码呢?我们去看下
19.jpg (46.98 KB, 下载次数: 1)
2019-3-18 15:28 上传
-404状态码已经进入了,说明大功告成,修改下,将路径修改为服务器文件路径
20.jpg (86.92 KB, 下载次数: 2)
2019-3-18 15:40 上传
重新上传,到服务器执行下,数据库上已经有了新的数据了
21.jpg (55.13 KB, 下载次数: 1)
2019-3-18 15:29 上传
至此,大功告成! 这时会有人说,如果我想定时启动,比如每一分钟就获取一次数据。那该怎么搞?
简单,我们用软件crontab,输入命令:
crontab –e
如果提醒你下面的内容,就是让你选择编辑器,选VIM即可,我这里是3号。
22.jpg (71.28 KB, 下载次数: 1)
2019-3-18 15:31 上传
在文件的最后,加上内容:
*/1 * * * * python3 /home/pi/DS18B20.py
23.jpg (163.12 KB, 下载次数: 1)
2019-3-18 15:32 上传
保存退出即可!
至此,大功告成,我们去看看服务器上是不是自动上传了最新数据。
24.jpg (93.75 KB, 下载次数: 1)
2019-3-18 15:33 上传
每十分钟一条数据,漂亮吧,为啥最后一条26度了?
我用手指头捂了传感器,要不然总是18度岂不是太无聊了!
源代码在附件,编写不易,喜欢的别忘了投币、点赞、评论三连!
免费的源码在这里哦:链接:https://pan.baidu.com/s/17liP7V3KgY5ARF6yh-A3dw 提取码:7cjq
DS18B20.zip
(774 Bytes, 下载次数: 12)
2019-3-18 15:36 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB
版权声明:
未经本人书面许可,禁止以任何形式引用、抄袭、转载本篇文章。
pythonds18b20_[python]树莓派第一课之DS18B20温度传感器相关推荐
- python学习第一课——环境配置+比着葫芦画个瓢
python学习第一课 1. python概览 2. python的运行 3. python的变量.类型与存储 4. 对*.py文件的运行与存储 5. 终端切换路径及目录显示 6. 踩着巨人的肩膀创新 ...
- python学习第一课
python学习第一课 课前回顾 1.请求类型: 2.传参类型: 3.postman断言.参数化.多接口参数依赖 接口文档 这个接口是做什么的?URL请求类型参数--> 如何传递参数params ...
- Python基础第一课
全部都重要 github博客传送门 博客园传送门 Python基础课 如何下载安装Python Python基础第一课 Python基础第二课 Python基础第三课 Python基础第四课 没了. ...
- 儿童学python第一课_初学Python(第一课)
今天整理一下关于Python初学者的基础知识部分的第一课,因为之前学习过C,所以过于基础的知识就不详细记录了. Python相对于C\C++来说,在语法方面已经很简单了:甚至对于JavaScript也 ...
- python入门第一课_入门第一课 Python入门涉及的问题及简单示例
很多初学者都在问:我想自学Python,该怎样入门?入门选择哪些书籍? 下面,我以自己的理解作出解答. 1.先说明大体的学习进度. Python确实入门较为容易,语法清晰易懂.一旦入了门再想提高就和其 ...
- Python数据分析第一课:Pandas初入门
数据分析如下所示共6步,而使用Python可以帮助我们完成前5步. 一. Pandas简介 Pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库 ...
- python好学吗mooc中文网-Python学习第一课-MOOC嵩天
Python的基本语法元素 1.缩进 缩进表达程序的格式框架 严格明确 缩进是语法的一部分,缩进不正确,程序运行可能出错 所属关系 表达代码间包含和层次关系的唯一手段 长度一致 程序内一致,一般用4个 ...
- python爬虫第一课 开发环境配置
一.Python3的安装 二.请求库的安装 1.requests的安装 直接pip安装:pip3 install requests 2.Selenium的安装 selenium是一个自动测试化工具,利 ...
- python基础第一课(小白piao分享)
python 数据结构(及算法分析) 1.1 将序列分解成单独变量: 1.1.1 解决方案: 任何序列都可以通过简单的赋值分解成多个序列,唯一的要求是变量的总数和结构要与序列相吻合 例如: tp = ...
- Python学习第一课——爬取模特秀网站的模特图片
第一次写博客,经验不足. 很早以前就听说过爬虫,但是从未自己去实现过,昨天看到一个爬虫的教学视频,不免心里痒痒,于是自己动手编程实现.在这里我选择的是Python语言(不要问我为什么,实际上我也没有学 ...
最新文章
- 安装ATi显卡驱动后增加的鼠标右键菜单的清理
- c语言枚举类型变量的作用
- 第七章 配置文件与网站部署
- Windows Server Version 1709 管理之入门篇 1
- oracle数据库用户创建_权限分配_以及导入_导出数据,oracle数据库用户创建、权限分配,以及导入,导出数据...
- 早该知道的 7 个JavaScript 技巧[转]
- linux gettimeofday()函数
- 一套最有效的商业模式,老板贷款80万开火锅店,开业就回本?
- python return break_Python基础:return和break的不同
- AAAI2021 | 在手机上实现19FPS实时的YOLObile目标检测,准确率超高
- 【Visual C++】游戏开发四十九 浅墨DirectX教程十七 三维天空的实现
- 【实时语音转文本】PC端实时语音转文本(麦克风外音系统内部音源)
- 图像形状上下文特征ShapeContexts
- C# chart控件中游标随着鼠标移动
- win8修改炉石服务器,炉石传说如何去其他服务器玩炉石
- 锂离子电池性能测试软件,锂离子电池最常用的性能测试-放电曲线分析攻略(8000字长文)...
- 4kw机柜无通道封闭CFD模拟分析及优化(下篇) -孙长青
- STM32晶振 选型
- NodeMCU文档中文翻译 4 烧写固件
- 股票证券行业,怎样快速获客,有效途径有哪些