千家信息网

Python iota硬件集成的方法是什么

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇内容介绍了"Python iota硬件集成的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2025年02月05日Python iota硬件集成的方法是什么

本篇内容介绍了"Python iota硬件集成的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

元器件

先让我们看一下项目需要的元器件。你应当可以在大多数电子元器件商店或者淘宝上卖到这些元器件,不会超过350元。

树莓派

项目的大脑是树莓派。树莓派将运行用来监视IOTA地址的余额并处理树莓派的通用输入输出(GIO)管脚上的信号:

继电器

继电器用来切换电路以及设备(我们这里就是LED)的开关。为了简化电路我们将使用一个继电器模块,它包含了所有必须的元器件、管脚和接插件。注意你也可以购买多通道继电器模块,只要每个通道可以单独开关即可。

面包板

面包板用来进行电路的连接而无需进行焊接,这使得装配过程更加简单。

发光二极管

当供电时LED会点亮,我们用它来表示项目中的物理设备(比如冰箱)。

300欧电阻

电阻用来限制通过LED的电流。没有电阻的话,LED和树莓派可能会因为电流过大而损坏。要使用的电阻取决于你的LED以及电路电压。在我的演示中,使用了9V电池,因此330欧姆的电阻应当就可以了。

电池

电池为电路提供能力。我的演示中使用的是9v电池。

连接线

我们当然也需要一些电线将各个部件连接起来:

二维码

如果你希望使用手机IOTA钱包来支付使用LED(冰箱、洗衣机....)的费用,那么一个打印好的IOTA收款地址二维码会很方便。当使用IOTA钱包生成地址时,你会找到一个二维码。或者在THETANGLE网站查询已有地址的二维码。

组装电路

现在我们看下组装好的电路:

树莓派的管脚如下:

参考以下说明连接管脚:

  • 树莓派的pin 2(5v)连接到继电器模块的VCC管脚

  • 树莓派的pin 6(地)连接到继电器模块的GND管脚

  • 树莓派的pin 12(GPIO18)连接到继电器模块的IN管脚

  • 继电器模块的COM端子连接到电池的正极

  • 继电器模块的NO端子通过电阻连接到LED的正极

  • 电池的负极连接到LED的负极

需要的软件和库

在我们开始编写Python代码之前,需要先确认已经在树莓派上安装了所需要的软件和库。

首先,我们需要在树莓派上安装一个操作系统。任何树莓派支持的LInux发行版应该都可以。在我的演示中,使用的是Raspbian发行版,因为它已经预置了Python和几个Python编辑器。

最后,我们需要安装PyIOTA API库,利用它我们就可以使用Python来访问IOTA tangle了。

Python代码

现在开始写代码:

# Imports some Python Date/Time functionsimport timeimport datetime# Imports GPIO libraryimport RPi.GPIO as GPIO# Imports the PyOTA libraryfrom iota import Iotafrom iota import Address# Setup O/I PIN'sLEDPIN=18GPIO.setmode(GPIO.BCM)GPIO.setwarnings(False)GPIO.setup(LEDPIN,GPIO.OUT)GPIO.output(LEDPIN,GPIO.LOW)# Function for checking address balance on the IOTA tangle. def checkbalance():    print("Checking balance")    gb_result = api.get_balances(address)    balance = gb_result['balances']    return (balance[0])# URL to IOTA fullnode used when checking balanceiotaNode = "https://nodes.thetangle.org:443"# Create an IOTA objectapi = Iota(iotaNode, "")# IOTA address to be checked for new light funds # IOTA addresses can be created using the IOTA Walletaddress = [Address(b'GTZUHQSPRAQCTSQBZEEMLZPQUPAA9LPLGWCKFNEVKBINXEXZRACVKKKCYPWPKH9AWLGJHPLOZZOYTALAWOVSIJIYVZ')]# Get current address balance at startup and use as baseline for measuring new funds being added.   currentbalance = checkbalance()lastbalance = currentbalance# Define some variableslightbalance = 0balcheckcount = 0lightstatus = False# Main loop that executes every 1 secondwhile True:        # Check for new funds and add to lightbalance when found.    if balcheckcount == 10:        currentbalance = checkbalance()        if currentbalance > lastbalance:            lightbalance = lightbalance + (currentbalance - lastbalance)            lastbalance = currentbalance        balcheckcount = 0    # Manage light balance and light ON/OFF    if lightbalance > 0:        if lightstatus == False:            print("light ON")            GPIO.output(LEDPIN,GPIO.HIGH)            lightstatus=True        lightbalance = lightbalance -1           else:        if lightstatus == True:            print("light OFF")            GPIO.output(LEDPIN,GPIO.LOW)            lightstatus=False     # Print remaining light balance         print(datetime.timedelta(seconds=lightbalance))    # Increase balance check counter    balcheckcount = balcheckcount +1    # Pause for 1 sec.    time.sleep(1)

运行代码

要运行上面的代码,我们需要先在树莓派上保存到文件中,例如let_there_be_light.py。然后使用如下命令:

python let_there_be_light.py

现在你应当可以在终端窗口中看到代码在执行了,显示当前的余额,并且每个10秒钟检查一次LED对应的IOTA地址的余额。

支付LED的使用费

要点亮LED,你只需要使用喜欢的IOTA钱包向LED的IOTA地址转一些IOTA币。只要转账交易被IOTA tangle确认,LED应该就会点亮并直到消耗完余额。在我的演示当中,我设置的收费标准是1秒钟1个IOTA。

"Python iota硬件集成的方法是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0