java温度计刻度,[Java教程]树莓派 基于Web的温度计
[Java教程]樹莓派 基于Web的溫度計
0 2017-01-05 00:00:11
前言:家里的樹莓派吃灰很久,于是拿出來做個室內溫度展示也不錯。
板子是model b型。
使用Python開發,web框架是flask,溫度傳感器是ds18b20
1 硬件連接
ds18b20的vcc連接樹莓派的vcc , gnd連接gnd,DS連接GPIO4
2 ssh登錄樹莓派查看ds18b20的連接sudo modprobe w1-gpiosudo modprobe w1-thermcd /sys/bus/w1/devicesls
如果ls看不到東西,使用下面的命令打開/boot/config.txt 在最后一行手動添加這個:dtoverlay=w1-gpio-pullup,gpiopin=4
然后 sudo reboot
3 目錄結構/static /js jquery.min.js/templates hello.htmlds18b20.pyhello_flask.py
4 代碼展示
hello.html
Document當前溫度:
ds18b20.pyimport osimport globimport timeos.system('modprobe w1-gpio')os.system('modprobe w1-therm')base_dir = '/sys/bus/w1/devices/'device_folder = glob.glob(base_dir + '28*')[0]device_file = device_folder + '/w1_slave'def read_temp_raw(): f = open(device_file, 'r') lines = f.readlines() f.close() return linesdef read_temp(): lines = read_temp_raw() while lines[0].strip()[-3:] != 'YES': time.sleep(0.2) lines = read_temp_raw() equals_pos = lines[1].find('t=') if equals_pos != -1: temp_string = lines[1][equals_pos+2:] temp_c = float(temp_string) / 1000.0 temp_f = temp_c * 9.0 / 5.0 + 32.0 return temp_c# while True:# print(read_temp())# time.sleep(1)
hello_flask.py#!/usr/bin/python# -*- coding: UTF-8 -*-from flask import Flask,render_templateimport ds18b20tmp = 0.0app= Flask(__name__)@app.route('/')def hello(): return render_template("hello.html")#獲取最新溫度@app.route('/update')def update(): tmp = ds18b20.read_temp() return str(tmp)if __name__ == '__main__': app.run(host="0.0.0.0",port=8080, debug=True)
5 運行
sudo python hello_flask.py
打開 對應樹莓派的ip:8080 查看溫度
6 后語
原本打算使用nodejs開發的,可是在樹莓派上調校gpio各種坑,還有express框架的安裝也是很多問題,于是轉而使用python開發了。
本文網址:http://www.shaoqun.com/a/284594.html
*特別聲明:以上內容來自于網絡收集,著作權屬原作者所有,如有侵權,請聯系我們:admin@shaoqun.com。
web
0
總結
以上是生活随笔為你收集整理的java温度计刻度,[Java教程]树莓派 基于Web的温度计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 真实环绕的魅力,飞利浦杜比全景声影院B8
- 下一篇: windows下能读写linux分区的软