php传感器数据采集,将python脚本转换为php以读取dht22传感器数据

这篇博客讲述了如何将一段用于从特定IP地址和端口接收DHT22传感器数据的Python代码转换为PHP。Python脚本使用了numpy库来处理接收到的数据,然后计算温度和湿度。转换过程中需要理解Python的socket和numpy库,并将其对应到PHP的网络通信和数据处理函数。
摘要由CSDN通过智能技术生成

我将把这个Python代码转换为在php中读取DHT22传感器数据。我不懂python,所以不能转换php响应中的所有函数。在

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. :("

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值