一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>智能垃圾管理開(kāi)源硬件

智能垃圾管理開(kāi)源硬件

2023-02-01 | zip | 0.02 MB | 次下載 | 免費(fèi)

資料介紹

描述

現(xiàn)在是時(shí)候?qū)懴轮腔鄢鞘械亩x了。與其祖先一樣,智慧城市現(xiàn)在具備成為現(xiàn)實(shí)的所有因素。從農(nóng)業(yè)革命和后來(lái)的工業(yè)革命中發(fā)展起來(lái)的城市受到類似因素的驅(qū)動(dòng)——人口增長(zhǎng)和技術(shù)進(jìn)步促進(jìn)并推動(dòng)了生活條件的改變。現(xiàn)代城市也有這些相同的因素,但規(guī)模要大得多;如前所述,全球人口呈指數(shù)級(jí)增長(zhǎng),我們需要應(yīng)對(duì)的方法。

人口對(duì)資源的壓力是使我們當(dāng)前的城市模型更加智能化的一個(gè)主要因素。而且,這樣做的技術(shù)最終以超連接、改進(jìn)和更便宜的傳感器、人工智能和數(shù)據(jù)分析的形式出現(xiàn)。這里的線索就在數(shù)據(jù)中;數(shù)據(jù)是現(xiàn)代智慧城市的新能源數(shù)據(jù),或者更確切地說(shuō),對(duì)這些數(shù)據(jù)的分析和應(yīng)用,將成為智慧城市發(fā)展的支點(diǎn)。因此,智慧城市應(yīng)該結(jié)合多種技術(shù)來(lái)改善城市的重要方面和任務(wù),例如監(jiān)測(cè)水和空氣、廢物管理、停車、照明和車輛。

在這個(gè)項(xiàng)目中,我們專注于借助智能垃圾箱和 IOTA tangle 改善一個(gè)地區(qū)(包括許多智能城市)的智能垃圾管理,以加快智能垃圾管理的進(jìn)程,減少擁堵、污染,并幫助改善能源優(yōu)化。

廢物管理的主要問(wèn)題之一是未優(yōu)化的垃圾收集卡車路線。未優(yōu)化的卡車路線會(huì)導(dǎo)致使用過(guò)多的燃料并在人口稠密的城市造成擁堵。此外,有些垃圾箱可能會(huì)因此而被裝滿而其他垃圾箱則可能因此而裝滿。所以我們真正要解決的是垃圾收集車路線的優(yōu)化,以避免擁堵和過(guò)度使用燃料。

這就是該項(xiàng)目的運(yùn)作方式。我們?cè)诶渲羞B接填充液位傳感器,持續(xù)監(jiān)測(cè)垃圾箱內(nèi)的填充液位。在每天早上的固定時(shí)間(比如早上 7 點(diǎn)),數(shù)據(jù)會(huì)上傳到 tangle。垃圾車司機(jī)能夠使用合適的設(shè)備從節(jié)點(diǎn)檢索數(shù)據(jù),并且他可以優(yōu)化卡車路線。

硬件組件

iota_6j37c6c23f_XtUnIfLkVn.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
硬件設(shè)置
?

1.紅外接近傳感器

可以使用下圖解釋紅外傳感器作為物體檢測(cè)傳感器的原理。紅外傳感器由紅外 LED 和紅外光電二極管組成;它們一起被稱為光電耦合器或光電耦合器。

當(dāng) IR 發(fā)射器發(fā)射輻射時(shí),它會(huì)到達(dá)物體,并且一些輻射會(huì)反射回 IR 接收器根據(jù) IR 接收器的接收強(qiáng)度,定義傳感器的輸出。

ir-sensor-working_x5xOvm0HXa.png?auto=compress%2Cformat&w=740&h=555&fit=max
紅外傳感器工作
?

IR 接近傳感器用作液位傳感器。接近傳感器放置在垃圾箱頂部附近的垃圾箱內(nèi)。

iota2_h997fuo3ck_RlvD8tLLOi.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
帶液位傳感器的垃圾桶
?

一旦垃圾箱裝滿,傳感器返回 1,否則返回 0。(超聲波傳感器可以代替使用并且被廣泛使用。為簡(jiǎn)單起見(jiàn),我們使用 IR 接近傳感器。)

2.樹(shù)莓派

樹(shù)莓派是用于將數(shù)據(jù)發(fā)布到 tangle 的板。對(duì)于每個(gè)垃圾箱,我們都將 Raspberry Pi zero 與紅外接近傳感器連接起來(lái)。傳感器監(jiān)控填充水平,Raspberry Pi 會(huì)在每天早上的預(yù)定時(shí)間將數(shù)據(jù)歸零發(fā)布到 tangle。

layout_bb_Qd8u7V3VnU.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
用樹(shù)莓派 3 填充杠桿傳感器
?

軟件組件

1.蟒蛇

Python 是一種解釋型、高級(jí)、通用的編程語(yǔ)言。我們使用 python 構(gòu)建整個(gè)項(xiàng)目。

2. PyOTA:IOTA Python API 庫(kù)

這是 IOTA 核心的官方 Python 庫(kù)。它實(shí)現(xiàn)了官方 API以及新提出的功能(例如簽名、捆綁、實(shí)用程序和轉(zhuǎn)換)。

3.漂亮的桌子

PrettyTable 是一個(gè)簡(jiǎn)單的 Python 庫(kù),旨在使在視覺(jué)上吸引人的 ASCII 表格中快速輕松地表示表格數(shù)據(jù)。

程序

1. 安裝樹(shù)莓派

通過(guò)安裝 Raspbian OS 或任何其他合適的操作系統(tǒng)來(lái)設(shè)置 Raspberry Pi。如果需要,請(qǐng)遵循教程。

2. 安裝所需軟件

如果之前未安裝,請(qǐng)下載并安裝Python 3.5或更高版本。然后安裝其他庫(kù),如PyOTAPrettyTable。

如果安裝了 pip,請(qǐng)?jiān)诮K端中輸入以下命令來(lái)安裝庫(kù)。

pip install pyota

pip install PrettyTable

3.創(chuàng)建IOTA地址

我們可以使用 IOTA 手機(jī)錢包創(chuàng)建一個(gè) IOTA 錢包地址。使用 IOTA 錢包生成新地址或在https://thetangle.org上搜索現(xiàn)有地址時(shí),您會(huì)找到一個(gè)二維碼。

whatsapp_image_2019-04-23_at_12_25_02_pm_fOKMuoATkP.jpeg?auto=compress%2Cformat&w=740&h=555&fit=max
設(shè)置 IOTA 錢包地址
?

4.代碼

我們有兩個(gè)用于該項(xiàng)目的 python 代碼。一個(gè)在與傳感器連接的 Raspberry Pi 零上運(yùn)行。這段 python 代碼不斷地從傳感器讀取數(shù)據(jù),并將箱子編號(hào)和箱子的狀態(tài)發(fā)送給 tangle。

sensorread.py

#Developed by CodersCafe
from datetime import datetime
import time
import schedule
import RPi.GPIO as GPIO
  
#Setup sensor as input
sensor1 = 16
sensor2  = 12
  
GPIO.setmode(GPIO.BOARD)
GPIO.setup(sensor1,GPIO.IN)
GPIO.setup(sensor2,GPIO.IN)
# Import the PyOTA library
import iota
# Import json
import json
# Define IOTA address where all transactions  are stored, replace with your own address.
# IOTA addresses can be created with the IOTA Wallet
Addr = b"RLLQQVU9ZPWF9EPOVTJ9AXVJOBQWJWDPGGMALZQANY9GWR99XPITQJQBVLYCX9XLGIGLB9TBUNDTDWYBZACGWGQSLZ"

# Create IOTA object, specify full node to be used when sending transactions.  
api = iota.Iota("https://nodes.thetangle.org:443")
  
# Define static variable
city = "Smart City"
  
#Define the post function
def datapost():
   FinalBundle = api.send_transfer(depth=3, transfers=[pta], min_weight_magnitude=14)['bundle']
   FinalBundle = api.send_transfer(depth=3, transfers=[ptb], min_weight_magnitude=14)['bundle']
   print("Success")
  
#Schedule data  posting at 7 am
schedule.every().day.at("07:00").do(datapost)
  
#Main loop
try:
   while True:
       # Show welcome message
       print("\n Welcome to Smart City")
       print("Press Ctrl+C to exit the system")
       # Get bin number
       bin_number1 = sensor1
       print ("bin number = ",bin_number1)
       bin_number2 = sensor2
       print ("bin number = ",bin_number2)
       # Get status from bins
       id1 = GPIO.input(sensor1)
       if id1==1:
           status="Full"
       else:
           status="Not Full"
       id2 = GPIO.input(sensor2)
       if id1==1:
           status="Full"
       else:
           status="Not Full"        
       # Create json data to be uploaded to the tangle
       data1 = {'city': city, 'bin_number': bin_number1,'Status': status}
       data2 = {'city': city, 'bin_number': bin_number2,'Status': status}
       # Define new IOTA transaction
       pta = iota.ProposedTransaction(address = iota.Address(Addr),
                                     message = iota.TryteString.from_unicode(json.dumps(data1)),
                                     tag     = iota.Tag(b'SMARTCITY'),
                                     value   = 0)
       ptb = iota.ProposedTransaction(address = iota.Address(Addr),
                                     message = iota.TryteString.from_unicode(json.dumps(data2)),
                                     tag     = iota.Tag(b'SMARTCITY'),
                                     value   = 0)
       schedule.run_pending()
       time.sleep(50) 
# Clean up function when user press Ctrl+C (exit)
except KeyboardInterrupt:
   GPIO.cleanup()

另一個(gè) python 代碼由垃圾車司機(jī)或任何其他授權(quán)人員使用。此代碼從 tangle 中讀取數(shù)據(jù)并以綜合方式顯示 bin 的數(shù)據(jù)。

displaydata.py

#Developed by CodersCafe
# Imports from the PyOTA library
from iota import Iota
from iota import Address
from iota import Transaction
from iota import TryteString

# Import json library
import json

# Import datetime libary
import datetime

# Import from PrettyTable
from prettytable import PrettyTable

# Define IOTA address where all transactions are stored, replace with your own address.
address = [Address(b'RLLQQVU9ZPWF9EPOVTJ9AXVJOBQWJWDPGGMALZQANY9GWR99XPITQJQBVLYCX9XLGIGLB9TBUNDTDWYBZACGWGQSLZ')]

# Define full node to be used when retrieving cleaning records
iotaNode = "https://nodes.thetangle.org:443"

# Create an IOTA object
api = Iota(iotaNode)

# Create PrettyTable object
x = PrettyTable()

# Specify column headers for the table
x.field_names = [ "city", "bin_number","Status", "last_time"]

# Find all transacions for selected IOTA address
result = api.find_transactions(addresses=address)

# Create a list of transaction hashes
myhashes = result['hashes']

# Print wait message
print("Please wait while retrieving data from the tangle...")

# Loop trough all transaction hashes
for txn_hash in myhashes:
   # Convert to bytes
   txn_hash_as_bytes = bytes(txn_hash)
   # Get the raw transaction data (trytes) of transaction
   gt_result = api.get_trytes([txn_hash_as_bytes])
   # Convert to string
   trytes = str(gt_result['trytes'][0])
   # Get transaction object
   txn = Transaction.from_tryte_string(trytes)
   # Get transaction timestamp
   timestamp = txn.timestamp
   # Convert timestamp to datetime
   last_time = datetime.datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')
   # Get transaction message as string
   txn_data = str(txn.signature_message_fragment.decode())
   # Convert to json
   json_data = json.loads(txn_data)
   # Check if json data has the expected json tag's
   if all(key in json.dumps(json_data) for key in ["city","bin_number","Status"]):
       # Add table row with json values
       x.add_row([json_data['city'], json_data['bin_number'], json_data['Status'], last_time])

# Sort table by cleaned datetime
x.sortby = "last_time"

# Print table to terminal
print(x)

5.工作

將 IR 傳感器連接到 Raspberry Pi 零,并將液位傳感器放入垃圾箱內(nèi)。然后在樹(shù)莓派零中運(yùn)行代碼sensorread.py,讓它永遠(yuǎn)工作,它會(huì)在每天早上的固定時(shí)間無(wú)縫返回填充水平狀態(tài)。

然后在 Android 設(shè)備或計(jì)算機(jī)(或其他 Raspberry Pi)中運(yùn)行代碼 displaydata.py。它將顯示帶有箱號(hào)及其填充水平狀態(tài)的數(shù)據(jù)。通過(guò)查看數(shù)據(jù),駕駛員可以優(yōu)化卡車路線。

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)