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

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

3天內(nèi)不再提示

將物聯(lián)網(wǎng)邊緣設(shè)備與云原生分析集成,以獲得更智能的監(jiān)測(cè)

jf_9aVl32Dp ? 來(lái)源:Arm軟件開(kāi)發(fā)者 ? 2023-04-03 11:38 ? 次閱讀

想象一下,你是一家智能農(nóng)業(yè)公司,使用物聯(lián)網(wǎng)傳感器幫助農(nóng)民優(yōu)化作物產(chǎn)量。你們出售各種傳感器,可以監(jiān)測(cè)農(nóng)田中的土壤濕度、溫度、濕度和光照水平。

為了幫助農(nóng)民充分利用他們的資源,你需要建立一個(gè)集中的系統(tǒng)。該系統(tǒng)收集來(lái)自所有田地的傳感器數(shù)據(jù),并提供對(duì)作物健康和生長(zhǎng)的實(shí)時(shí)監(jiān)測(cè)。有了這些數(shù)據(jù),農(nóng)民可以在知情的情況下決定何時(shí)灌溉、施肥和收割作物。

使用Neo4j,一種圖形數(shù)據(jù)庫(kù)技術(shù),可以成為從收集的數(shù)據(jù)中釋放有價(jià)值監(jiān)測(cè)的關(guān)鍵。它還使智能農(nóng)業(yè)系統(tǒng)能夠充分發(fā)揮其潛力。

在這篇博客文章中,我們探討了如何使用Neo4j來(lái)構(gòu)建一個(gè)強(qiáng)大的智能農(nóng)業(yè)系統(tǒng)。我們首先討論什么是Neo4j,以及為什么它是存儲(chǔ)和查詢復(fù)雜、互連數(shù)據(jù)的理想選擇。然后,我們深入研究Neo4j在智能農(nóng)業(yè)中的具體用例,例如識(shí)別作物模式、預(yù)測(cè)作物產(chǎn)量和優(yōu)化資源利用。最后,我們將逐步介紹如何構(gòu)建基于Neo4j的智能農(nóng)業(yè)系統(tǒng),幫助農(nóng)民做出更好的決策,提高作物產(chǎn)量。

架構(gòu)

硬件組件

b2797e90-d15e-11ed-bfe3-dac502259ad0.png

b2b4617c-d15e-11ed-bfe3-dac502259ad0.png

軟件組件

Jetson Nano開(kāi)發(fā)套件SD卡固件:
https://developer.nvidia.com/embedded/l4t/r32_release_v7.1/jp_4.6.1_b110_sd_card/jeston_nano/jetson-nano-jp461-sd-card-image.zip

etcher:https://www.balena.io/etcher/

desktop Docker:
https://www.docker.com/products/docker-desktop/

Neo4j Aura數(shù)據(jù)庫(kù)實(shí)例:
https://neo4j.com/cloud/platform/aura-graph-database

步驟1:為操作系統(tǒng)安裝準(zhǔn)備Jetson Nano SD卡映像

b2ed04aa-d15e-11ed-bfe3-dac502259ad0.png

要將Jetson Nano SD卡映像閃存到SD卡,您可以按照以下步驟操作:
. 從NVIDIA(https://developer.nvidia.com/embedded/downloads)下載Jetson Nano SD卡映像。
. 將SD卡插入計(jì)算機(jī)的SD卡讀卡器。
. 從下載并安裝Etcher軟件https://www.balena.io/etcher/.
. 打開(kāi)Etcher并選擇要閃存的Jetson Nano SD卡映像文件。

b350de76-d15e-11ed-bfe3-dac502259ad0.png

. 解壓縮從下載的SD卡映像https://developer.nvidia.com/embedded/downloads
. 選擇SD卡驅(qū)動(dòng)器作為下載目標(biāo)。
. 點(diǎn)擊“燒錄!”開(kāi)始燒錄進(jìn)程。

步驟2:連接傳感器

Seeed Studio的BME680傳感器是一款緊湊型環(huán)境傳感器,專為移動(dòng)應(yīng)用和可穿戴設(shè)備設(shè)計(jì)。它可以高精度測(cè)量溫度、壓力、濕度和室內(nèi)空氣質(zhì)量,并且設(shè)計(jì)為功耗非常低。該傳感器與流行的微控制器平臺(tái)兼容,如樹(shù)莓派Arduino,使其易于集成到項(xiàng)目中。

b36dff7e-d15e-11ed-bfe3-dac502259ad0.png

Grove Base Hat是一款40針Grove附加板,旨在與樹(shù)莓派板兼容。然而,通過(guò)將其連接到適當(dāng)?shù)腉PIO引腳,它也可以與NVIDIA Jetson Nano一起使用。它有15個(gè)Grove連接器,包括6個(gè)數(shù)字、4個(gè)模擬、3個(gè)I2C、1個(gè)UART和1個(gè)PWM。

該硬件模塊提供了一種將Grove傳感器和執(zhí)行器連接到Jetson Nano的簡(jiǎn)單方便的方法。它支持各種Grove模塊,如溫度、濕度、光線和聲音傳感器,以及電機(jī)和顯示器等執(zhí)行器。

要將Grove Base Hat連接到Jetson Nano,您必須連接以下引腳:
. Jetson Nano上的VCC至3.3V引腳
. Jetson Nano上的GND到GND引腳
. SDA至Jetson Nano的引腳3(SDA1)
. SCL至Jetson Nano的引腳5(SCL1)

一旦您將Grove Base Hat連接到Jetson Nano,您就可以開(kāi)始在Jetson Nano項(xiàng)目中使用Grove傳感器和執(zhí)行器。將傳感器連接到Grove后,建議使用i2cdetect命令運(yùn)行I2C檢測(cè),以驗(yàn)證您是否看到設(shè)備:在我們的情況下,它顯示76。請(qǐng)注意,傳感器使用I2C或SPI通信協(xié)議與微控制器進(jìn)行通信。

$ i2cdetect -r -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- 76 --

步驟3:編寫Python代碼以獲取傳感器值

以下是從BME680傳感器獲取傳感器值的Python腳本:

from bme680 import BME680


# Initialize BME680 sensor object
sensor = BME680()


# Check sensor is connected
if not sensor.begin():
    print("Failed to initialize BME680 sensor.")
    exit()


# Read and print sensor values
while True:
    if sensor.get_sensor_data():
        temperature = round(sensor.data.temperature, 2)
        humidity = round(sensor.data.humidity, 2)
        pressure = round(sensor.data.pressure, 2)
        gas_resistance = round(sensor.data.gas_resistance, 2)


        print("Temperature: {} C".format(temperature))
        print("Humidity: {} %".format(humidity))
        print("Pressure: {} hPa".format(pressure))
        print("Gas Resistance: {} Ohms".format(gas_resistance))


    else:
        print("Error reading BME680 sensor data.")


    time.sleep(1)

from bme680 import bme680語(yǔ)句導(dǎo)入bme680傳感器庫(kù),該庫(kù)提供了從傳感器讀取環(huán)境數(shù)據(jù)的接口。傳感器變量初始化BME680傳感器對(duì)象。if not sensor.begin():語(yǔ)句檢查傳感器是否正確連接和初始化。如果初始化失敗,代碼將退出并打印一條錯(cuò)誤消息。

代碼的主循環(huán)重復(fù)讀取BME680傳感器的傳感器數(shù)據(jù),并將值打印到控制臺(tái)。time.sleep(1)語(yǔ)句在循環(huán)的每次迭代之間暫停代碼執(zhí)行1秒。

此腳本使用BME680庫(kù)從連接到運(yùn)行腳本的系統(tǒng)的BME680傳感器讀取溫度、濕度、壓力和氣體電阻值。結(jié)果以循環(huán)方式打印到控制臺(tái),每次讀取之間有1秒的延遲。

假設(shè)BME680傳感器已連接并正常工作,則輸出如下所示:
溫度:26.68攝氏度
濕度:41.35%
壓力:1008.6 hPa
氣體電阻:3110.63歐姆

溫度、濕度和壓力值分別以攝氏度、百分比和百帕斯卡為單位,使用round()函數(shù)四舍五入到小數(shù)點(diǎn)后兩位。氣體電阻值以歐姆為單位,也可以四舍五入到小數(shù)點(diǎn)后兩位。

如果讀取BME680傳感器數(shù)據(jù)時(shí)出錯(cuò),腳本將在控制臺(tái)上打印消息“讀取BME680sensor data時(shí)出錯(cuò)”

步驟4:編寫Python程序,將BME680傳感器值發(fā)送到Neo4j圖形數(shù)據(jù)庫(kù)

現(xiàn)在是時(shí)候編寫Python代碼,使用Neo4j驅(qū)動(dòng)程序和BME680環(huán)境傳感器建立與Neo4j Graph數(shù)據(jù)庫(kù)的連接了。

from neo4j import GraphDatabase


from bme680 import BME680


import time


 


# Set up the Neo4j driver


uri = "neo4j+s://41275b2a.databases.neo4j.io"


driver = GraphDatabase.driver(uri, auth=("neo4j", "3DXXXXXXXXXXXXXXXaM"))


 


# Set up the BME680 sensor


sensor = BME680()


 


# Define a function to create a sensor reading node in Neo4j


def create_sensor_reading(tx, temperature, humidity, pressure, gas):


    tx.run("CREATE (:SensorReading {temperature: $temperature, humidity: $humidity, pressure: $pressure, gas: $gas, timestamp: $timestamp})",


           temperature=temperature, humidity=humidity, pressure=pressure, gas=gas, timestamp=int(time.time()))


 


# Generate and insert sensor readings into Neo4j every 5 seconds


while True:


    if sensor.get_sensor_data():


        temperature = round(sensor.data.temperature, 2)


        humidity = round(sensor.data.humidity, 2)


        pressure = round(sensor.data.pressure, 2)


        gas = round(sensor.data.gas_resistance, 2)


 


        with driver.session() as session:


            session.write_transaction(create_sensor_reading, temperature, humidity, pressure, gas)


            print(f"Inserted sensor reading - temperature: {temperature}, humidity: {humidity}, pressure: {pressure}, gas: {gas}")


    else:


        print("Error reading BME680 sensor data.")


 


    time.sleep(5)

此Python代碼使用Neo4j驅(qū)動(dòng)程序和BME680環(huán)境傳感器建立與Neo4j圖形數(shù)據(jù)庫(kù)的連接。然后,它定義了一個(gè)函數(shù),在圖形數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)傳感器讀取節(jié)點(diǎn),其中包含當(dāng)前的溫度、濕度、壓力、氣體阻力和時(shí)間戳。代碼的主循環(huán)每5秒重復(fù)生成一次傳感器讀數(shù),并使用定義的函數(shù)將其插入圖形數(shù)據(jù)庫(kù)。

from neo4j import GraphDatabase語(yǔ)句導(dǎo)入neo4j驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序允許Python代碼與neo4j數(shù)據(jù)庫(kù)交互。from bme680 import bme680語(yǔ)句導(dǎo)入bme680傳感器庫(kù),該庫(kù)提供了從傳感器讀取環(huán)境數(shù)據(jù)的接口。

uri變量指定Neo4j數(shù)據(jù)庫(kù)的位置和訪問(wèn)該數(shù)據(jù)庫(kù)的憑據(jù)。驅(qū)動(dòng)程序變量使用指定的uri和憑據(jù)初始化Neo4j驅(qū)動(dòng)程序。

傳感器變量初始化BME680傳感器對(duì)象。create_sensor_reading函數(shù)接收Neo4j事務(wù)對(duì)象(tx)和當(dāng)前傳感器讀數(shù)(溫度、濕度、壓力、氣體和時(shí)間戳)。然后使用給定的設(shè)備在圖形數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)新節(jié)點(diǎn)。

代碼的主循環(huán)重復(fù)讀取BME680傳感器的傳感器數(shù)據(jù),并使用Neo4j事務(wù)將讀數(shù)插入圖形數(shù)據(jù)庫(kù)。time.sleep(5)語(yǔ)句在循環(huán)的每次迭代之間暫停代碼的執(zhí)行5秒

步驟5:導(dǎo)入Neo4j Python模塊

gitclonehttps://github.com/collabnix/bme680-jetson-neo4j
cd bme680-jetson-neo4j

導(dǎo)入Neo4j Python模塊

您可以使用pip為Python安裝Neo4j驅(qū)動(dòng)程序:

pip install neo4j
python3 sensorloader.py

結(jié)果

Inserted sensor reading - temperature: 26.68, humidity: 41.35, pressure: 1008.6, gas: 3110.63


Inserted sensor reading - temperature: 12.42, humidity: 49.71, pressure: 1149.34, gas: 4815.11


Inserted sensor reading - temperature: 27.73, humidity: 77.2, pressure: 1081.24, gas: 4737.95


Inserted sensor reading - temperature: 19.22, humidity: 50.17, pressure: 958.73, gas: 516.57

步驟6:設(shè)置Neo4j Docker擴(kuò)展

Neo4j Aura是Neo4j提供的一種完全托管的云數(shù)據(jù)庫(kù)服務(wù)。它是一個(gè)數(shù)據(jù)庫(kù)即服務(wù)(DBaaS)產(chǎn)品,允許您在云中創(chuàng)建、部署和管理自己的圖形數(shù)據(jù)庫(kù)。這就不必?fù)?dān)心底層基礎(chǔ)設(shè)施和維護(hù)任務(wù)。假設(shè)您已經(jīng)安裝并配置了Neo4j Aura DB連接UI,下一步將安裝Neo4j Docker Desktop。

打開(kāi)Docker Dashboard>Extensions>安裝Neo4j Docker Extension。

b3b3194c-d15e-11ed-bfe3-dac502259ad0.png

要允許Neo4 Docker Extension連接到遠(yuǎn)程N(yùn)eo4j Aura DB,您必須提供連接URL、身份驗(yàn)證類型和憑據(jù)。一旦成功,您應(yīng)該能夠開(kāi)始運(yùn)行密碼查詢。

b3e72ebc-d15e-11ed-bfe3-dac502259ad0.png

步驟7:測(cè)量氣體濃度

BME680傳感器測(cè)量幾種不同氣體的濃度,包括揮發(fā)性有機(jī)化合物(VOC)、一氧化碳(CO)和二氧化氮(NO2)。這是除了測(cè)量溫度、濕度和壓力之外的。要從傳感器中獲取這些氣體的濃度,可以使用BME680類的get_sensor_data()方法。這將返回一個(gè)包含最新傳感器讀數(shù)的BME680Data對(duì)象。然后,您可以使用以下屬性訪問(wèn)BME680Data對(duì)象中的氣體濃度值:
. gas_reresistance:氣體傳感器的電阻,單位為歐姆,與空氣中揮發(fā)性有機(jī)物的濃度有關(guān)。
. gas(List):不同氣體的濃度,單位為百萬(wàn)分之一(ppm),包括CO和NO2。

from neo4j import GraphDatabase
import time
import bme680
# Set up the Neo4j driver


uri = "neo4j+s://your-neo4j-instance-url-here"


driver = GraphDatabase.driver(uri, auth=("neo4j", "your-neo4j-instance-password-here"))
# Set up the BME680 sensor


sensor = bme680.BME680(bme680.I2C_ADDR_PRIMARY)
# Define a function to create a CO2 reading node in Neo4j


def create_co2_reading(tx, co2_concentration):


    tx.run("CREATE (:CO2Reading {concentration: $concentration, timestamp: $timestamp})",


           concentration=co2_concentration, timestamp=int(time.time()))
# Wait for the sensor to warm up


print("Warming up sensor...")


sensor.set_gas_status(bme680.ENABLE_GAS_MEAS)


time.sleep(300)
# Start retrieving CO2 concentration data and inserting it into Neo4j


print("Starting CO2 data collection...")


while True:


    if sensor.get_sensor_data():


        co2_concentration = round(sensor.data.gas_resistance / 10, 2)


        with driver.session() as session:


            session.write_transaction(create_co2_reading, co2_concentration)


            print(f"Inserted CO2 reading - concentration: {co2_concentration}")


    else:


        print("Error retrieving sensor data")


    time.sleep(60)

執(zhí)行腳本

python3 sensorloader_co2.py

結(jié)果

Warming up sensor... (takes 4-5 minutes)


Starting CO2 data collection...


Inserted CO2 reading - concentration: 1294686.

與典型的室內(nèi)二氧化碳水平相比,1294686.06ppm(百萬(wàn)分之一)的二氧化碳濃度相當(dāng)高。在通風(fēng)良好的室內(nèi)環(huán)境中,二氧化碳濃度應(yīng)在400-1000ppm左右。二氧化碳含量超過(guò)1000ppm會(huì)導(dǎo)致嗜睡、頭痛和其他癥狀,而超過(guò)5000ppm會(huì)對(duì)健康造成嚴(yán)重影響,在極端情況下甚至死亡。

然而,對(duì)二氧化碳水平的解釋取決于測(cè)量的背景和環(huán)境。例如,在一些工業(yè)環(huán)境中,如啤酒廠或溫室,出于特定目的,CO2水平可能會(huì)故意升高。同樣重要的是要考慮可能影響室內(nèi)空氣質(zhì)量的其他因素,如濕度、通風(fēng)和其他污染物的存在。

步驟8:對(duì)BME680傳感器建模

以下是如何在Neo4j中對(duì)BME680傳感器及其讀數(shù)進(jìn)行建模的示例。首先,您將創(chuàng)建一個(gè)“傳感器”節(jié)點(diǎn)來(lái)表示您的BME680傳感器。此節(jié)點(diǎn)可能具有“名稱”和“制造商”等屬性,以及您要存儲(chǔ)的有關(guān)傳感器的任何其他信息

CREATE (:Sensor {name: 'BME680', manufacturer: 'Bosch'})


接下來(lái),您將創(chuàng)建一個(gè)“時(shí)間戳”節(jié)點(diǎn)來(lái)表示讀取的特定時(shí)間點(diǎn)。此節(jié)點(diǎn)可能有一個(gè)“時(shí)間戳”屬性,用于存儲(chǔ)讀取的日期和時(shí)間。

CREATE (:Timestamp {timestamp: datetime()})


然后,您將在Sensor節(jié)點(diǎn)和Timestamp節(jié)點(diǎn)之間創(chuàng)建一個(gè)“READS”關(guān)系?!皽囟取?、“壓力”、“濕度”等財(cái)產(chǎn)表示當(dāng)時(shí)從傳感器讀取的值。例如,要?jiǎng)?chuàng)建溫度為25攝氏度、壓力為1000hPa、濕度為50%的讀數(shù),可以使用以下查詢:

MATCH (s:Sensor {name: 'BME680'}), (t:Timestamp)


CREATE (s)-[:READS {temperature: 37.0, pressure: 1168.83, humidity: 37.23}]->(t)

b4054424-d15e-11ed-bfe3-dac502259ad0.png

此查詢?cè)趥鞲衅鞴?jié)點(diǎn)和時(shí)間戳節(jié)點(diǎn)之間創(chuàng)建“READS”關(guān)系。溫度、壓力和濕度的財(cái)產(chǎn)分別設(shè)置為25、1000和50。然后,您可以使用Cypher查詢來(lái):

. 從數(shù)據(jù)庫(kù)中檢索讀數(shù);

. 根據(jù)時(shí)間范圍或傳感器類型等標(biāo)準(zhǔn)對(duì)其進(jìn)行篩選,以及

. 使用Neo4j Bloom等工具或其他可視化工具以各種方式可視化數(shù)據(jù)

步驟9:將其繪制到Grafana儀表板

Neo4j為Grafana提供了一個(gè)數(shù)據(jù)源插件,允許您直接在Grafana儀表板內(nèi)可視化和分析存儲(chǔ)在Neo4j圖形數(shù)據(jù)庫(kù)中的數(shù)據(jù)。要使用Neo4j數(shù)據(jù)源插件,您必須從Grafana插件庫(kù)安裝該插件。安裝插件后,您可以通過(guò)指定數(shù)據(jù)庫(kù)URL、用戶名和密碼將其配置為連接到Neo4j數(shù)據(jù)庫(kù)。一旦配置了數(shù)據(jù)源,就可以使用Neo4j查詢語(yǔ)言Cypher創(chuàng)建可視化。Cypher是一種功能強(qiáng)大的圖形查詢語(yǔ)言,允許您遍歷和操作存儲(chǔ)在Neo4j數(shù)據(jù)庫(kù)中的圖形數(shù)據(jù)。

您可以在幾秒鐘內(nèi)在Docker Desktop上打開(kāi)Grafana來(lái)使用Grafana Docker擴(kuò)展。訪問(wèn)Grafana儀表板并使用默認(rèn)的admin/admin作為用戶名/密碼登錄。

b4241d5e-d15e-11ed-bfe3-dac502259ad0.png

登錄后,單擊“設(shè)置”>“數(shù)據(jù)源”>“插件”,然后搜索Neo4j數(shù)據(jù)源

b45df2cc-d15e-11ed-bfe3-dac502259ad0.png

安裝Grafana數(shù)據(jù)源。

b47a2578-d15e-11ed-bfe3-dac502259ad0.png

提供Neo4j Aura實(shí)例的連接URL、用戶名和密碼,然后連接。

b49e7d06-d15e-11ed-bfe3-dac502259ad0.png

Grafana使用Neo4j數(shù)據(jù)源插件的好處包括:
. 能夠在用戶友好的界面中可視化和分析復(fù)雜的圖形數(shù)據(jù)。
. 與Grafana中提供的各種其他數(shù)據(jù)源和插件集成。
. 具有動(dòng)態(tài)、交互式可視化功能的可定制儀表板。
. 支持基于Neo4j數(shù)據(jù)庫(kù)事件的實(shí)時(shí)數(shù)據(jù)流和警報(bào)。

b4c259e2-d15e-11ed-bfe3-dac502259ad0.png

一旦連接到遠(yuǎn)程N(yùn)eo4j Aura數(shù)據(jù)庫(kù),就應(yīng)該能夠?qū)鞲衅鲾?shù)據(jù)運(yùn)行密碼查詢。

MATCH (sr:SensorReading)


WHERE sr.timestamp >= $timeFrom AND sr.timestamp <= $timeTo


RETURN sr.timestamp as time, sr.temperature as temp, sr.humidity as hum, sr.pressure as press, sr.gas as gas_res


ORDER BY sr.timestamp ASC

b4e36a60-d15e-11ed-bfe3-dac502259ad0.png

查詢使用MATCH子句指定節(jié)點(diǎn)標(biāo)簽,并指定一個(gè)變量sr來(lái)表示具有該標(biāo)簽的節(jié)點(diǎn)。WHERE子句使用變量$timeFrom和$timeTo指定一系列時(shí)間戳。RETURN子句指定每個(gè)傳感器讀數(shù)要返回的財(cái)產(chǎn)。ORDER BY子句按時(shí)間戳升序?qū)Y(jié)果進(jìn)行排序。

b504d1be-d15e-11ed-bfe3-dac502259ad0.png

最后,您應(yīng)該能夠創(chuàng)建所有四個(gè)儀表板——溫度、壓力、濕度和氣體阻力,如下所示:

b552c3c4-d15e-11ed-bfe3-dac502259ad0.png

結(jié)論

圖形數(shù)據(jù)庫(kù)能夠高效查詢復(fù)雜且相互關(guān)聯(lián)的數(shù)據(jù),使其成為數(shù)據(jù)往往相互關(guān)聯(lián)的環(huán)境監(jiān)測(cè)應(yīng)用程序的理想選擇。這與農(nóng)業(yè)尤其相關(guān),因?yàn)檗r(nóng)業(yè)需要這些數(shù)據(jù)來(lái)提高作物產(chǎn)量。

在這個(gè)博客中,我們討論了如何使用Python將BME680環(huán)境傳感器與Neo4j圖形數(shù)據(jù)庫(kù)接口。BME680傳感器能夠測(cè)量溫度、濕度、壓力和氣體阻力。這使其成為環(huán)境監(jiān)測(cè)應(yīng)用的理想傳感器,可以改善農(nóng)業(yè)行業(yè)的決策。

Ajeet S Raina是Docker的開(kāi)發(fā)者倡導(dǎo)者,也是Arm開(kāi)發(fā)者計(jì)劃的大使。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2542

    文章

    50269

    瀏覽量

    750171
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2899

    文章

    43799

    瀏覽量

    369176
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3738

    瀏覽量

    64173

原文標(biāo)題:將物聯(lián)網(wǎng)邊緣設(shè)備與云原生分析集成,以獲得更智能的監(jiān)測(cè)

文章出處:【微信號(hào):Arm軟件開(kāi)發(fā)者,微信公眾號(hào):Arm軟件開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    IOT邊緣計(jì)算網(wǎng)關(guān):聯(lián)網(wǎng)的“神經(jīng)系統(tǒng)”

    聯(lián)網(wǎng)(IoT)的快速發(fā)展中,邊緣計(jì)算網(wǎng)關(guān)作為聯(lián)網(wǎng)的“神經(jīng)系統(tǒng)”,扮演著至關(guān)重要的角色。它不僅負(fù)責(zé)
    的頭像 發(fā)表于 09-25 11:44 ?262次閱讀
    IOT<b class='flag-5'>邊緣</b>計(jì)算網(wǎng)關(guān):<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>的“神經(jīng)系統(tǒng)”

    如何使聯(lián)網(wǎng)邊緣設(shè)備高效節(jié)能?

    電源效率對(duì)于聯(lián)網(wǎng)的成功至關(guān)重要。設(shè)備的效率越高,其功能壽命就越長(zhǎng),用戶體驗(yàn)就越好。您是否在組織中實(shí)施了聯(lián)網(wǎng)解決方案,
    的頭像 發(fā)表于 09-24 15:18 ?458次閱讀
    如何使<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>邊緣</b><b class='flag-5'>設(shè)備</b>高效節(jié)能?

    云原生和非云原生哪個(gè)好?六大區(qū)別詳細(xì)對(duì)比

    云原生和非云原生各有優(yōu)劣,具體選擇取決于應(yīng)用場(chǎng)景。云原生利用云計(jì)算的優(yōu)勢(shì),通過(guò)微服務(wù)、容器化和自動(dòng)化運(yùn)維等技術(shù),提高了應(yīng)用的可擴(kuò)展性、更新速度和成本效益。非云原生則可能更適合對(duì)延遲敏感
    的頭像 發(fā)表于 09-13 09:53 ?250次閱讀

    什么是聯(lián)網(wǎng)技術(shù)?

    什么是聯(lián)網(wǎng)技術(shù)? 聯(lián)網(wǎng)技術(shù)(Internet of Things, IoT)是一種通過(guò)信息傳感設(shè)備,按約定的協(xié)議,
    發(fā)表于 08-19 14:08

    京東云原生安全產(chǎn)品重磅發(fā)布

    “安全產(chǎn)品那么多,我怎么知道防住了?”“大家都說(shuō)自己是云原生的,我看都是換湯不換藥”在與客戶溝通云原生安全方案的時(shí)候,經(jīng)常會(huì)遇到這樣的吐槽。越來(lái)越的客戶已經(jīng)開(kāi)始了云原生化的技術(shù)架構(gòu)改造,也意識(shí)到
    的頭像 發(fā)表于 07-26 10:36 ?362次閱讀
    京東<b class='flag-5'>云原生</b>安全產(chǎn)品重磅發(fā)布

    從積木式到裝配式云原生安全

    從這兩個(gè)方面分別進(jìn)行分析和解決。 新技術(shù)帶來(lái)新的安全風(fēng)險(xiǎn) 云原生的概念定義本身就比較抽象,從誕生到現(xiàn)在也經(jīng)歷了多次變化。2018年CNCF對(duì)云原生的概念進(jìn)行了重定義:云原生技術(shù)有利于各
    的頭像 發(fā)表于 07-26 10:35 ?222次閱讀
    從積木式到裝配式<b class='flag-5'>云原生</b>安全

    基于DPU與SmartNic的云原生SDN解決方案

    隨著云計(jì)算,大數(shù)據(jù)和人工智能等技術(shù)的蓬勃發(fā)展,數(shù)據(jù)中心面臨著前所未有的數(shù)據(jù)洪流和計(jì)算壓力,這對(duì)SDN提出了更高的性能和效率要求。自云原生概念被提出以來(lái),Kubernetes為云原生應(yīng)用的落地提供了一
    的頭像 發(fā)表于 07-22 11:44 ?580次閱讀
    基于DPU與SmartNic的<b class='flag-5'>云原生</b>SDN解決方案

    網(wǎng)關(guān)助力邊緣聯(lián)網(wǎng)

    網(wǎng)關(guān)助力邊緣聯(lián)網(wǎng) 在探討網(wǎng)關(guān)如何助力邊緣聯(lián)網(wǎng)(IoT)的議題時(shí),我們不得不深入
    的頭像 發(fā)表于 06-18 14:06 ?190次閱讀
    網(wǎng)關(guān)助力<b class='flag-5'>邊緣</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>

    邊緣計(jì)算智能網(wǎng)關(guān)為聯(lián)網(wǎng)設(shè)備高效通信賦能

    作為一種新興的技術(shù),成為了聯(lián)網(wǎng)設(shè)備高效通信的關(guān)鍵。 一、邊緣計(jì)算智能網(wǎng)關(guān)的定義與功能 邊緣計(jì)算
    的頭像 發(fā)表于 05-29 14:40 ?586次閱讀

    云原生轉(zhuǎn)型中從理念到實(shí)踐的探索與挑戰(zhàn)

    “全面智能化,躍升數(shù)智生產(chǎn)力”為主題的華為第21屆全球分析師大會(huì)近日在深圳舉行。在本次大會(huì)的“5.5G Core,智能化點(diǎn)亮世界”云核心網(wǎng)分論壇上,廣東移動(dòng)網(wǎng)絡(luò)云運(yùn)維總監(jiān)王喆發(fā)表了“
    的頭像 發(fā)表于 04-23 11:45 ?389次閱讀

    云原生是大模型“降本增效”的解藥嗎?

    云原生AI正當(dāng)時(shí)
    的頭像 發(fā)表于 02-20 09:31 ?320次閱讀

    LoRa ZWS云應(yīng)用(4)-環(huán)境監(jiān)測(cè)設(shè)備接入篇

    在環(huán)境監(jiān)測(cè)系統(tǒng)中,要將監(jiān)測(cè)設(shè)備接入聯(lián)網(wǎng)云平臺(tái),才能進(jìn)行對(duì)環(huán)境數(shù)據(jù)實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)、統(tǒng)計(jì)
    的頭像 發(fā)表于 01-26 08:25 ?683次閱讀
    LoRa  ZWS云應(yīng)用(4)-環(huán)境<b class='flag-5'>監(jiān)測(cè)</b><b class='flag-5'>設(shè)備</b>接入篇

    邊緣智能網(wǎng)關(guān):讓環(huán)境監(jiān)測(cè)智能

    ? ? ? ?在環(huán)境監(jiān)測(cè)領(lǐng)域,邊緣智能網(wǎng)關(guān)可用于區(qū)域環(huán)境的實(shí)時(shí)監(jiān)測(cè)、分析和預(yù)警,例如河湖水位監(jiān)測(cè)
    的頭像 發(fā)表于 01-25 18:01 ?578次閱讀
    <b class='flag-5'>邊緣</b><b class='flag-5'>智能</b>網(wǎng)關(guān):讓環(huán)境<b class='flag-5'>監(jiān)測(cè)</b><b class='flag-5'>更</b><b class='flag-5'>智能</b>

    米哈游大數(shù)據(jù)云原生實(shí)踐

    近年來(lái),容器、微服務(wù)、Kubernetes 等各項(xiàng)云原生技術(shù)的日漸成熟,越來(lái)越多的公司開(kāi)始選擇擁抱云原生,并開(kāi)始 AI、大數(shù)據(jù)等類型的企業(yè)應(yīng)用部署運(yùn)行在云原生之上。
    的頭像 發(fā)表于 01-09 10:41 ?532次閱讀
    米哈游大數(shù)據(jù)<b class='flag-5'>云原生</b>實(shí)踐

    【飛騰派4G版免費(fèi)試用】飛騰派+4G+EMQX+eKuiper +Zigbee 傳感器搭建物聯(lián)網(wǎng)邊緣計(jì)算網(wǎng)關(guān)

    : Zigbee 傳感器網(wǎng)絡(luò) 執(zhí)行單元: 串口繼電器卡,控制多個(gè)開(kāi)關(guān)量 交互界面: HDMI 觸控屏 監(jiān)控單元: (USB/網(wǎng)絡(luò))攝像頭 電源:太陽(yáng)能12V軟件部分 EMQX :EMQX是開(kāi)源云原生分布式聯(lián)網(wǎng)
    發(fā)表于 12-29 18:25