十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本篇內(nèi)容介紹了“Python iota硬件集成的方法是什么”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
公司主營業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出西充免費(fèi)做網(wǎng)站回饋大家。
先讓我們看一下項(xiàng)目需要的元器件。你應(yīng)當(dāng)可以在大多數(shù)電子元器件商店或者淘寶上賣到這些元器件,不會(huì)超過350元。
項(xiàng)目的大腦是樹莓派。樹莓派將運(yùn)行用來監(jiān)視IOTA地址的余額并處理樹莓派的通用輸入輸出(GIO)管腳上的信號:

繼電器用來切換電路以及設(shè)備(我們這里就是LED)的開關(guān)。為了簡化電路我們將使用一個(gè)繼電器模塊,它包含了所有必須的元器件、管腳和接插件。注意你也可以購買多通道繼電器模塊,只要每個(gè)通道可以單獨(dú)開關(guān)即可。 
面包板用來進(jìn)行電路的連接而無需進(jìn)行焊接,這使得裝配過程更加簡單。

當(dāng)供電時(shí)LED會(huì)點(diǎn)亮,我們用它來表示項(xiàng)目中的物理設(shè)備(比如冰箱)。

電阻用來限制通過LED的電流。沒有電阻的話,LED和樹莓派可能會(huì)因?yàn)殡娏鬟^大而損壞。要使用的電阻取決于你的LED以及電路電壓。在我的演示中,使用了9V電池,因此330歐姆的電阻應(yīng)當(dāng)就可以了。

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

我們當(dāng)然也需要一些電線將各個(gè)部件連接起來:

如果你希望使用手機(jī)IOTA錢包來支付使用LED(冰箱、洗衣機(jī)....)的費(fèi)用,那么一個(gè)打印好的IOTA收款地址二維碼會(huì)很方便。當(dāng)使用IOTA錢包生成地址時(shí),你會(huì)找到一個(gè)二維碼。或者在THETANGLE網(wǎng)站查詢已有地址的二維碼。

現(xiàn)在我們看下組裝好的電路:

樹莓派的管腳如下:

參考以下說明連接管腳:
樹莓派的pin 2(5v)連接到繼電器模塊的VCC管腳
樹莓派的pin 6(地)連接到繼電器模塊的GND管腳
樹莓派的pin 12(GPIO18)連接到繼電器模塊的IN管腳
繼電器模塊的COM端子連接到電池的正極
繼電器模塊的NO端子通過電阻連接到LED的正極
電池的負(fù)極連接到LED的負(fù)極
在我們開始編寫Python代碼之前,需要先確認(rèn)已經(jīng)在樹莓派上安裝了所需要的軟件和庫。
首先,我們需要在樹莓派上安裝一個(gè)操作系統(tǒng)。任何樹莓派支持的LInux發(fā)行版應(yīng)該都可以。在我的演示中,使用的是Raspbian發(fā)行版,因?yàn)樗呀?jīng)預(yù)置了Python和幾個(gè)Python編輯器。
最后,我們需要安裝PyIOTA API庫,利用它我們就可以使用Python來訪問IOTA tangle了。
現(xiàn)在開始寫代碼:
# Imports some Python Date/Time functions
import time
import datetime
# Imports GPIO library
import RPi.GPIO as GPIO
# Imports the PyOTA library
from iota import Iota
from iota import Address
# Setup O/I PIN's
LEDPIN=18
GPIO.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 balance
iotaNode = "https://nodes.thetangle.org:443"
# Create an IOTA object
api = Iota(iotaNode, "")
# IOTA address to be checked for new light funds
# IOTA addresses can be created using the IOTA Wallet
address = [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 variables
lightbalance = 0
balcheckcount = 0
lightstatus = False
# Main loop that executes every 1 second
while 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)要運(yùn)行上面的代碼,我們需要先在樹莓派上保存到文件中,例如let_there_be_light.py。然后使用如下命令:
python let_there_be_light.py
現(xiàn)在你應(yīng)當(dāng)可以在終端窗口中看到代碼在執(zhí)行了,顯示當(dāng)前的余額,并且每個(gè)10秒鐘檢查一次LED對應(yīng)的IOTA地址的余額。
要點(diǎn)亮LED,你只需要使用喜歡的IOTA錢包向LED的IOTA地址轉(zhuǎn)一些IOTA幣。只要轉(zhuǎn)賬交易被IOTA tangle確認(rèn),LED應(yīng)該就會(huì)點(diǎn)亮并直到消耗完余額。在我的演示當(dāng)中,我設(shè)置的收費(fèi)標(biāo)準(zhǔn)是1秒鐘1個(gè)IOTA。
“Python iota硬件集成的方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!