久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: MLNetwork系統(tǒng)介紹 [打印本頁]

作者: 電子黑    時(shí)間: 2016-6-27 23:22
標(biāo)題: MLNetwork系統(tǒng)介紹
作者:梓 元節(jié)能 第一章 系統(tǒng)構(gòu)架概述 對于這個(gè)構(gòu)架,我們已經(jīng)開發(fā)了3年,從最初的《校園節(jié)能》到《無線組網(wǎng)》再到《smart school》再到《smart OS》我們已經(jīng)經(jīng)歷了4個(gè)版本的變化了。在這4個(gè)版本里面,我們在不斷變換著自己的工作重心,試圖讓各種不同的設(shè)備相互通信。但是每一次都是在10個(gè) 設(shè)備左右就出現(xiàn)了各種奇葩的問題,導(dǎo)致我們的協(xié)議系統(tǒng)崩潰。無法讓各個(gè)設(shè)備之間進(jìn)行兼容或者因?yàn)榧嫒莸膯栴}導(dǎo)致我們需要做大量的重發(fā)開發(fā)工作。這些看似簡 單的工作卻要消耗我們大量的時(shí)間來進(jìn)行驗(yàn)證作業(yè)。我們已經(jīng)累了,真的不想為每一個(gè)設(shè)備因?yàn)橐{(diào)用其他設(shè)備而獨(dú)立的進(jìn)行開發(fā)了,所以我們開始了自己的內(nèi)部的 標(biāo)準(zhǔn)化之路。 我們希望使用類似微軟的RDP(遠(yuǎn)程桌面協(xié)議)來對各個(gè)設(shè)備進(jìn)行訪問。當(dāng)一個(gè)設(shè)備需要解讀其他的設(shè)備時(shí),只需要你將需要接入的設(shè)備的RDP協(xié) 議加載到你的通信協(xié)議系統(tǒng)中,就可以完成對于該設(shè)備的加入操作。相關(guān)的調(diào)用過程你可以按照自己的思路來進(jìn)行開發(fā)。我們希望讓自己的開發(fā)作業(yè)變得標(biāo)準(zhǔn)化,不 想為每一個(gè)設(shè)備都進(jìn)行獨(dú)立的作業(yè)!這樣的效率實(shí)在太低下并且因?yàn)橥ㄓ眯缘脑颍屛覀優(yōu)榱俗屢粋(gè)系統(tǒng)可以穩(wěn)定的動(dòng)作而不等不做出各種各樣的讓步。導(dǎo)致系統(tǒng) 的設(shè)計(jì)遠(yuǎn)離了我們的初衷。 為什么要有這樣的ML_network? 因?yàn)槲覀儼l(fā)現(xiàn)對于單品設(shè)備在這個(gè)地球上基本很難賣出了,你不可能要去用戶每購買一個(gè)智能設(shè)備就安裝一個(gè)APP!我們需要有集成方案,用戶可以使用一個(gè)APP就可以管理所有的設(shè)備。但是用戶不是流水線上的產(chǎn)品,有統(tǒng)一的需求。所有對于每一個(gè)用戶其使用基本都是定制開發(fā)。如果沒有一定規(guī)模的智能硬件可以相互通信,做定制開發(fā)玩搭積木的有效簡直就是胡扯!為了實(shí)現(xiàn)基本的類似IFTTT(if this than that 如果**就**),我們就需要在一個(gè)最基本的系統(tǒng)里面有一個(gè)傳感器 、執(zhí)行器和控制器。這三者需要互聯(lián)!相互通信并且為了配置的方便我們希望有更多的設(shè)備可以相互接入。 如果只是單純的10個(gè)設(shè)備互聯(lián),我們可以使用輪詢的方式實(shí)現(xiàn),但是我們需要考慮未來的接入能力,我們希望我們的網(wǎng)絡(luò)是復(fù)雜的結(jié)構(gòu),我們想到了螞蟻算法,我們找到了一種高效而有簡單的方式來實(shí)現(xiàn)對整個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的管理,當(dāng)然這個(gè)算法需要泡在32位的單片機(jī)上才不會(huì)顯得吃力。 如果有這樣一個(gè)ML_network 我們可以做什么? 我 們現(xiàn)在是一家關(guān)注與校園能源管理的公司,我們希望在公共能源管理上面有所為!為學(xué)校師生提供基于時(shí)間、人員密度、日照、溫度、課程計(jì)劃等多維度的能源管理 方案。當(dāng)我們?nèi)プ鲞@些時(shí),我們發(fā)現(xiàn)學(xué)校用戶并不是每一個(gè)都需要所有的設(shè)備的,他們可能需要裁剪,只是提取其中的某一部分來進(jìn)行應(yīng)用。實(shí)現(xiàn)比如:1、天黑有人開燈,人來燈亮;2、當(dāng)人員數(shù)量超過X數(shù)值時(shí),開啟全部照明,否則僅開啟一部分;3、當(dāng)22點(diǎn)以后,請及時(shí)熄燈。如果教室內(nèi)有人則提示請及時(shí)離開。 通過在教室內(nèi)布置不同的傳感器和執(zhí)行器,我們有理由實(shí)現(xiàn)用戶的各種需求并為他們提供長久的能源管理服務(wù)。我們需要對我們的設(shè)備能源管理邏輯的本身進(jìn)行監(jiān)管,以提高我們的利用效率,并試圖在合同能源管理中有一份屬于自己的地盤。 如果我們有照度傳感器,當(dāng)你設(shè)備開燈后,而照度值沒有改變,你可以判斷出照明設(shè)備損壞,可以向用戶推送相關(guān)的維護(hù)服務(wù)。這也許就是互聯(lián)網(wǎng)下的020的變種。 如果我們有人員運(yùn)動(dòng)傳感器,在夜間我們起夜是使用柔和的光線來為你照亮前方的道路。 如果我們離家在外,家里的老人超過12小時(shí)無運(yùn)動(dòng)跡象,我們可以及時(shí)向你推送相關(guān)消息,可能我們來晚了,但我們還是來了。 我們有很的想法,但是當(dāng)我們止步不前時(shí),很多東西都會(huì)變成別人的成果! 我們這么做的目的是什么? 我們希望像我們這樣一類只會(huì)寫C代碼的人,能夠在智能家居或者居家養(yǎng)老這類相對比較定制化的市場里面有一席之地,我們通過購買已經(jīng)開源的硬件產(chǎn)品。自己修改代碼實(shí)現(xiàn)自己想要的功能,或者通過RDP來調(diào)用相關(guān)接口實(shí)現(xiàn)對于設(shè)備的遠(yuǎn)程讀取或控制,為客戶實(shí)現(xiàn)定制開發(fā),施展自己的才華從而獲得利潤! 未來的智能硬件,一定會(huì)向著個(gè)性化定制的方向移動(dòng)!對于智能硬件的制造將會(huì)是巨頭們的游戲,我們平民就學(xué)會(huì)使用并創(chuàng)造價(jià)值即可。如果不理解我們可以想一下電腦。做電腦的就那么幾家公司,但是靠電腦吃飯的就有很多! 對于智能硬件,開源并協(xié)助開發(fā)者快速投入市場將會(huì)是智能家居或者居家養(yǎng)老、安防等定制領(lǐng)域的風(fēng)口! 為了建立起ML_Network,我們需要哪些設(shè)備? 我們需要開關(guān)量執(zhí)行器,使用AC switch 或者繼電器來進(jìn)行控制;我們需要有PWM的調(diào)速控制,實(shí)現(xiàn)對風(fēng)扇或者電機(jī)的調(diào)速控制。我們需要人員運(yùn)動(dòng)傳感器、時(shí)間、日照、溫度傳感器;我們需要一個(gè)總控設(shè)備來建立起屬于用戶自己的控制邏輯。 如果你認(rèn)為這個(gè)ML_Network對于你有作用,我們希望與你合作!我們尋求知識(shí)產(chǎn)權(quán)、軟硬件開發(fā)、物料與方案供應(yīng)、生產(chǎn)等相關(guān)流程的協(xié)助。 如果您認(rèn)為您可以幫助到我們,歡迎關(guān)注我們的微信公眾號(hào):我們將在微信公眾號(hào)里面推送更多相關(guān)ML_Network 相關(guān)的開發(fā)進(jìn)度及我們需要的實(shí)際需求。 第二章 通信協(xié)議構(gòu)架說明 關(guān)于通信協(xié)議,我們做了很多的嘗試!因?yàn)橥ㄐ艆f(xié)議的問題讓我們的設(shè)備開發(fā)在經(jīng)歷了一段時(shí)間的積累后因?yàn)閰f(xié)議設(shè)計(jì)的局限性導(dǎo)致后期的設(shè)備屬性變得異常復(fù)雜。一個(gè)設(shè)備要想和另一個(gè)設(shè)備通信,需要對其中的一個(gè)設(shè)備通信協(xié)議進(jìn)行修改以便匹配對應(yīng)的邏輯關(guān)系。 我們不想每次都要重復(fù)以前的勞動(dòng),也因?yàn)檫@個(gè)原因,我們在不斷進(jìn)行著改版的測試。 這一次,我們想到了RDP的方式,每一個(gè)功能模塊都以同樣的接口形式出現(xiàn)。方便使用同一的標(biāo)準(zhǔn)來進(jìn)行規(guī)范。方便后期的多設(shè)備互聯(lián)通信。 協(xié)議的基礎(chǔ)構(gòu)架如下: 項(xiàng)目名稱 空間大小 備注 發(fā)送類別 1byte 用于指示發(fā)送端的類別碼,在協(xié)議中相當(dāng)于關(guān)鍵字用來識(shí)別使用什么樣的協(xié)議模式來進(jìn)行解析 發(fā)送序列 1byte 用于區(qū)別同一類別碼中不同的設(shè)備ID,防止因?yàn)橄到y(tǒng)中的設(shè)備過多發(fā)生沖突 發(fā)送序列號(hào) 1byte 用于指示發(fā)送包的序列號(hào),防止在雙向通行時(shí)重復(fù)接收 發(fā)送數(shù)據(jù)包長度 1byte 一個(gè)數(shù)據(jù)包的最大長度為32byte,可以進(jìn)行組包發(fā)送。數(shù)據(jù)從發(fā)送類別到LRC前的數(shù)據(jù)長度 接收類別 1byte 用于指示接收端的類別碼 接收序列 1byte 用于指示接收的設(shè)備ID號(hào) RDP1 keyword 1byte 用于指示本指令的具體命令 RDP1內(nèi)容 N byte 該出為協(xié)議的具體內(nèi)容部分 RDP2 keyword 1byte 用于指示本指令2的具體命令 RDP2內(nèi)容 N byte RDP2 協(xié)議具體內(nèi)容 RDPN keyword 1byte 用于指示本指令N的具體命令 RDP N內(nèi)容 N byte RDPN 協(xié)議具體內(nèi)容 LRC校驗(yàn) 1byte 用于確認(rèn)協(xié)議是否完整,從協(xié)議頭到RDPN的所有數(shù)據(jù)異或和 為什么ML_Network 需要有**類別、**序列? 對于一個(gè)網(wǎng)絡(luò)而言,我們需要對網(wǎng)絡(luò)里面的每一個(gè)成員分配一個(gè)唯一ID,使用類別+序列的方式可以實(shí)現(xiàn)分類管理,比如我們將ML_Network的成員分為主控、路由、執(zhí)行、傳感器這幾大類。設(shè)備里的成員需要知道使用什么樣的協(xié)議格式來繼續(xù)處理,而類別正好回答了我們的問題。使用序列的目的是為了區(qū)分同一系統(tǒng)里面因?yàn)橛卸鄠(gè)同類別的設(shè)備,防止設(shè)備控制沖突產(chǎn)生。 之所以使用收發(fā)雙向,是為了在通信協(xié)議中建立起收發(fā)應(yīng)答機(jī)制,同時(shí)加入序列號(hào)的目的是為了防止重復(fù)執(zhí)行的問題出現(xiàn)。 ML_Network中RDP的內(nèi)容長度是怎么進(jìn)行區(qū)分的? 我們使用sizeof()來測量一個(gè)結(jié)構(gòu)體的長度,在解析完一個(gè)RDP后,返回一個(gè)長度,計(jì)算偏移量后確定是否還要繼續(xù)或者退出解析。在早期的版本中,我們有一個(gè)內(nèi)容長度的指令來進(jìn)行偏移,這一版本中我們?nèi)サ袅耍饕怯脮r(shí)間來換空間。提高數(shù)據(jù)包的利用率。 ML_Network中的RDP的結(jié)構(gòu)內(nèi)容是怎么劃分的? Typedef struct { U8 ioSwitch :1; U8 ioRelay :1; }is_xxxio_rdp; Typedef struct { U8 key; U8 (*fun)(u8 *inBuf); }is_xxxFun; Typedef struct { U8 classID; U8 indexID; //U8 index ; //U8 *struct; }gs_Rdp; 按照上面的結(jié)構(gòu),我們將每一個(gè)RDP里面的放置一個(gè)KEY,以便程序快速的查找相關(guān)的RDP協(xié)議指令。 在ML_Network中我們將如何讓設(shè)備進(jìn)行相關(guān)的注冊和通信控制? 關(guān)于注冊: 在ML_Network中,如果一個(gè)設(shè)備想要控制另一個(gè)設(shè)備,必須將自己的類別和序列加入到gs_Rdp中,以便獲得相關(guān)的許可。 關(guān)于控制: 接收方對比了許可buf后,會(huì)判斷是否可以進(jìn)行相關(guān)的操作,如果可以則會(huì)根據(jù)接收類別碼跳轉(zhuǎn)到指定的協(xié)議構(gòu)架函數(shù)中,通過調(diào)用is_xxxFun結(jié)構(gòu)體的函數(shù)和key來找到合適的解析函數(shù)。 在完成解析函數(shù)的查找后,會(huì)進(jìn)行相關(guān)的控制指令操作,并隨后對該數(shù)據(jù)包進(jìn)行應(yīng)答操作。 我該如何獲取ML_Network 協(xié)議解析源碼? 關(guān)注我司微信公眾號(hào)(揚(yáng)州梓元節(jié)能:yzzyjn)并在公眾號(hào)中回復(fù)自己的收件人郵箱號(hào)后我們將在第一時(shí)間內(nèi)將相關(guān)的源碼發(fā)送到您指定的郵箱中,我們期望與您合作,共同將ML_Network生態(tài)系統(tǒng)建立起來,實(shí)現(xiàn)對設(shè)備的互聯(lián)互通! 第三章 設(shè)備注冊 對于一個(gè)系統(tǒng)級別的產(chǎn)品,因?yàn)槠鋽?shù)量相對龐大。我們需要使用一個(gè)統(tǒng)一的編碼規(guī)則來進(jìn)行相關(guān)類別設(shè)備的管理工作。 在本協(xié)議中,允許存在的類別數(shù)量為256種。下面按照一定的規(guī)則來進(jìn)行相關(guān)設(shè)備編碼的說明。 項(xiàng)目名稱 空間大小 備注 廠標(biāo) 2byte 用于識(shí)別是哪一家企業(yè)生產(chǎn)的 代理區(qū)域 3byte 廠家對于設(shè)備進(jìn)行區(qū)域控貨管理使用 物料類別碼 1byte 用于確認(rèn)設(shè)備所屬的類別,建立起基礎(chǔ)的產(chǎn)品分類 物料細(xì)分碼 2byte 各廠家自定義區(qū)域,用于對軟硬件版本號(hào)的識(shí)別或做它用 產(chǎn)品流水 4byte 各廠家生產(chǎn)流水號(hào) 防偽碼 8byte 該區(qū)域可以和315網(wǎng)站聯(lián)動(dòng)或廠家自建防偽編碼規(guī)則 建立起這樣的注冊編碼原因是為了實(shí)現(xiàn)對廠家產(chǎn)品的精確管理。實(shí)現(xiàn)對生產(chǎn)廠家和代理商的管理工作。 為什么要建立廠標(biāo)? 對于ML_Network 我們最終會(huì)將其聯(lián)網(wǎng)管理,我們的主機(jī)在未來將具備遠(yuǎn)程升級的能力!我們可以根據(jù)廠家的編碼去尋找對應(yīng)的新版本驅(qū)動(dòng)文件進(jìn)而實(shí)現(xiàn)對ML_Network中的設(shè)備精確控制與管理。 建立該標(biāo)識(shí)也是為了后面的驗(yàn)證與防偽工作。我們希望在這個(gè)系統(tǒng)里的每一個(gè)成員都能夠和睦的相處。并且通過大數(shù)據(jù)清楚的知道什么類別的設(shè)備用戶使用頻次最高,用戶的使用習(xí)慣行為是怎么樣的,進(jìn)而有針對性的進(jìn)行研發(fā)工作。 為什么有代理區(qū)域碼? 建立這個(gè)代理區(qū)域碼的目的是為了實(shí)現(xiàn)對代理商的控貨管理。同時(shí)可以根據(jù)平臺(tái)反饋回來的數(shù)據(jù)進(jìn)行區(qū)別實(shí)現(xiàn)對各個(gè)區(qū)域間的差別化分析,以便有目的性的進(jìn)行研發(fā)與推廣作業(yè)。 為什么有物料類別碼? 建立該物料類別碼的目的是為了實(shí)現(xiàn)設(shè)備在聯(lián)網(wǎng)注冊時(shí)可以快速的找到對應(yīng)的解析程序。同時(shí)也用于規(guī)范各個(gè)廠家間的基礎(chǔ)功能版本。 為什么有物料細(xì)分碼? 建立物料細(xì)分碼的目的是為了方便各個(gè)廠家對于自身產(chǎn)品的軟硬件版本管理,維護(hù)人員快速找到問題的原因及提供及時(shí)的維護(hù)建議。 為什么有產(chǎn)品流水? 建立該流水號(hào)的目的是為了廠家實(shí)現(xiàn)對產(chǎn)品的溯源管理,通過流水可以查找產(chǎn)品的是什么時(shí)候由誰生產(chǎn)或質(zhì)檢出來的。進(jìn)而有針對性的進(jìn)行產(chǎn)品品質(zhì)的管理工作。 為什么有防偽碼? 我們不想自己的系統(tǒng)被別人無情的山寨,我們希望通過聯(lián)網(wǎng)的方式,當(dāng)設(shè)備注冊的時(shí)候通過互聯(lián)網(wǎng)將防偽碼發(fā)送到各個(gè)廠家的平臺(tái)上,有各個(gè)廠家來授權(quán)是否通過驗(yàn)證。使用這樣的方式是為了實(shí)現(xiàn)ML_Network 的健康發(fā)展,我們從內(nèi)部建立起屬于自己的產(chǎn)品品控體系。為自己的生態(tài)系統(tǒng)建立一個(gè)有效的保障與管理機(jī)制。MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0 第三章 設(shè)備注冊 對于一個(gè)系統(tǒng)級別的產(chǎn)品,因?yàn)槠鋽?shù)量相對龐大。我們需要使用一個(gè)統(tǒng)一的編碼規(guī)則來進(jìn)行相關(guān)類別設(shè)備的管理工作。 在本協(xié)議中,允許存在的類別數(shù)量為256種。下面按照一定的規(guī)則來進(jìn)行相關(guān)設(shè)備編碼的說明。 項(xiàng)目名稱 空間大小 備注 廠標(biāo) 2byte 用于識(shí)別是哪一家企業(yè)生產(chǎn)的 代理區(qū)域 3byte 廠家對于設(shè)備進(jìn)行區(qū)域控貨管理使用 物料類別碼 1byte 用于確認(rèn)設(shè)備所屬的類別,建立起基礎(chǔ)的產(chǎn)品分類 物料細(xì)分碼 2byte 各廠家自定義區(qū)域,用于對軟硬件版本號(hào)的識(shí)別或做它用 產(chǎn)品流水 4byte 各廠家生產(chǎn)流水號(hào) 防偽碼 8byte 該區(qū)域可以和315網(wǎng)站聯(lián)動(dòng)或廠家自建防偽編碼規(guī)則 建立起這樣的注冊編碼原因是為了實(shí)現(xiàn)對廠家產(chǎn)品的精確管理。實(shí)現(xiàn)對生產(chǎn)廠家和代理商的管理工作。 為什么要建立廠標(biāo)? 對于ML_Network 我們最終會(huì)將其聯(lián)網(wǎng)管理,我們的主機(jī)在未來將具備遠(yuǎn)程升級的能力!我們可以根據(jù)廠家的編碼去尋找對應(yīng)的新版本驅(qū)動(dòng)文件進(jìn)而實(shí)現(xiàn)對ML_Network中的設(shè)備精確控制與管理。 建立該標(biāo)識(shí)也是為了后面的驗(yàn)證與防偽工作。我們希望在這個(gè)系統(tǒng)里的每一個(gè)成員都能夠和睦的相處。并且通過大數(shù)據(jù)清楚的知道什么類別的設(shè)備用戶使用頻次最高,用戶的使用習(xí)慣行為是怎么樣的,進(jìn)而有針對性的進(jìn)行研發(fā)工作。 為什么有代理區(qū)域碼? 建立這個(gè)代理區(qū)域碼的目的是為了實(shí)現(xiàn)對代理商的控貨管理。同時(shí)可以根據(jù)平臺(tái)反饋回來的數(shù)據(jù)進(jìn)行區(qū)別實(shí)現(xiàn)對各個(gè)區(qū)域間的差別化分析,以便有目的性的進(jìn)行研發(fā)與推廣作業(yè)。 為什么有物料類別碼? 建立該物料類別碼的目的是為了實(shí)現(xiàn)設(shè)備在聯(lián)網(wǎng)注冊時(shí)可以快速的找到對應(yīng)的解析程序。同時(shí)也用于規(guī)范各個(gè)廠家間的基礎(chǔ)功能版本。 為什么有物料細(xì)分碼? 建立物料細(xì)分碼的目的是為了方便各個(gè)廠家對于自身產(chǎn)品的軟硬件版本管理,維護(hù)人員快速找到問題的原因及提供及時(shí)的維護(hù)建議。 為什么有產(chǎn)品流水? 建立該流水號(hào)的目的是為了廠家實(shí)現(xiàn)對產(chǎn)品的溯源管理,通過流水可以查找產(chǎn)品的是什么時(shí)候由誰生產(chǎn)或質(zhì)檢出來的。進(jìn)而有針對性的進(jìn)行產(chǎn)品品質(zhì)的管理工作。 為什么有防偽碼? 我們不想自己的系統(tǒng)被別人無情的山寨,我們希望通過聯(lián)網(wǎng)的方式,當(dāng)設(shè)備注冊的時(shí)候通過互聯(lián)網(wǎng)將防偽碼發(fā)送到各個(gè)廠家的平臺(tái)上,有各個(gè)廠家來授權(quán)是否通過驗(yàn)證。使用這樣的方式是為了實(shí)現(xiàn)ML_Network 的健康發(fā)展,我們從內(nèi)部建立起屬于自己的產(chǎn)品品控體系。為自己的生態(tài)系統(tǒng)建立一個(gè)有效的保障與管理機(jī)制。 第三章 設(shè)備注冊實(shí)現(xiàn)方法 為了實(shí)現(xiàn)對從設(shè)備的注冊管理,我們需要建立起類似FAT文件系統(tǒng)來實(shí)現(xiàn)對文件的讀取與寫入操作。系統(tǒng)注冊文件按照固定的格式來進(jìn)行劃分,在先階段一個(gè)數(shù)據(jù)塊劃分出14個(gè)設(shè)備ID,第一個(gè)字節(jié)用于表示所屬類別,第二字節(jié)用于表示本系統(tǒng)中該類設(shè)備總量,第三個(gè)字節(jié)為相關(guān)詳細(xì)的ID,其中00表示無意義,一個(gè)塊的最后一個(gè)字節(jié)用來表示下一個(gè)鏈表的偏移地址。 為了實(shí)現(xiàn)對設(shè)備的管理,我們需要在本機(jī)里面做好記錄,以便主機(jī)可以快速的查找到對應(yīng)的設(shè)備ID號(hào),在通信的階段我們將使用本機(jī)的設(shè)備ID來設(shè)置通信地址,從設(shè)備使用主機(jī)加從設(shè)備分配ID來構(gòu)建一個(gè)通信ID,主機(jī)通過這個(gè)ID來和從設(shè)備通信,從設(shè)備使用主機(jī)+0xff來和主設(shè)備通信。 設(shè)備間的通信采用雙向應(yīng)答的方式來進(jìn)行。 在ML_Network的初始階段,我們采用的最基本的方案來實(shí)現(xiàn),在本模塊中僅實(shí)現(xiàn)了對設(shè)備的注冊和注銷管理,并不對設(shè)備的合法性進(jìn)行檢驗(yàn)并對設(shè)備的原始數(shù)據(jù)進(jìn)行讀取。 為什么ML_Network 使用兩個(gè)不同的設(shè)備ID來進(jìn)行通信? 我們使用RFID來進(jìn)行通信,為了降低各個(gè)聯(lián)網(wǎng)設(shè)備的通信壓力,并保證數(shù)據(jù)傳輸?shù)目煽啃裕涛覀儗γ恳粋(gè)設(shè)備都分配了一個(gè)獨(dú)立的ID號(hào),本機(jī)在默認(rèn)情況下僅監(jiān)聽該ID號(hào)的數(shù)據(jù)。如果一方需要對另一方通信,則需要找到對方的ID號(hào)來進(jìn)行通信,在完成發(fā)送后需要切換到本機(jī)的ID號(hào)進(jìn)行監(jiān)聽。 ML_Network 如何實(shí)現(xiàn)數(shù)據(jù)交互? 1、發(fā)起方主動(dòng)發(fā)起數(shù)據(jù),確認(rèn)發(fā)送成功; 2、發(fā)起方切換模式進(jìn)入接收狀態(tài); 3、接收方解析數(shù)據(jù)包并生成相關(guān)的應(yīng)答數(shù)據(jù)包; 4、接收方切換為發(fā)送模式,將數(shù)據(jù)包發(fā)送成功。接收放并不會(huì)使用自動(dòng)重發(fā)機(jī)制,有發(fā)起方通過軟件協(xié)議自行確定。 ML_Network 中的ID號(hào)是該如何進(jìn)行解析? 我們使用16位的設(shè)備ID號(hào)來進(jìn)行數(shù)據(jù)傳輸,分為4個(gè)區(qū)位,15-8位地址碼,用于在組網(wǎng)中來使用螞蟻算法快速的找到通信的設(shè)備位置坐標(biāo),7-4位主設(shè)備ID號(hào),3-1為從設(shè)備ID號(hào)。在這種配置模式下,一個(gè)主設(shè)備可以管理15個(gè)執(zhí)行和或傳感器。一個(gè)路由設(shè)備可以管理同時(shí)管理6個(gè)主設(shè)備。在一個(gè)系統(tǒng)里面最大允許存在254個(gè)路由設(shè)備。00xx為空地址。Ffxx為系統(tǒng)主控設(shè)備。 在這樣的體系構(gòu)架下面,如果僅使用多個(gè)主控設(shè)備可以彼此相互通信來實(shí)現(xiàn)傳感器的互聯(lián),實(shí)現(xiàn)對運(yùn)動(dòng)傳感器的誤動(dòng)作排除和或通過主控設(shè)備來橋接,對非本主控設(shè)備的管理。 我該如何獲得ML_Network 的注冊和注銷源碼? 關(guān)注我司微信公眾號(hào)(揚(yáng)州梓元節(jié)能:yzzyjn)并在公眾號(hào)中回復(fù)自己的收件人郵箱號(hào)后我們將在第一時(shí)間內(nèi)將相關(guān)的源碼發(fā)送到您指定的郵箱中,我們期望與您合作,共同將ML_Network生態(tài)系統(tǒng)建立起來,實(shí)現(xiàn)對設(shè)備的互聯(lián)互通! ML_Network 事件處理機(jī)制 對于常規(guī)的控制邏輯而言,在我的映像中應(yīng)該有兩種情況,一種是基于時(shí)間的事件,比如什么時(shí)間做什么事情,我們可以當(dāng)做鬧鐘來處理。另一個(gè)是標(biāo)志事件,比如:天冷了請注意保暖。拆分來看,天冷是標(biāo)志,請注意保暖是一個(gè)通知事件。對于鬧鐘事件,百度百科給出的定義是:既能指示時(shí)間,又能按人們預(yù)定的時(shí)刻發(fā)出音響信號(hào)或其他信號(hào)。我們可以簡單的認(rèn)為在什么時(shí)候做什么事情。 對于一個(gè)鬧鐘事件狀態(tài)機(jī)而言,我們需要定義的內(nèi)容如下: 1、告訴設(shè)備我需要安排一個(gè)事情:什么時(shí)間、什么周期 2、告訴設(shè)備如果運(yùn)行到這個(gè)時(shí)間點(diǎn)了,我們該處理什么事情。 3、如果我不想這個(gè)時(shí)間按照計(jì)劃發(fā)生了,如何取消。 對于一個(gè)周期性的事件而言,我們首先需要思考的是這樣一個(gè)事件的大體描述是怎么樣的?比如在我們的應(yīng)用中會(huì)有提示音事件,我們需要提示音在運(yùn)行到我們設(shè)定的時(shí)間后就自動(dòng)的取消掉。又或者是按鍵掃描事件,我們需要以固定的頻率來進(jìn)行輪詢,不間斷來進(jìn)行進(jìn)行操作。對于這類OPM 單觸發(fā)模式的事件而言,我們需要設(shè)定的內(nèi)容很少: 1、給我安排了一個(gè)什么樣的事情 2、這個(gè)事件大約需要執(zhí)行多久才可以取消 對于一個(gè)時(shí)間范圍事件,我們需要設(shè)定的在什么樣的時(shí)間尺度下進(jìn)行觀察和在什么樣的時(shí)間周期中進(jìn)行觀察。其次是如果這個(gè)時(shí)間范圍合適,我們該做什么事情。對于這樣的一個(gè)事件我們需要設(shè)定的內(nèi)容如下: 1、事件開始的時(shí)間: 2、事件結(jié)束的時(shí)間: 3、時(shí)間的參考標(biāo)準(zhǔn)是:1、系統(tǒng)時(shí)鐘;2、RTC時(shí)鐘; 4、什么事件。 5、取消該事件的辦法。 標(biāo)志事件的處理辦法。 抽 象的描述這個(gè)事件其實(shí)很簡單,比如:天黑開燈。對于我們而言,我們從沒有必要考慮事件的反面該如何處理,不是不考慮,只是我們沒有必要把任何一個(gè)事情都認(rèn) 為只有兩面,不是正就是反。其實(shí)在事件的處理過程中我們可能需要面對的事情要比這個(gè)復(fù)雜很多。對于一個(gè)標(biāo)志事件我們需要考慮的的內(nèi)容可以分為如下幾個(gè)部 分:如上所述,如果天黑我們是否要一直都保存燈亮,還是我們只是在天黑的那一刻開燈即可。這本身就是一個(gè)很復(fù)雜的邏輯。 對于標(biāo)志事件,我們在很多情況下處理的是OPM(單脈沖)模式,只是在事件發(fā)生的那一刻執(zhí)行一次即可。但也有可能需要連續(xù)的保持,比如處理報(bào)警類事件時(shí),如果事件沒有正確的處理,我們將需要將事件長時(shí)間的保持。 對于OPM模式的事件: 我們需要處理的內(nèi)容如下: 1、對事件標(biāo)志位使用情況進(jìn)行初始化并在將該事件綁定在對應(yīng)的標(biāo)志位上; 2、做出一個(gè)合適的接口來使外界來觸發(fā)該事件發(fā)生; 3、做出一個(gè)接口來使外界取消該事件的發(fā)生。 對于長時(shí)間維持事件,我們需要在標(biāo)志位沒有清除前始終保證該事件的可靠運(yùn)行。相對于OPM的模式,我們在執(zhí)行完一次該事件后我們不會(huì)立即清楚掉標(biāo)志而是繼續(xù)保持該標(biāo)志,直到其他事件將該標(biāo)志位清除為止。 對 于采用事件標(biāo)志位的方式來進(jìn)行控制,在沒有跑系統(tǒng)的程序中可能是一種浪費(fèi),因?yàn)槿缡录膱?zhí)行本身沒有長時(shí)間過程的話,完全可以直接調(diào)用而不用進(jìn)行復(fù)雜的關(guān) 聯(lián)操作。使用信號(hào)的方式來進(jìn)行處理的目的主要是為了方便控制邏輯層的編寫。將執(zhí)行成與業(yè)務(wù)成分離有助于后期的擴(kuò)展和或方便快速的對指令的本身做出應(yīng)答。Make devices running at right ,make your life better!




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 中文字幕永久 | 欧美久久一区 | 免费色片 | 亚洲黄色小视频 | 中文字幕在线观看一区二区三区 | 久久精品国产视频 | 欧美在线观看一区二区三区 | 亚洲精品一级 | 亚洲精品免费在线观看 | 亚洲精品91| 男女视频免费 | 国产乡下妇女三片 | 可以免费看黄色的网站 | 免费看a| 国产一区二区自拍 | 激情综合婷婷 | 日本一区二区三区在线视频 | 午夜激情网| 在线不欧美 | 91精品国自产在线观看 | 日韩欧美中文字幕在线观看 | 国产一区二区三区久久 | 午夜视频在线 | 午夜在线观看视频网站 | 奇米av | 涩涩久久| 成人av免费看 | 激情做爰呻吟视频舌吻 | 中文字幕日韩在线观看 | 天天操天天干天天 | 中文字幕在线免费观看 | 在线免费观看日韩av | 日本免费黄色网址 | 国产九九 | 国产欧美在线 | 欧美69式性猛交 | 婷婷综合色 | 中文字幕系列 | 亚洲成人免费av | 麻豆视频一区二区 | 欧美黄色片在线观看 |