摘要:工具樹莓派溫濕度傳感器在開始實(shí)驗(yàn)之前,要在電腦上安裝,并且建立好一個數(shù)據(jù)庫連接。到這里對電腦配置就結(jié)束了,對了,還有如果你們到時運(yùn)行樹莓派代碼出現(xiàn)遠(yuǎn)程連接失敗錯誤碼,像下圖這是因?yàn)?,你的防火墻開了,把防火墻關(guān)掉就不會報(bào)這個錯誤了。
工具:
樹莓派 * 1
溫濕度傳感器DHT11 * 1
在開始實(shí)驗(yàn)之前,要在電腦上安裝MYSQL,并且建立好一個數(shù)據(jù)庫連接。這里我用Navicat Premium連接電腦剛剛創(chuàng)建好的數(shù)據(jù)庫,在數(shù)據(jù)庫中新建一個表。這里連接提一句,
連接名可以隨便取,主機(jī)可以直接填localhost,也可以直接填本地ip地址。這個端口因人而異,可能是3306,也可能是3308等等。之后,就是填自己的用戶名和密碼。不過,這里要注意root用戶一開始沒有遠(yuǎn)程登陸的功能,需要在電腦終端給他賦權(quán)!!!首先,在電腦的cmd下(注意要在MySQL安裝bin目錄下)登錄mysqlmysql -h localhost -uroot -p
,
還有就是給樹莓派訪問權(quán)限GRANT ALL PRIVILEGES ON *.* TO "root"@"樹莓派ip地址" IDENTIFIED BY "你的root用戶密碼" WITH GRANT OPTION;
然后輸入FLUSH PRIVILEGES;
讓剛剛指令生效,這里還是重啟一下MySQL,可以直接exit;
一下。到這里對電腦配置就結(jié)束了,對了,還有如果你們到時運(yùn)行樹莓派代碼出現(xiàn) 遠(yuǎn)程連接失敗(錯誤碼:2003),像下圖:
這是因?yàn)?,你的防火墻開了,把防火墻關(guān)掉就不會報(bào)這個錯誤了。
下面轉(zhuǎn)到樹莓派上,樹莓派如果想用Adafruit_DHT這個庫得先去下載,git clone https://github.com/adafruit/Adafruit_Python_DHT.git
,解壓然后因?yàn)?code>cd Adafruit_Python_DHT目錄下,(如果你用的是樹莓派4B,還得,在Adafruit_DHT目錄下找到platform_detect.py這個文件
在112行補(bǔ)上下面那句話
然后轉(zhuǎn)到上一級目錄sudo python3 setup.py install
進(jìn)行安裝,安裝完后可以進(jìn)入examples目錄運(yùn)行測試文件,如果出現(xiàn)下圖情況說明安裝成功了(那兩個參數(shù),前一個是指明是DHT11還是DHT22,后面是以BCM為編碼的接溫濕度傳感器數(shù)據(jù)引腳。
終于到最后上傳數(shù)據(jù)代碼了,這里要遠(yuǎn)程連接MYSQL
con = pymysql.connect(host="你電腦ip地址",port=端口號,user="用戶名",db="你剛剛創(chuàng)建的數(shù)據(jù)庫",passwd="密碼")
這個很關(guān)鍵,
import pymysqlimport Adafruit_DHTimport timepin = 17 # DHT11在BCM編碼下接數(shù)據(jù)引腳global sensorsensor = Adafruit_DHT.DHT11con = pymysql.connect(host="你電腦ip地址",port=端口號,user="root",db="你剛剛創(chuàng)建的數(shù)據(jù)庫",passwd="123")#遠(yuǎn)程連接MYSQLcur = con.cursor()#創(chuàng)建游標(biāo)humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)#dht11讀數(shù)據(jù)while True: if humidity is not None and temperature is not None: print("Temp={0:0.1f}*C Humidity={1:0.1f}%".format(temperature, humidity)) else: print("Failure,Try again!") break time.sleep(1) # 延時1s sql="insert into 自己新建的表 values(%s,%s)" #由于上傳數(shù)據(jù)只能是字符串,所以這里進(jìn)行強(qiáng)制轉(zhuǎn)換 insert=cur.executemany(sql,[(str(temperature),str(humidity))]) print("sucess",insert)cur.close()con.commit()con.close()
然后運(yùn)行,刷新Navicat Premium中剛剛新建的表,最后可以看到有數(shù)據(jù)。
這里上傳數(shù)據(jù)當(dāng)然不限于DHT11,你們也可以加上其他傳感器試試,剩下就看看你們自己的發(fā)揮了。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/125583.html
摘要:超簡單深度睡眠模式下遠(yuǎn)程采集溫濕度信息項(xiàng)目背景相關(guān)技術(shù)深度睡眠模式溫濕度采集數(shù)據(jù)收發(fā)前后端實(shí)現(xiàn)后端前端項(xiàng)目背景自己用收納箱做了一個用于存放打印耗材的干燥箱,想用閑置的開發(fā)板和溫濕度傳感器做一個遠(yuǎn)程溫濕度監(jiān)測的小項(xiàng)目。 ...
摘要:尋思著實(shí)現(xiàn)個自動化控制玩玩。自從穹頂之下的信息被普及,不僅要出門帶口罩,還要家里開空氣凈化器。效果圖代碼家庭空氣質(zhì)量管家為傳感器口為繼電器控制口引腳初始化網(wǎng)絡(luò)串口監(jiān)聽顆粒溫濕度煙霧繼電器源碼 背景 前陣子樹莓派由于沒外殼不小心短路燒掉了。最近得手nodeMCU的板子,不僅便宜還支持串口交互式調(diào)試,很是方便。尋思著實(shí)現(xiàn)個自動化控制玩玩。自從穹頂之下的信息被普及,不僅要出門帶口罩,還要家里...
摘要:尋思著實(shí)現(xiàn)個自動化控制玩玩。自從穹頂之下的信息被普及,不僅要出門帶口罩,還要家里開空氣凈化器。效果圖代碼家庭空氣質(zhì)量管家為傳感器口為繼電器控制口引腳初始化網(wǎng)絡(luò)串口監(jiān)聽顆粒溫濕度煙霧繼電器源碼 背景 前陣子樹莓派由于沒外殼不小心短路燒掉了。最近得手nodeMCU的板子,不僅便宜還支持串口交互式調(diào)試,很是方便。尋思著實(shí)現(xiàn)個自動化控制玩玩。自從穹頂之下的信息被普及,不僅要出門帶口罩,還要家里...
閱讀 3668·2023-01-11 11:02
閱讀 4210·2023-01-11 11:02
閱讀 3008·2023-01-11 11:02
閱讀 5148·2023-01-11 11:02
閱讀 4702·2023-01-11 11:02
閱讀 5486·2023-01-11 11:02
閱讀 5236·2023-01-11 11:02
閱讀 3865·2023-01-11 11:02