新聞中心

EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 基于Android的網(wǎng)絡(luò)車輛診斷與數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

基于Android的網(wǎng)絡(luò)車輛診斷與數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

作者:黃贊 莫長江 黃梓華 時(shí)間:2018-11-29 來源:電子產(chǎn)品世界 收藏
編者按:本文針對實(shí)現(xiàn)網(wǎng)絡(luò)化的車輛診斷與數(shù)據(jù)采集系統(tǒng),提出了一種基于Android線性鏈表的車輛信息采集并網(wǎng)絡(luò)存儲的設(shè)計(jì)方法。方案以藍(lán)牙OBDII(2nd On Board Diagnostics)硬件與Android程序?yàn)楹诵?,通過高效的線性鏈表方式讀取車輛行車數(shù)據(jù),在Android上以儀表盤等方式顯示,同時(shí)使用Android移動信號上傳到服務(wù)器,并搭建網(wǎng)站實(shí)現(xiàn)查詢、報(bào)表輸出等功能。系統(tǒng)程序使用DELPHI開發(fā),通過車輛實(shí)測,方案高效,性價(jià)比高,達(dá)到了車輛數(shù)據(jù)網(wǎng)絡(luò)化的目的。

作者 / 黃贊1 莫長江2 黃梓華1   1.嶺南師范學(xué)院 機(jī)電工程學(xué)院(廣東 湛江 524048)2.嶺南師范學(xué)院 信息工程學(xué)院(廣東 湛江 524048)

本文引用地址:http://2s4d.com/article/201811/395035.htm

  *基金項(xiàng)目:廣東省科技計(jì)劃項(xiàng)目(NO.2017A010102022);嶺南師范學(xué)院校級科研項(xiàng)目(NO.LY1806);2017年大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目

  黃贊(1971-),男,廣東湛江人,漢族,高級實(shí)驗(yàn)師/博士研究生,研究方向?yàn)榫軠y量與計(jì)算機(jī)視覺。

摘要:本文針對實(shí)現(xiàn)網(wǎng)絡(luò)化的車輛診斷與數(shù)據(jù)采集系統(tǒng),提出了一種基于Android的車輛信息采集并網(wǎng)絡(luò)存儲的設(shè)計(jì)方法。方案以OBDII(2nd On Board Diagnostics)硬件與Android程序?yàn)楹诵?,通過高效的方式讀取車輛行車數(shù)據(jù),在Android上以儀表盤等方式顯示,同時(shí)使用Android移動信號上傳到服務(wù)器,并搭建網(wǎng)站實(shí)現(xiàn)查詢、報(bào)表輸出等功能。系統(tǒng)程序使用DELPHI開發(fā),通過車輛實(shí)測,方案高效,性價(jià)比高,達(dá)到了車輛數(shù)據(jù)網(wǎng)絡(luò)化的目的。

  行車安全是車輛設(shè)計(jì)與行駛的第一要素,而利用OBDII接口取得車輛的各項(xiàng)運(yùn)行參數(shù),可為車輛必備的ECU(Electronic Control Unit)的設(shè)計(jì)提供數(shù)據(jù)支撐,同樣也可使得最終用戶對于車輛的車況能有更全面的了解。車輛裝配企業(yè)進(jìn)行車輛測試時(shí),需要大量的汽車數(shù)據(jù),這種數(shù)據(jù)并不單純是顯示在儀表中,或者是單機(jī)設(shè)備文件中,更需要把診斷終端在各臺車輛設(shè)備的數(shù)據(jù)通過網(wǎng)絡(luò)保存到服務(wù)器中,進(jìn)行后期的查詢、分析工作。

  普通市面上與文獻(xiàn)上的OBDII設(shè)備并不能滿足其多終端車輛數(shù)據(jù)采集的功能[1,2],如參考文獻(xiàn)1與2,有的沒有實(shí)現(xiàn)網(wǎng)絡(luò)化數(shù)據(jù)采集的功能;有的雖然使用了GPRS模塊實(shí)現(xiàn)采集,但并沒有使用Android且只對故障碼與GPS位置進(jìn)行了采集,沒有本地故障碼清除、行車儀表數(shù)據(jù)顯示等功能,硬件成本較高,不能滿足本地ECU制造企業(yè)的需求。因此根據(jù)企業(yè)實(shí)際要求,設(shè)計(jì)并開發(fā)了一種在Android智能終端上使用實(shí)現(xiàn)數(shù)據(jù)儀表顯示、本機(jī)車輛故障碼清除、行車數(shù)據(jù)采集的網(wǎng)絡(luò)系統(tǒng)方案。

1 系統(tǒng)整體設(shè)計(jì)

  1.1 需求分析

  根據(jù)相關(guān)調(diào)查機(jī)構(gòu)的數(shù)據(jù)統(tǒng)計(jì)[3], Android在2017年度中國智能手機(jī)市場,“安卓繼續(xù)同比增長,如今占據(jù)智能手機(jī)銷量的87.2%”,意味著在中國十部智能手機(jī)中,幾乎有九部都搭載的是Android操作系統(tǒng)。本系統(tǒng)設(shè)計(jì)使用Android做為診斷終端介質(zhì),可達(dá)到較好的性價(jià)比與用戶接受度。

  車輛數(shù)據(jù)采集在底層依賴OBDII與ECU的通訊,可以讀取ECU掌握車輛的各個(gè)參數(shù),如進(jìn)氣壓力、節(jié)氣門相對位置、發(fā)動機(jī)轉(zhuǎn)速、缸壁溫度、點(diǎn)火提前角、速度、車輛故障碼等數(shù)值。而車輛數(shù)值需通過Android手機(jī)進(jìn)行各數(shù)值的實(shí)時(shí)顯示、網(wǎng)絡(luò)集中上傳到服務(wù)器提供查詢與報(bào)表輸出功能,同時(shí)Android App能對車輛故障碼進(jìn)行查詢與清除工作。

  1.2 整體設(shè)計(jì)

  通過需求分析,可劃分工程模塊,實(shí)現(xiàn)車輛參數(shù)顯示、故障診斷、網(wǎng)絡(luò)傳輸?shù)亩喙δ艿能囕v數(shù)據(jù)系統(tǒng)設(shè)計(jì)。

  (1)設(shè)計(jì)OBDII接口的電路,使得接口電路能讀取車輛參數(shù),并由藍(lán)牙接口與Android軟件進(jìn)行交互。

  (2)設(shè)計(jì)Android軟件,并研究OBDII協(xié)議,藍(lán)牙接口,實(shí)現(xiàn)藍(lán)牙通訊、網(wǎng)絡(luò)通訊、數(shù)值顯示、故障診斷與清除等功能。

  (3)設(shè)計(jì)網(wǎng)絡(luò)通訊服務(wù)器接收程序,用于接收智能終端的數(shù)據(jù)上傳;設(shè)計(jì)服務(wù)器網(wǎng)站系統(tǒng),用于查詢終端上傳的數(shù)據(jù)等等。

  而在開發(fā)環(huán)境上,統(tǒng)一使用DELPHI語言開發(fā)(2)(3)的功能程序,可提高系統(tǒng)的兼容性與開發(fā)效率?;镜南到y(tǒng)框圖如圖1所示。

2 硬件設(shè)計(jì)

  硬件電路包含了兩大部分:

  (1)OBDII專用芯片。芯片采用ELM327芯片[4],通過它提供的各種接口(K line、CAN等)與車輛ECU連接,可獲取車輛診斷信息,多用于故障碼讀取、清除、各參數(shù)讀取等應(yīng)用。

  (2)藍(lán)牙接口模塊。藍(lán)牙模塊采用HC-08[5],本模塊為串口藍(lán)牙模塊,使用它的TTL串口與ELM327芯片的串口交叉相連,可把OBDII的串口轉(zhuǎn)成藍(lán)牙串口,這樣,就形成了與Android系統(tǒng)的藍(lán)牙進(jìn)行通訊的鏈路。

  另外,包括了汽車電瓶12 V電源輸出轉(zhuǎn)5 V的電源部分電路與車輛的物理16針的診斷接口等,得到硬件電路圖2。

3 軟件設(shè)計(jì)

  3.1 Android端軟件框架

  Android軟件使用Embarcadero公司的DELPHI Seattle[6]版本開發(fā),基于面向?qū)ο驪ASCAL語言,突出優(yōu)勢在于跨平臺的編譯系統(tǒng),可實(shí)現(xiàn)一次編碼,多次編譯,即同一套代碼可編譯出在Windows、Android、IOS不同系統(tǒng)上運(yùn)行的不同的目標(biāo)程序,提高了工作效率。

  利用市場占有率高的Android系統(tǒng)作為開發(fā)目標(biāo)系統(tǒng),綜合使用多窗體技術(shù)、SQLite數(shù)據(jù)庫技術(shù)、內(nèi)置藍(lán)牙控件與GPS控件、TeeChart儀表與圖表顯示[7]第三方控件,實(shí)現(xiàn)系統(tǒng)的設(shè)置、通信、顯示、本地記錄、繪制數(shù)據(jù)時(shí)間-數(shù)值曲線圖、數(shù)據(jù)上傳與車輛信息獲取等OBDII功能。

  3.2 基于線性鏈表的藍(lán)牙通訊模塊

  3.2.1 OBDII協(xié)議命令與故障診斷

  ELM327支持OBDII通訊協(xié)議,并分成兩大類,通過串口通訊,發(fā)送ASCII碼,其中一類為AT命令,包含如“AT BRT”等諸如波特率的配置命令,如果不是以“AT”開頭的,ELM327芯片則認(rèn)為是對車輛的OBDII命令,通常有9個(gè)模式,如表1所示。

  每個(gè)模式下面都可能有若干個(gè)子命令,則發(fā)送對應(yīng)命令時(shí),第一個(gè)字節(jié)發(fā)送模式序號字節(jié),第2、3個(gè)字節(jié)則發(fā)送該模式下的子命令字節(jié),這些字節(jié)值稱為PID(parameter identification)。比如,發(fā)送:01 0C,表示顯示引擎rpm轉(zhuǎn)速,可能得到的回復(fù)是:41 0C 1A F8。回復(fù)的一個(gè)字節(jié)為對應(yīng)01+40=41,第二個(gè)是對應(yīng)的PID值0C,而第三、四個(gè)1A、F8則是需要的rpm值,通過協(xié)議的公式轉(zhuǎn)化,轉(zhuǎn)速根據(jù)公式(1)得到:

  基于Android公式1.jpg(1)

  具體每個(gè)PID的含義與回復(fù)協(xié)議,可參看SAE J1979或者ISO 15031-5標(biāo)準(zhǔn)。除了獲得PID參數(shù),根據(jù)表1,發(fā)送03命令,并解釋返回,可得到車輛對應(yīng)的故障碼。故障碼返回如果不為“P0000”,則表示存在車輛故障,可根據(jù)返回的具體代碼查表獲得故障信息,而Android App獲得具體代碼后,可自動查表,顯示中文故障信息,比傳統(tǒng)的故障診斷儀更具優(yōu)勢。而發(fā)送04命令,可清除車輛故障碼?;谝陨蟽蓷l命令,可實(shí)現(xiàn)車輛故障診斷儀的功能。

  3.2.2 Android藍(lán)牙的實(shí)現(xiàn)

  本系統(tǒng)的Android藍(lán)牙[8]利用Delphi Seattle內(nèi)建System.Bluetooth.pas單元的藍(lán)牙功能,包含了若干的藍(lán)牙類:TBluetoothManager、TBluetoothDeviceList、TBluetoothAdapter、TBluetoothDevice、TBluetoothService、TBluetoothServiceList、TBluetoothSocket。而特別對于串口藍(lán)牙而言,TBluetoothService指遠(yuǎn)端藍(lán)牙設(shè)備服務(wù),包括服務(wù)名和UUID兩個(gè)參數(shù),并分別規(guī)定為 'SerialPort Service'和'{00001101-0000-1000-8000-00805F9B34FB}'。

  根據(jù)以上藍(lán)牙類,調(diào)用對應(yīng)的函數(shù),具體實(shí)現(xiàn)步驟為:獲得藍(lán)牙配對設(shè)備列表、選定一個(gè)已配對藍(lán)牙進(jìn)行配對操作、獲取已配對設(shè)備服務(wù)列表、判斷如果含有串口服務(wù),則可為藍(lán)牙讀寫線程建立socket連接與初始化工作。

  設(shè)置Fsocket為藍(lán)牙socket全局變量,則Android寫藍(lán)牙函數(shù)為socket.sendData(ToSend),其中ToSend為發(fā)送字節(jié)數(shù)組類型system.sysutils.Tarray,要發(fā)送的數(shù)值可放入可變長度的字節(jié)型數(shù)組統(tǒng)一發(fā)送;Android讀藍(lán)牙函數(shù)為Fdata:=Fsocket.readData,F(xiàn)data為返回值,與ToSend數(shù)據(jù)類型一致,讀取返回值后訪問該變長字節(jié)數(shù)組,根據(jù)OBDII命令通信協(xié)議,可解釋每個(gè)字節(jié)的含義,得到對應(yīng)的參數(shù)值。該讀藍(lán)牙函數(shù)為阻塞型函數(shù),必須放入子線程執(zhí)行。

  3.2.3 頭尾插入式線性鏈表算法應(yīng)用于藍(lán)牙通訊

  線性鏈表是指有鏈接存儲結(jié)構(gòu)的線性表,它用一組地址動態(tài)分配的單元存放線性表中的數(shù)據(jù)元素,一般用結(jié)點(diǎn)描述:結(jié)點(diǎn)(表示數(shù)據(jù)元素) =數(shù)據(jù)域(數(shù)據(jù)元素的映象) + 指針域(指示后繼元素存儲位置)。線性鏈表大概可分為單向線性鏈表、雙向線性鏈表,循環(huán)線性鏈表[9]。

  鑒于OBDII協(xié)議命令的發(fā)送規(guī)律,算法上采用雙向線性鏈表,循環(huán)線性鏈表都不太合適,因此采用頭尾插入式單向線性鏈表。

  一般的單向線性鏈表都在頭部讀取元素,尾部插入元素的FIFO(Fisrt In First Out)處理算法,而系統(tǒng)采用頭尾插入式單向線性鏈表算法,把優(yōu)先級高的命令元素立刻插入頭部,否則還是按照原算法插入鏈表尾部。在系統(tǒng)實(shí)現(xiàn)中,當(dāng)用戶界面并不急切顯示其命令返回結(jié)果時(shí),依次進(jìn)行順序發(fā)送,使用鏈表尾插入方式增加鏈表節(jié)點(diǎn);反之,當(dāng)其命令的執(zhí)行效果需要馬上在軟件界面體現(xiàn),則使用鏈表頭插入方式增加鏈表節(jié)點(diǎn),使得需要盡快執(zhí)行的OBDII命令插隊(duì)到第一執(zhí)行,例如用戶界面切換到用戶查詢與消除故障碼時(shí),需要馬上得到系統(tǒng)響應(yīng),就要使用在鏈表頭插入節(jié)點(diǎn)命令的方法去避免用戶長時(shí)間的等待。實(shí)踐證明,當(dāng)出現(xiàn)用戶車輛故障碼查找與消除界面時(shí),命令插入連表頭,可馬上得到響應(yīng),快速實(shí)現(xiàn)車輛故障碼顯示及清除故障碼的動作。鏈表的插入與讀取(刪除)如圖4所示。

  本單向線性鏈表數(shù)據(jù)域?yàn)閙yData,數(shù)據(jù)類型為字節(jié)數(shù)組,可存儲OBDII命令字節(jié),指針域?yàn)閚ext,指向下一個(gè)元素存儲位置。另外,基于面向?qū)ο蟮木幊趟季S,把頭尾插入式單向線性鏈表的操作實(shí)現(xiàn)封裝成了TsingleQueue類,類包含頭尾指針定義、初始化鏈表方法、增加節(jié)點(diǎn)方法、刪除節(jié)點(diǎn)方法與清空鏈表方法等。

  其中,類方法中增加節(jié)點(diǎn)addQueue方法為實(shí)現(xiàn)頭尾插入式單向線性鏈表的核心方法,參照圖4中在鏈表頭插入節(jié)點(diǎn)p與在鏈表尾插入節(jié)點(diǎn)p的原理,具體實(shí)現(xiàn)如下:

  function TsingleQueue.addQueue(ele:dataArr;headOrRear:boolean):boolean;

  var

  p:sQueue;

  begin

  new(p); //動態(tài)分配內(nèi)存節(jié)點(diǎn)

  p^.myData:=ele;//節(jié)點(diǎn)中的數(shù)據(jù)域賦值

  if (headOrRear=true) or (head=rear) then

  //如果是在鏈表尾部或者空鏈表插入節(jié)點(diǎn)

  begin

  P^.next:=nil;

  rear^.next:=p;

  rear:=p;

  end

  else //如果是在鏈表頭部插入節(jié)點(diǎn)

  begin

  p^.next:=head^.next;

  head^.next:=p;

  end;

  result:=true;

  isEmpty:=false; //非空鏈表標(biāo)記

  end;

  在主程序中,使用sq:=TsingleQueue.create生成鏈表,sq.initQueue方法初始化鏈表后,為了增強(qiáng)用戶體驗(yàn),數(shù)據(jù)處理不能放在用戶界面主線程,以免程序響應(yīng)時(shí)間過長,照成用戶界面假死,需使用多線程[10]后臺操作該線性鏈表類,并注意多線程的臨界區(qū)操作,定義cs:TcriticalSection,避免出現(xiàn)多線程調(diào)用時(shí),造成因非線程安全引起的鏈表數(shù)據(jù)錯(cuò)誤,線程核心代碼如下:

  while not Terminated do

  begin

  cs.Enter;//進(jìn)入臨界區(qū)

  tmp:=sq.delQueue;

  //讀取并刪除線性鏈表的首個(gè)OBDII命令

  cs.Leave;//離開臨界區(qū)

  setLength(toSend,5);//分配命令數(shù)組

  for i:= Low(tosend) to High(tosend) do

  toSend[i]:=tmp[i];//OBDII命令數(shù)組賦值

  if toSend[0]<>0 then

  begin

  mainform.FSocket.SendData(ToSend);//使用藍(lán)牙端口發(fā)送OBDII命令

  receivedBT;//讀藍(lán)牙返回值并解釋存儲

  end;

  end;

  3.3 服務(wù)器模塊

  為實(shí)現(xiàn)多終端數(shù)據(jù)網(wǎng)絡(luò)采集功能的特殊需求,需設(shè)計(jì)服務(wù)器數(shù)據(jù)庫,系統(tǒng)采用了MSSQLSERVER關(guān)系型數(shù)據(jù)庫,設(shè)計(jì)有車輛信息表、用戶表、設(shè)置表與車輛數(shù)據(jù)表以及對應(yīng)的數(shù)據(jù)庫存儲過程、觸發(fā)器程序等。

  而系統(tǒng)中間件DataSnap[11]中間件在服務(wù)器中實(shí)現(xiàn)接收終端數(shù)據(jù),并存入數(shù)據(jù)庫的功能,采用的DataSnap核心基于JSON與HTTP REST的跨平臺標(biāo)準(zhǔn)。程序主要使用了FIREDAC數(shù)據(jù)庫組件進(jìn)行對數(shù)據(jù)庫的讀寫控制,WebModuleUnit實(shí)現(xiàn)HTTP接口,ServerMethodUnit實(shí)現(xiàn)數(shù)據(jù)庫連接、數(shù)據(jù)表讀寫與存儲過程控制。

  而服務(wù)器的另一個(gè)功能是網(wǎng)站發(fā)布。使用DELPHI+uniGUI的模式進(jìn)行網(wǎng)站開發(fā),編程設(shè)計(jì)網(wǎng)站讀取用戶手機(jī)終端上傳到數(shù)據(jù)庫的各項(xiàng)PID數(shù)據(jù)、經(jīng)緯度數(shù)據(jù)等信息并顯示在瀏覽器上,可實(shí)現(xiàn)查詢數(shù)據(jù)、報(bào)表輸出的功能。

  4 工程實(shí)測與結(jié)論

  Android手機(jī)為小米Note電信增強(qiáng)版,版本4.4.4KTU84P,MIUI5,車輛選用北京現(xiàn)代瑞納VERNA做為實(shí)測車輛。硬件接入車輛的OBDII接口后,打開本系統(tǒng)設(shè)計(jì)的Android軟件,并運(yùn)行服務(wù)器的DataSnap中間件服務(wù)器接收參數(shù),IIS網(wǎng)站服務(wù)器發(fā)布編寫好的網(wǎng)站。

  經(jīng)測試,本系統(tǒng)能查詢并消除車輛故障碼的功能,正常讀取車輛的各項(xiàng)核心數(shù)據(jù),并成功上傳至服務(wù)器存儲,通過網(wǎng)頁訪問,可得到多終端各個(gè)車輛的數(shù)據(jù),達(dá)到了預(yù)期的設(shè)計(jì)要求,并通過了企業(yè)的驗(yàn)收。終端讀取車輛實(shí)時(shí)數(shù)據(jù)如圖5所示。(1)為車輛怠速時(shí)的儀表顯示頁面;(2)為車輛正常行駛時(shí)的儀表顯示頁面;(3)(4)為車輛正常行駛時(shí)的部分PID數(shù)據(jù)。

  而圖6為瀏覽器中顯示是服務(wù)器網(wǎng)站的頁面之一:網(wǎng)絡(luò)采集的部分車輛PID信息網(wǎng)絡(luò)頁面,該網(wǎng)站頁面由uniGUI技術(shù)編程生成,可通過數(shù)據(jù)生成日期進(jìn)行查詢,亦可通過車輛識別碼進(jìn)行聯(lián)合查詢(車輛識別碼由企業(yè)自主生成),而查詢結(jié)果可生成打印報(bào)表輸出,企業(yè)用戶可利用報(bào)表數(shù)據(jù),分析ECU對車輛在各個(gè)狀態(tài)時(shí)的控制效果,調(diào)整與匹配車輛的各項(xiàng)參數(shù),實(shí)現(xiàn)了既定功能。

  通過線性鏈表與多線程等關(guān)鍵技術(shù)在藍(lán)牙通訊中的工程應(yīng)用,一方面提高了通訊可靠性,另一方面,程序運(yùn)行界面無停滯死機(jī),提升了用戶體驗(yàn),而利用了Android移動互聯(lián)網(wǎng)、 OBDII協(xié)議的網(wǎng)絡(luò)車輛數(shù)據(jù)采集系統(tǒng)具有性價(jià)比高、用戶交互性強(qiáng)等特性,可直接應(yīng)用于車輛的診斷、實(shí)時(shí)數(shù)據(jù)網(wǎng)絡(luò)監(jiān)測、GPS定位等項(xiàng)目需求。

  參考文獻(xiàn):

  [1]潘益斌,張海峰.基于OBD的汽車數(shù)據(jù)采集及捕獲系統(tǒng)設(shè)計(jì)[J].杭州電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2015:45-48.

  [2]楊彬,周建武.基于OBDII和GPRS遠(yuǎn)程汽車故障診斷系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2012(09):209-212.

  [3]Kantar:2017年中國智能手機(jī)市場Android份額高達(dá)87%[EB/OL].(2018-9-20) [2017-5-12] http://tech.sina.com.cn/roll/2017-05-13/doc-ifyfecvz1148686.shtml

  [4]Elm Electronics.ELM327 OBD to Rs232 Interpreter[EB/OL].(2016-05-13) [2016-09-13]http://wenku.baidu.com/link?url=7QV1b8sAtvp90L82s94895SajqTE_5FYdohhlbmX0wUFxW9MetB5t27wfhyXu2YDA-6zqn983vr86p-u8nZK2ybTUii3Xm7TqB_xa_wF3I7

  [5]匯承信息科技.HC-08藍(lán)牙串口通信模塊用戶手冊V2.4 [EB/OL].(2016-07-26) [2016-09-28]http://www.wavesen.com/mysys/db_picture/news3/2016726165447101.pdf

  [6] 黃春香,楊奕.基于Delphi的PC機(jī)與AVR單片機(jī)的串行通訊[J].儀表技術(shù)與傳感器,2012(06):112-114.

  [7] 蔡黎,代妮娜,鄧明.基于OBD協(xié)議的Android平臺汽車虛擬儀表設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2011,37(12):91-94.

  [8] Thomas Soderholm.簡化低功耗藍(lán)牙醫(yī)療設(shè)備的設(shè)計(jì)[J].電子產(chǎn)品世界,2018,25(05):63-64+70.

  [9]楊澤林,李先發(fā). 基于雙指針環(huán)形緩沖區(qū)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2016,11:67-69.

  [10]許健,于鴻洋.一種Linux多線程應(yīng)用下內(nèi)存池的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2012,38(11):146-149.

  [11]劉磊.基于Datasnap技術(shù)的信貸管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2006,6(17):2766-2768.

  本文來源于《電子產(chǎn)品世界》2018年第12期第39頁,歡迎您寫論文時(shí)引用,并注明出處。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉