在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何通過Netduino和Xamarin遠(yuǎn)程控制RGBLED

454398 ? 來源:工程師吳畏 ? 2019-08-02 16:49 ? 次閱讀

步驟1 - 組裝電路

將共陽極或共陰極RGB LED連接到支持網(wǎng)絡(luò)的Netduino板。

公共陰極RGB LED

具有共陰極RGB LED的電路

公共陽極RGB LED

具有公共陽極RGB LED的電路

步驟2 - 將您的Netduino連接到網(wǎng)絡(luò)

Windows

在Netduino以引導(dǎo)加載程序模式連接時(shí),下載并打開適用于Windows或MacOS的固件更新程序和配置工具。在使用網(wǎng)絡(luò)配置部分之前,請確保在型號選擇器控件中自動(dòng)選擇您的設(shè)備,以確認(rèn)您的設(shè)備已正確連接。

Netduino Deploy Tool的網(wǎng)絡(luò)配置

如果您使用的是 Netduino 3 WiFi ,選擇正確的加密,身份驗(yàn)證,SSID和密碼短語設(shè)置,最后點(diǎn)擊更新將這些設(shè)置保存到Netduino。

網(wǎng)絡(luò)連接后設(shè)置保存到設(shè)備,記得斷開連接并將Netduino重新連接到計(jì)算機(jī)以退出引導(dǎo)加載程序模式,并準(zhǔn)備好在項(xiàng)目完成后運(yùn)行項(xiàng)目。

步驟3 - 創(chuàng)建Netduino項(xiàng)目

在Visual Studio 2015 for Windows或最新的Visual Studio for Mac中創(chuàng)建Netduino項(xiàng)目;將項(xiàng)目命名為 RgbLedHost 。

步驟4 - 添加Netduino.Foundation Maple NuGet包

Windows

右鍵單擊 RgbLedHost 項(xiàng)目,然后單擊 管理NuGet包 。在 瀏覽 標(biāo)簽中,搜索Netduino.Foundation;它應(yīng)該是第一個(gè)搜索結(jié)果。單擊 安裝 按鈕。

添加Netduino.Foundation NuGet包

現(xiàn)在搜索 Maple 和 Netduino.Foundation.Network 并將它們添加到您的項(xiàng)目中。

macOS

按住Alt鍵并單擊 解決方案資源管理器 中的 RgbPwmHost 項(xiàng)目,然后單擊 添加=》添加Nuget包 以打開NuGet包窗口。搜索Netduino.Foundation包并單擊 添加包 將其添加到項(xiàng)目中。

現(xiàn)在搜索 Maple 和 Netduino.Foundation.Network 并將它們添加到您的項(xiàng)目中。

步驟5 - 編寫RgbLedHost項(xiàng)目的代碼

添加RequestHandler類

Maple Web API端點(diǎn)是通過創(chuàng)建從 RequestHandlerBase 繼承的自定義類來定義的。 Maple 使用反射根據(jù)這些自定義類中的方法名稱創(chuàng)建URL。它支持 get 和 post 動(dòng)詞,方法名稱必須以其中一個(gè)字符串為前綴,以便自動(dòng)成為端點(diǎn)。

右鍵單擊您的項(xiàng)目,然后單擊添加 new =》 Class ,并將其命名為 RequestHandler 。在這里您將公開五個(gè)URL端點(diǎn):/TurnOn ,/TurnOff ,/StartBlink ,/StartPulse 和/StartRunningColors 的。復(fù)制以下所有這些方法的實(shí)現(xiàn):

public class RequestHandler : RequestHandlerBase

{

public event EventHandler TurnOn = delegate { };

public event EventHandler TurnOff = delegate { };

public event EventHandler StartBlink = delegate { };

public event EventHandler StartPulse = delegate { };

public event EventHandler StartRunningColors = delegate { };

public RequestHandler() { }

public void postTurnOn()

{

TurnOn(this, EventArgs.Empty);

StatusResponse();

}

public void postTurnOff()

{

TurnOff(this, EventArgs.Empty);

StatusResponse();

}

public void postStartBlink()

{

StartBlink(this, EventArgs.Empty);

StatusResponse();

}

public void postStartPulse()

{

StartPulse(this, EventArgs.Empty);

StatusResponse();

}

public void postStartRunningColors()

{

this.StartRunningColors(this, EventArgs.Empty);

StatusResponse();

}

private void StatusResponse()

{

Context.Response.ContentType = “application/json”;

Context.Response.StatusCode = 200;

Send();

}

}

調(diào)用這些端點(diǎn)時(shí),將調(diào)用相應(yīng)的方法。在每個(gè)方法上,發(fā)生了兩件事:觸發(fā)事件并發(fā)送響應(yīng)以確認(rèn)客戶端已收到請求。

添加RgbLedController類

最好為每個(gè)涉及的外圍設(shè)備創(chuàng)建一個(gè) Controller 類,以使項(xiàng)目更具可擴(kuò)展性,可維護(hù)性和清潔性。這些 Controller 類抽象出所有外設(shè)的邏輯,因此主程序邏輯將更清晰,更易于理解。使用以下代碼添加 RgbLedController 類:

public class RgbLedController

{

public RgbLedController(RgbPwmLed rgbPwmLed)

{

_rgbPwmLed = rgbPwmLed;

_rgbPwmLed.SetColor(Netduino.Foundation.Color.Red);

}

public void TurnOn()

{

_rgbPwmLed.Stop();

_rgbPwmLed.SetColor(GetRandomColor());

}

public void TurnOff()

{

_rgbPwmLed.Stop();

_rgbPwmLed.SetColor(Netduino.Foundation.Color.FromHsba(0, 0, 0));

}

public void StartBlink()

{

_rgbPwmLed.Stop();

_rgbPwmLed.StartBlink(GetRandomColor());

}

public void StartPulse()

{

_rgbPwmLed.Stop();

_rgbPwmLed.StartPulse(GetRandomColor());

}

public void StartRunningColors()

{

var arrayColors = new ArrayList();

for (int i = 0; i 《 360; i = i + 5)

{

var hue = ((double)i / 360F);

arrayColors.Add(Netduino.Foundation.Color.FromHsba(((double)i / 360F), 1, 1));

}

int[] intervals = new int[arrayColors.Count];

for (int i = 0; i 《 intervals.Length; i++)

{

intervals[i] = 100;

}

_rgbPwmLed.Stop();

_rgbPwmLed.StartRunningColors(arrayColors, intervals);

}

public void NetworkConnected()

{

_rgbPwmLed.Stop();

_rgbPwmLed.SetColor(Netduino.Foundation.Color.Green);

}

protected Netduino.Foundation.Color GetRandomColor()

{

var random = new Random();

return Netduino.Foundation.Color.FromHsba(random.NextDouble(), 1, 1);

}

}

添加App類

對于這個(gè)項(xiàng)目,我們希望實(shí)現(xiàn)一個(gè)通用的 App 軟件模式來控制所有網(wǎng)絡(luò)和控制器,使事情更清晰,更健壯。在項(xiàng)目中添加一個(gè)新的 App 類,并粘貼以下代碼:

結(jié)果

結(jié)果

打開LED。

public class App

{

static int _blinkDuration = 100;

protected MapleServer _server;

protected RgbLedController _rgbController;

public App()

{

InitializePeripherals();

InitializeWebServer();

}

protected void InitializePeripherals()

{

var rgbPwmLed = new RgbPwmLed

SecretLabs.NETMF.Hardware.Netduino.PWMChannels.PWM_PIN_D11,

SecretLabs.NETMF.Hardware.Netduino.PWMChannels.PWM_PIN_D10,

SecretLabs.NETMF.Hardware.Netduino.PWMChannels.PWM_PIN_D9,

1.05f,

1.5f,

1.5f,

false

);

_rgbController = new RgbLedController(rgbPwmLed);

}

protected void InitializeWebServer()

{

var handler = new RequestHandler();

handler.TurnOn += (s, e) =》

{

_rgbController.TurnOn();

};

handler.TurnOff += (s, e) =》

{

_rgbController.TurnOff();

};

handler.StartBlink += (s, e) =》

{

_rgbController.StartBlink();

};

handler.StartPulse += (s, e) =》

{

_rgbController.StartPulse();

};

handler.StartRunningColors += (s, e) =》

{

_rgbController.StartRunningColors();

};

_server = new MapleServer();

_server.AddHandler(handler);

}

public void Run()

{

Initializer.InitializeNetwork();

Debug.Print(“InitializeNetwork()”);

while (Initializer.CurrentNetworkInterface == null) { }

_server.Start(“RgbLedHost”,

Initializer.CurrentNetworkInterface.IPAddress);

_rgbController.NetworkConnected();

}

}

這個(gè)類中發(fā)生的第一件事就是調(diào)用 InitializePeripherals 實(shí)例化連接到 Netduino 的所有控制器,在此項(xiàng)目中,它是 RgbLedController 對象,并使其以紅色亮起。/p》

設(shè)置外設(shè)后,它現(xiàn)在調(diào)用 InitializeWebServer ,在這里你將使用 RequestHandler 。實(shí)例化之后,為前面解釋的四種暴露方法注冊事件處理程序: LightOn , LightOff , StartBlink , StartPulse 和 StartRunningColors :

OnLightOn - 打開LED。

OnLightOff - 關(guān)閉LED。

OnBlink - 使RGB LED閃爍。

OnPulse - 產(chǎn)生RGB LED脈沖。

OnSweepColors - 使RGB通過所有Hue光譜,就像使用RGB LED和Netduino的Show Rainbow Colors一樣。

在所有這些事件處理程序之后,創(chuàng)建一個(gè)新的 Maple 實(shí)例,并將 RequestHandler 對象分配給其Handler屬性。

在運(yùn)行方法中,啟動(dòng)項(xiàng)目時(shí)需要做的第一件事是使用 Initializer.InitializeNetwork(); 。 Netduino主板需要在每次啟動(dòng)時(shí)初始化網(wǎng)絡(luò),因此在啟動(dòng) Maple 服務(wù)器之前,您需要確保Netduino已成功連接到網(wǎng)絡(luò),并且已收到有效的IP地址。

當(dāng)Netduino加入網(wǎng)絡(luò)時(shí),您現(xiàn)在可以通過 server.Start()《安全地啟動(dòng)M a 服務(wù)器/b》傳遞服務(wù)器名稱和分配給它的IpAddress,并將RGB LED顏色設(shè)置為綠色,表示程序已成功啟動(dòng),并準(zhǔn)備好接收客戶端請求。

在Program類中實(shí)現(xiàn)Main方法

最后,創(chuàng)建一個(gè)新的App類對象并調(diào)用Run方法。您的代碼應(yīng)如下所示:

運(yùn)行RgbLedHost項(xiàng)目

這就是你需要做的一切 RgbLedHost 項(xiàng)目。當(dāng)您運(yùn)行項(xiàng)目時(shí),您將看到RGB LED在完成外設(shè)初始化后變?yōu)榧t色,并且一旦連接到網(wǎng)絡(luò),它就會(huì)等待接收IP地址。一旦它加入網(wǎng)絡(luò),RGB LED將變?yōu)榫G色。

RgbLedHost項(xiàng)目正在運(yùn)行并指示Maple何時(shí)成功啟動(dòng)

步驟6 - 設(shè)置Xamarin.Forms RgbLedRemote項(xiàng)目

此項(xiàng)目的下一部分是讓您的手機(jī)上運(yùn)行Xamarin.Forms應(yīng)用程序。該項(xiàng)目可以在Netduino_Samples/Connected_RgbLed倉庫中找到。在Netduino上運(yùn)行的代碼位于 RgbLedHost 應(yīng)用程序文件夾中。 Xamarin.Forms在 RgbLedRemote 文件夾中對其進(jìn)行采樣。繼續(xù)將 RgmLedRemote 項(xiàng)目下載到您的計(jì)算機(jī)/mac,并在最新版本的Visual Studio上打開它,公共代碼項(xiàng)目應(yīng)如下所示:

Xamarin.Forms RgbLedRemote app sample

這個(gè)項(xiàng)目的用處是 MapleClient 類,它有一個(gè)簡單的執(zhí)行 HttpClient 向 Maple 服務(wù)器發(fā)送/接收服務(wù)器請求,以及 UdpClient 接收來自一個(gè)或多個(gè)的廣播消息運(yùn)行更多Maple服務(wù)器,應(yīng)用程序會(huì)在Picker上列出它們,以便您可以選擇要連接到哪個(gè)Netduino并發(fā)送請求。

public class MapleClient

{

static readonly int LISTEN_PORT = 17756;

static readonly int LISTEN_TIMEOUT = 5000; //ms

public async Task UdpTimeoutTask()

{

await Task.Delay(LISTEN_TIMEOUT);

return new UdpReceiveResult();

}

public async Task》 FindMapleServers()

{

var hostList = new List();

var listener = new UdpClient(LISTEN_PORT);

var ipEndPoint = new IPEndPoint(IPAddress.Any, LISTEN_PORT);

var timeoutTask = UdpTimeoutTask();

try

{

while (timeoutTask.IsCompleted == false)

{

Console.WriteLine(“Waiting for broadcast”);

var tasks = new Task[]

{

timeoutTask, listener.ReceiveAsync()

};

int index = 0;

await Task.Run(() =》 index = Task.WaitAny(tasks));

var results = tasks[index].Result;

if (results.RemoteEndPoint == null)

break;

string host = Encoding.UTF8.GetString(results.Buffer, 0,

results.Buffer.Length);

string hostIp = host.Split(‘=’)[1];

Console.WriteLine(“Received broadcast from {0} : {1} ”,

hostIp, host);

var serverItem = new ServerItem()

{

Name = host.Split(‘=’)[0]+“ (”+host.Split(‘=’)[1]+“) ”,

IpAddress = host.Split(‘=’)[1]

};

if (!hostList.Any(server =》 server.IpAddress == hostIp))

{

hostList.Add(serverItem);

}

}

}

catch (Exception e)

{

Console.WriteLine(e.Message);

}

finally

{

listener.Close();

}

return hostList;

}

protected async Task SendCommandAsync(string command, string hostAddress)

{

var client = new HttpClient();

client.BaseAddress = new Uri(“http://” + hostAddress + “/”);

client.Timeout = TimeSpan.FromSeconds(5);

try

{

var response = await client.PostAsync(command, null);

return response.IsSuccessStatusCode;

}

catch (Exception ex)

{

System.Diagnostics.Debug.Print(ex.Message);

return false;

}

}

}

SendCommandAsync function將返回一個(gè)布爾值,以指示請求是否已正確處理(true)或請求中是否有錯(cuò)誤或發(fā)生異常(false)。

每次發(fā)送請求時(shí),應(yīng)用程序?qū)@示一個(gè)加載屏幕,一旦響應(yīng)消息返回成功,加載屏幕就會(huì)消失按鈕重新啟用,突出顯示的按鈕反映RGB LED上當(dāng)前正在發(fā)生的操作。

RgbLedRemote項(xiàng)目

步驟7 - 運(yùn)行項(xiàng)目樣本

首先運(yùn)行 RgbLedHost 項(xiàng)目,等待RGB LED變?yōu)榫G色,表示服務(wù)器正在運(yùn)行并廣播UDP其名稱和IP地址的消息。

現(xiàn)在將 RgbLedRemote 項(xiàng)目運(yùn)行到您的移動(dòng)設(shè)備,稍等片刻,直到應(yīng)用程序顯示Picker控件,您可以選擇您要連接的服務(wù)器。如果連接成功,則設(shè)置對話框屏幕應(yīng)消失,RGB LED應(yīng)更改為其他顏色。

使用Maple由移動(dòng)應(yīng)用程序控制的RGB LED

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

    關(guān)注

    242

    文章

    23741

    瀏覽量

    671343
  • Netduino
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    3486
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    智慧路燈如何實(shí)現(xiàn)遠(yuǎn)程控制

    引言 在智慧城市建設(shè)的進(jìn)程中,叁仟智慧路燈作為重要的基礎(chǔ)設(shè)施,其遠(yuǎn)程控制功能發(fā)揮著關(guān)鍵作用。遠(yuǎn)程控制使得叁仟智慧路燈能夠擺脫地域限制,實(shí)現(xiàn)高效、精準(zhǔn)的管理,極大地提升了城市照明系統(tǒng)的運(yùn)行效率與智能化
    的頭像 發(fā)表于 03-18 12:27 ?240次閱讀
    智慧路燈如何實(shí)現(xiàn)<b class='flag-5'>遠(yuǎn)程控制</b>?

    plc遠(yuǎn)程控制模塊是什么

    PLC遠(yuǎn)程控制模塊是什么?PLC(ProgrammableLogicController,可編程邏輯控制器)遠(yuǎn)程控制模塊是用于實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和控制
    的頭像 發(fā)表于 02-12 17:20 ?529次閱讀

    PLC遠(yuǎn)程控制模塊應(yīng)用

    PLC(Programmable Logic Controller,可編程邏輯控制器)遠(yuǎn)程控制模塊,作為工業(yè)自動(dòng)化領(lǐng)域的一項(xiàng)重要技術(shù),正日益展現(xiàn)出其強(qiáng)大的應(yīng)用潛力和價(jià)值。通過遠(yuǎn)程監(jiān)控和控制
    的頭像 發(fā)表于 02-12 16:48 ?391次閱讀

    中央空調(diào)遠(yuǎn)程控制系統(tǒng)

    、作用功能 1.遠(yuǎn)程溫度控制:用戶可以通過手機(jī)App或網(wǎng)頁登錄管理云平臺,實(shí)時(shí)查看各個(gè)區(qū)域的溫度,并進(jìn)行調(diào)節(jié)。比如,在辦公區(qū)域有人員進(jìn)出時(shí),可以立即通過遠(yuǎn)程控制調(diào)整空調(diào)溫度,以提供舒適
    的頭像 發(fā)表于 12-24 16:36 ?851次閱讀

    使用樹莓派實(shí)現(xiàn)遠(yuǎn)程控制的技巧

    樹莓派是一款功能強(qiáng)大的微型計(jì)算機(jī),其體積小巧、價(jià)格低廉,非常適合用于各種DIY項(xiàng)目。其中,遠(yuǎn)程控制是樹莓派應(yīng)用中非常受歡迎的一個(gè)領(lǐng)域。通過遠(yuǎn)程控制,我們可以隨時(shí)隨地訪問和管理樹莓派,實(shí)現(xiàn)數(shù)據(jù)監(jiān)控
    的頭像 發(fā)表于 11-11 11:37 ?1283次閱讀

    遠(yuǎn)程控制溫控器的應(yīng)用

    隨著科技的發(fā)展,智能家居逐漸成為現(xiàn)代生活的一部分。遠(yuǎn)程控制溫控器作為智能家居系統(tǒng)中的一個(gè)重要組成部分,為用戶提供了前所未有的便利和舒適度。 遠(yuǎn)程控制溫控器的工作原理 遠(yuǎn)程控制溫控器通過
    的頭像 發(fā)表于 11-06 13:47 ?940次閱讀

    用網(wǎng)頁端遠(yuǎn)程控制電腦各工具對比

    遠(yuǎn)程辦公、設(shè)備維護(hù)和技術(shù)支持場景中,遠(yuǎn)程控制工具的選擇至關(guān)重要。本篇將介紹幾款常見的遠(yuǎn)程控制工具進(jìn)行對比,包括P2link、花生殼、蒲公英、nat123和natapp,幫助用戶了解各工具的不同特點(diǎn),從而更好地選擇適合自己的
    的頭像 發(fā)表于 11-05 11:22 ?862次閱讀

    風(fēng)管遠(yuǎn)程控制系統(tǒng)應(yīng)用方案

    能耗。 一、基本原理 風(fēng)管遠(yuǎn)程控制系統(tǒng),通過遠(yuǎn)程通信技術(shù)對建筑物內(nèi)的風(fēng)管系統(tǒng),進(jìn)行實(shí)時(shí)監(jiān)控與智能控制的物聯(lián)網(wǎng)解決方案。將傳統(tǒng)的風(fēng)管系統(tǒng)與自動(dòng)化控制、網(wǎng)絡(luò)通信、物聯(lián)網(wǎng)等技術(shù)深度融合,對風(fēng)
    的頭像 發(fā)表于 10-22 16:31 ?709次閱讀

    通過邊緣計(jì)算網(wǎng)關(guān)實(shí)現(xiàn)PLC遠(yuǎn)程控制過程

    在現(xiàn)代工業(yè)自動(dòng)化領(lǐng)域,遠(yuǎn)程控制與監(jiān)控已成為提升生產(chǎn)效率、降低維護(hù)成本的重要手段。邊緣計(jì)算網(wǎng)關(guān)作為工業(yè)物聯(lián)網(wǎng)中的關(guān)鍵設(shè)備,憑借其強(qiáng)大的數(shù)據(jù)處理能力和網(wǎng)絡(luò)通訊能力,為實(shí)現(xiàn)PLC(可編程邏輯控制器)的遠(yuǎn)程控制
    的頭像 發(fā)表于 10-17 16:28 ?756次閱讀
    <b class='flag-5'>通過</b>邊緣計(jì)算網(wǎng)關(guān)實(shí)現(xiàn)PLC<b class='flag-5'>遠(yuǎn)程控制</b>過程

    普通空開怎樣遠(yuǎn)程控制斷電

    遠(yuǎn)程控制斷電技術(shù)的應(yīng)用場景非常廣泛,包括但不限于: 智能家居系統(tǒng) :用戶可以通過手機(jī)應(yīng)用或語音助手遠(yuǎn)程控制家中的電器,實(shí)現(xiàn)節(jié)能和便捷。 工業(yè)自動(dòng)化 :在生產(chǎn)線上,遠(yuǎn)程控制斷電可以快速
    的頭像 發(fā)表于 10-17 14:02 ?1987次閱讀

    智能電表是如何與遠(yuǎn)程控制系統(tǒng)連接的?

    智能電表與遠(yuǎn)程控制系統(tǒng)之間的連接,是現(xiàn)代智能家居技術(shù)中不可或缺的一部分。通過這種連接,不僅可以實(shí)現(xiàn)對電力使用的精準(zhǔn)監(jiān)控,還能讓家庭或企業(yè)的能源管理變得更加高效。接下來,就讓我們一起來看看智能電表
    的頭像 發(fā)表于 10-16 16:29 ?936次閱讀
    智能電表是如何與<b class='flag-5'>遠(yuǎn)程控制</b>系統(tǒng)連接的?

    城市照明遠(yuǎn)程控制系統(tǒng)

    ,引領(lǐng)著智慧城市的新風(fēng)尚。 城市照明遠(yuǎn)程控制系統(tǒng),基于物聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算等現(xiàn)代信息技術(shù),對城市路燈、景觀照明等照明設(shè)施進(jìn)行遠(yuǎn)程監(jiān)控、調(diào)度和管理的智慧照明解決方案。通過智能照明控制
    的頭像 發(fā)表于 09-10 16:43 ?551次閱讀

    android 遠(yuǎn)程控制如何實(shí)現(xiàn)

    在現(xiàn)代工作和生活中,遠(yuǎn)程控制安卓設(shè)備或使用安卓設(shè)備遠(yuǎn)程控制其他設(shè)備已成為常見需求。安卓遠(yuǎn)程控制允許IT管理員遠(yuǎn)程訪問安卓設(shè)備。實(shí)施遠(yuǎn)程控制應(yīng)
    的頭像 發(fā)表于 08-21 18:05 ?1351次閱讀
    android <b class='flag-5'>遠(yuǎn)程控制</b>如何實(shí)現(xiàn)

    智能路燈遠(yuǎn)程控制系統(tǒng)

    構(gòu)建綠色、低碳、高效的現(xiàn)代都市提供有力支撐。 基本原理 智能路燈遠(yuǎn)程控制系統(tǒng)基于物聯(lián)網(wǎng)(IoT)技術(shù),通過集成傳感器、無線通信模塊、智能控制器及管理云平臺等關(guān)鍵組件,實(shí)現(xiàn)對路燈狀態(tài)的遠(yuǎn)程
    的頭像 發(fā)表于 08-15 16:21 ?1265次閱讀
    主站蜘蛛池模板: 国模吧新入口 | 天天看黄 | 亚洲人在线| 国产高清成人mv在线观看 | 让她爽的喷水叫爽乱 | 91极品女神嫩模在线播放 | 8888四色奇米在线观看不卡 | 欧美熟色妇 | 伊人福利网 | 天天色色网 | 免费大片a一级一级 | 狠狠色依依成人婷婷九月 | 欧美黄色一级视频 | 久久性生活 | 五月激情片 | 午夜tv影院| 视频1区 | 色欧美亚洲| 午夜一级福利 | 九九精品国产 | 丁香六月综合网 | 天天干天天天天 | 欧美18videosex性欧美1819 | 欧美另类v | 欧美激情综合色综合啪啪五月 | 天堂网在线观看 | 日韩福利一区 | 欧美午夜视频一区二区 | 日本69xxxxxxxx69 | 卡1卡2卡3精品推荐老狼 | eee在线播放成人免费 | 黄色午夜剧场 | 天天操天天射天天舔 | 国产嫩草影院在线观看 | 亚洲一区二区三区高清 | 1024你懂的国产精品 | 五月天婷婷在线播放 | 天堂网www最新版在线资源 | 在线观看你懂的视频 | 亚洲久优优色优在线播放 | 亚洲精品视频在线看 |