-4
我會將此Python代碼轉換爲在PHP中讀取DHT22傳感器數據。我不知道python所以我不能轉換php corrispondent中的所有功能。將python腳本轉換爲php用於dht22傳感器數據讀取
的Python腳本爲here(我加numpy的庫,因爲我是一個錯誤,沒有它)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import numpy
TCP_ADDR = 'MYIP'
TCP_PORT = 8899
PACK_LEN = 11
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(30)
s.connect((TCP_ADDR, TCP_PORT))
bytes_data = numpy.zeros(PACK_LEN,int)
str_data = s.recv(PACK_LEN) #this should probably have a timeout
hex_data = str_data.encode('hex')
for n in range(0,PACK_LEN): #convert to array of bytes
lower = 2*n
upper = lower + 2
bytes_data[n] = int(hex_data[lower:upper],16)
humid = (((bytes_data[6])<<8)+(bytes_data[7]))/10.0
temp = (((((bytes_data[8])&0x7F)<<8)+(bytes_data[9]))/10.0)
if int(bytes_data[8]) & 0x80: #invert temp if sign bit is set
temp = -1.0* temp
checksum = (int(sum(bytes_data[0:10])) & 0xFF)+1
if checksum == bytes_data[10]:
print "T" + str(temp) + " H" + str(humid)
else:
print "Invalid. :("
將幾乎看幾乎在PHP中也一樣。請張貼你到目前爲止所嘗試的任何內容 – 2015-04-05 08:17:04
我建議你添加一個PHP標籤 – cdarke 2015-04-05 08:23:44
謝謝cdarke,我添加了PHP標籤。 – Saibal 2015-04-05 14:33:16