GY30感光器获取信息并上传到onenet

设备连接

GY30感光器有五个引脚,GND、ADD、SDA、SCL、VCC
GND连接树莓派GND
VCC连接树莓派5V
SDA 连接树莓派的SDA
SCL连接树莓派的SCL
引脚号的对应,使用的是Raspberry 4B引脚号的对应,使用的是Raspberry 4B

启动IIC

  • 在终端输入sudo raspi-config
  • 选择Interfacing Options–>I2C–>是–>确定–>Finish
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

python程序

  • 在终端输入sudo i2cdetect -y 1出现23

在这里插入图片描述

  • 代码名称GY30,代码目的获取GY30的信息并保存到桌面tmp_data.txt,树莓派自带Python的编译环境,保存到树莓派桌面(Desktop)。
#import RPi.GPIO as GPIO
#这个是python3代码
import time
import smbus
#print(smbus.version)
bus = smbus.SMBus(1)
addr = 0x23

while(1):
    data = bus.read_i2c_block_data(addr, 0x11)
    light= str((data[1] + (256 * data[0])) / 1.2)
    print("Luminosity " + str((data[1] + (256 * data[0])) / 1.2) + "lx")
    tmp_output = open('/home/pi/Desktop/tmp_data.txt', mode='w')
    tmp_output.write(light)
    tmp_output.writelines('\n')
    time.sleep(1)
  • 代码名称onenet-GY30,上传数据到Onenet,保存到树莓派桌面(Desktop)
#这个是python2代码
import urllib2
import json
import time
import datetime

APIKEY = '你的API'


def http_put():
    file = open("/home/pi/Desktop/tmp_data.txt")
    light = float(file.read())
    CurTime = datetime.datetime.now()

    url = 'http://api.heclouds.com/devices/你的设备ID/datapoints'
    values = {'datastreams': [{"id": "temp", "datapoints": [{"at": CurTime.isoformat(), "value": light}]}]}

    print
    "the time is: %s" % CurTime.isoformat()
    print
    "The upload temperature value is: %.3f" % light

    jdata = json.dumps(values)
    print
    jdata
    request = urllib2.Request(url, jdata)
    request.add_header('api-key', APIKEY)
    request.get_method = lambda: 'POST'
    request = urllib2.urlopen(request)
    return request.read()


while True:
    time.sleep(1)
    resp = http_put()
    print
    "OneNET result:\n %s" % resp
  • 打开两个终端
  • cd Desktop
  • sudo python3 GY30 GY30.py是python3语言写的
  • sudo python onenet-GY30 onenet-GY30.py是python2语言写的
    GY30代码再python编译器里运行,onenet-GY30的代码在终端运行
    这张图片是GY30代码再python编译器里运行,onenet-GY30的代码在终端运行
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值