資料介紹
描述
噪聲污染也稱為環(huán)境噪聲或聲音污染,是對(duì)人類或動(dòng)物生命活動(dòng)產(chǎn)生有害影響的噪聲傳播。城市規(guī)劃不當(dāng)可能會(huì)引起噪聲污染,工業(yè)和住宅并排的建筑物會(huì)導(dǎo)致噪聲污染在居民區(qū)。住宅區(qū)的一些主要噪音源包括嘈雜的音樂(lè)、交通噪音、草坪護(hù)理維護(hù)、附近的施工或年輕人的大喊大叫(體育比賽)。獲得的 97.60 分貝的平均噪音水平超過(guò)了 WHO 允許的住宅區(qū) 50 分貝值地區(qū)。噪音對(duì)健康的影響。噪音對(duì)健康的影響是經(jīng)常暴露在持續(xù)升高的聲級(jí)下的身心健康后果。升高的工作場(chǎng)所或環(huán)境噪音會(huì)導(dǎo)致聽(tīng)力障礙、耳鳴、高血壓、缺血性心臟病、煩惱和睡眠障礙。免疫系統(tǒng)的變化和出生缺陷也歸因于噪聲暴露。因此,作為此解決方案的一個(gè)小補(bǔ)救措施,我制作了一個(gè)能夠獲取城市各個(gè)區(qū)域聲級(jí)數(shù)據(jù)的設(shè)備。將這些數(shù)據(jù)與各個(gè)部門接受的聲級(jí)進(jìn)行比較。考慮醫(yī)院和公園具有不同的可接受聲級(jí)。這將已經(jīng)由有關(guān)當(dāng)局確定,因此當(dāng)與固定聲級(jí)相比聲級(jí)有所增加時(shí)。這些部門將由有關(guān)團(tuán)隊(duì)標(biāo)記。這是如何工作的,由聲音傳感器組成的設(shè)備會(huì)頻繁地將數(shù)據(jù)從扇區(qū)發(fā)送到IOTA Tangle。該數(shù)據(jù)由權(quán)限通過(guò)任何設(shè)備訪問(wèn)(應(yīng)該有 python 平臺(tái))
硬件

_a0VkTW2Rxb.png?auto=compress%2Cformat&w=740&h=555&fit=max)
- Raspberry pi- 來(lái)自 arduino uno 的串行數(shù)據(jù)由 Raspberry 接收,并將此數(shù)據(jù)上傳到 IOTA 的 Tangle。數(shù)據(jù)每分鐘上傳一次。

注意:在這里,您可以使用 ADC MCP3008(模數(shù)轉(zhuǎn)換器)通過(guò)避免使用 arduino uno 來(lái)使用樹莓派從聲音傳感器收集模擬數(shù)據(jù)
軟件
- Python -完整的項(xiàng)目運(yùn)行在Python的基礎(chǔ)上
- PyOTA庫(kù)——這是 IOTA 核心的官方 Python 庫(kù)。如果您已經(jīng)在計(jì)算機(jī)中安裝了pip。在終端輸入以下命令安裝pyOTA。
pip install pyota
- PrettyTable-這是用于對(duì)數(shù)據(jù)進(jìn)行排序并以表格形式打印的 python 庫(kù)。在終端中輸入以下命令來(lái)安裝 prettytable。
pip install PrettyTable
- IOTA 地址 -您可以使用 IOTA 錢包生成地址。
?

對(duì)于剛接觸 IOTA 的人來(lái)說(shuō),地址系統(tǒng)一開始可能看起來(lái)很混亂。為了消除混淆,以下鏈接將涵蓋您需要了解的有關(guān) IOTA 地址的所有專業(yè)知識(shí)。
- 代碼——我們有三段代碼。第一個(gè)是arduino代碼。(read.ino)
int soundSensor=A0;
int dB;
void setup() {
pinMode(soundSensor,INPUT);
Serial.begin(9600);
}
void loop() {
int Data=analogRead(soundSensor);
Serial.println(Data);
dB = (Data+83.2073) / 11.003;//decibal value
Serial.println(dB);
Serial.write(dB);//Send data to the raspberry pi 3
delay(100);
}
第二個(gè)是從 arduino 到 pi 的數(shù)據(jù)的代碼,它正在上傳到 tangle。(Upload.py)
from datetime import datetime
import schedule
import time
# Import GPIO library
import RPi.GPIO as GPIO
import serial
#Setup sensor as input
# Import the PyOTA library
import iota
# Import json
import json
# Define IOTA address where all transactions (cleaning records) are stored, replace with your own address.
# IOTA addresses can be created with the IOTA Wallet
CleaningLogAddr = b"XXXXXXXXXHKBWTCGKXTJGWHXEYJONN9MZZQUQLSZCLHFAWUWKHZCICTHISXBBAKGFQENMWMBOVWJTCMEWXKQDTJCV9"
# Create IOTA object, specify full node to be used when sending transactions.
# Notice that not all nodes in the field.deviota.com cluster has enabled attaching transactions to the tangle
# In this case you will get an error, you can try again later or change to a different full node.
api = iota.Iota("https://nodes.thetangle.org:443")
# Define static variable
city = "Smart District"
sector=0
def datapost():
FB = api.send_transfer(depth=3, transfers=[pta], min_weight_magnitude=14)['bundle']
print("success")
schedule.every(1).minutes.do(datapost)
# Main loop,
try:
while True:
ser = serial.Serial("/dev/ttyUSB0", 9600)#communication with pi,should also check the port
status=ser.read()
st=str(status)
# Create json data to be uploaded to the tangle
data1 = {'city': city, 'sector':sector,'Status': st}
# Define new IOTA transaction
pta = iota.ProposedTransaction(address = iota.Address(CleaningLogAddr),
message = iota.TryteString.from_unicode(json.dumps(data1)),
tag = iota.Tag(b'SMARTDISTRICT'),
value = 0)
schedule.run_pending()
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
第三個(gè)代碼用于將數(shù)據(jù)從 tangle 中檢索到 authority。(Display.py)
# 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'XXXXXXXXXXXXXXCGKXTJGWHXEYJONN9MZZQUQLSZCLHFAWUWKHZCICTHISXBBAKGFQENMWMBOVWJTCMEWXKQDTJCV9')]
# 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", "sector","Status"]
# 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 sound records 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
clean_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","sector","Status"]):
# Add table row with json values
x.add_row([json_data['city'], json_data['sector'], json_data['Status'], clean_time])
# Sort table by cleaned datetime
x.sortby = "status"
# Print table to terminal
print(x)
此代碼將在 pi 的終端上打印表格。從那里我們可以找到違反規(guī)定聲級(jí)并可以標(biāo)記的扇區(qū)。通過(guò)這種方式,我們可以減少每個(gè)部門的聲音污染,并將其引導(dǎo)到一個(gè)智慧城市。
- 帶LCD的聲音傳感器激活LED用于顯示聲級(jí)數(shù)據(jù)
- Access二級(jí)數(shù)據(jù)庫(kù)程序設(shè)計(jì)
- 爬蟲是如何實(shí)現(xiàn)數(shù)據(jù)的獲取爬蟲程序如何實(shí)現(xiàn) 10次下載
- 如何設(shè)計(jì)一個(gè)網(wǎng)絡(luò)爬蟲程序進(jìn)行智慧城市研究的獲取與分析 9次下載
- 基于WiFi設(shè)備的區(qū)域人員密度檢測(cè)概率研究 1次下載
- 變電站的噪聲衡量與聲級(jí)計(jì)的原理介紹與分析 6次下載
- 基于STM32的智能聲級(jí)計(jì)的設(shè)計(jì) 90次下載
- 基于隔離電路的并口設(shè)備數(shù)據(jù)獲取系統(tǒng)設(shè)計(jì) 0次下載
- 聲級(jí)計(jì)的設(shè)計(jì)與制造
- 聲級(jí)測(cè)量概述
- AWA5633A型聲級(jí)計(jì)使用說(shuō)明書
- 聲級(jí)計(jì)的工作原理
- 聲級(jí)計(jì)的使用與維修
- 電力變壓器聲級(jí)測(cè)定
- 深入ADO.NET開發(fā)高級(jí)數(shù)據(jù)訪問(wèn)技術(shù) 0次下載
- 城市內(nèi)澇積水監(jiān)測(cè)設(shè)備:技術(shù)架構(gòu)與實(shí)踐應(yīng)用 376次閱讀
- 使用 APx 音頻分析儀測(cè)量等效連續(xù)聲級(jí) 1.4k次閱讀
- 聲級(jí)校準(zhǔn)器怎么用 聲級(jí)校準(zhǔn)器發(fā)出多大的恒定聲壓 4.1k次閱讀
- 獲取Linux內(nèi)核源碼的方法 1.8k次閱讀
- SDCardUtils封裝類應(yīng)用:設(shè)備信息獲取實(shí)現(xiàn)方法 1.7k次閱讀
- 一個(gè)純Python編寫的輕量級(jí)數(shù)據(jù)庫(kù) 1.8k次閱讀
- 前沿開源技術(shù)領(lǐng)域的開源大數(shù)據(jù)一一解讀 1.9k次閱讀
- TinyDB輕量級(jí)數(shù)據(jù)庫(kù)有哪些特點(diǎn)呢 2.6k次閱讀
- 詳談一些主流開源數(shù)據(jù)庫(kù)及工具 3.1k次閱讀
- mmap系統(tǒng)調(diào)用和vmalloc獲取地址空間 4.9k次閱讀
- 從發(fā)布過(guò)程以及使用權(quán)限的角度入手,對(duì)各個(gè)常見(jiàn)開源協(xié)議進(jìn)行解析 1.1k次閱讀
- 聲級(jí)計(jì)的校準(zhǔn)方法_為什么使用聲級(jí)計(jì)之前要校準(zhǔn)? 2.9w次閱讀
- 聲級(jí)計(jì)的結(jié)構(gòu)和原理_聲級(jí)計(jì)的工作原理詳解 2.5w次閱讀
- 聲級(jí)計(jì)怎么使用_聲級(jí)計(jì)的使用方法_聲級(jí)計(jì)使用注意事項(xiàng) 4.3w次閱讀
- lwip獲取ip地址說(shuō)明 1.3w次閱讀
下載排行
本周
- 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費(fèi)
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊(cè)
- 2.33 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管S9012數(shù)據(jù)手冊(cè)
- 2.62 MB | 次下載 | 免費(fèi)
- 5LAT1218 如何選擇和設(shè)置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊(cè)
- 2.50 MB | 次下載 | 免費(fèi)
- 8MS1000TA 超聲波測(cè)量模擬前端芯片技術(shù)手冊(cè)
- 0.60 MB | 次下載 | 免費(fèi)
本月
- 1愛(ài)華AIWA HS-J202維修手冊(cè)
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說(shuō)明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測(cè)距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費(fèi)
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準(zhǔn)諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊(cè)
- 1.81 MB | 1次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論