五個(gè)技巧,讓傳感器變得更簡(jiǎn)單
傳感器的數(shù)量在整個(gè)地球表面和人們?nèi)兆又茉饪臻g激增,供給國(guó)際各種數(shù)據(jù)消息。這些價(jià)格親民的傳感器是物聯(lián)網(wǎng)(IoT)開(kāi)展和我們的社會(huì)正面對(duì)數(shù)字化革新,背面的驅(qū)動(dòng)力,但是,銜接和獲取來(lái)自傳感器的數(shù)據(jù)并不總是直線行進(jìn)或那么簡(jiǎn)略,以下有5個(gè)技巧以幫忙緩解工程師與傳輸接口到傳感器的榜首次戰(zhàn)役。
1先從總線東西開(kāi)端
榜首步,工程師應(yīng)當(dāng)采納初次介接到傳感器時(shí),是透過(guò)一個(gè)總線東西的辦法以約束不知道。一個(gè)總線東西銜接一臺(tái)個(gè)人計(jì)算機(jī)(PC),然后到傳感器的I2C、 SPI或其他可讓傳感器能夠“說(shuō)話”的協(xié)議。與總線東西相關(guān)的PC運(yùn)用程序,供給了一個(gè)已知與作業(yè)來(lái)歷用以發(fā)送和接納數(shù)據(jù),且不是不知道、未經(jīng)認(rèn)證的嵌入式微控制器(MCU)驅(qū)動(dòng)程序。在總線東西的作業(yè)環(huán)境下,開(kāi)發(fā)人員能夠傳送和接納消息以得到該部分怎么運(yùn)作的了解,在企圖于嵌入式等級(jí)操作之前。
2在Python編寫傳輸接口碼
一旦開(kāi)發(fā)者已測(cè)驗(yàn)運(yùn)用總線東西的傳感器,下一步就是為傳感器編寫運(yùn)用程序代碼。并非直接跳到微控制器的代碼,而是在Python編寫運(yùn)用程序代碼。許多總線 東西在編寫腳本(writing scripts)裝備了插件(plug-in)和典范碼,Python通常是跟著.NET中可用的言語(yǔ)之一。在Python編寫運(yùn)用程序是快速且簡(jiǎn)略的, 其并供給一個(gè)辦法已在運(yùn)用程序中測(cè)驗(yàn)傳感器,這個(gè)辦法并未如同在嵌入式環(huán)境測(cè)驗(yàn)的復(fù)雜。具有高層級(jí)的代碼,將使非嵌入式工程師易于發(fā)掘傳感器的腳本及測(cè) 試,而不需要一個(gè)嵌入式軟件工程師的照看。
3以Micro Python測(cè)驗(yàn)傳感器
在Python寫下榜首段運(yùn)用程序代碼的其中一個(gè)優(yōu)勢(shì)是,透過(guò)調(diào)用Micro Python,運(yùn)用程序調(diào)用到總線東西運(yùn)用程序編程接口(API)可易于進(jìn)行替換。Micro Python運(yùn)作在實(shí)時(shí)嵌入式軟件內(nèi),其中有許多傳感器可供工程師來(lái)了解其價(jià)值,Micro Python運(yùn)作在一個(gè)Cortex-M4處理器,且其是一個(gè)很好的環(huán)境,以從中為運(yùn)用程序代碼除錯(cuò)。不僅是簡(jiǎn)略的,這兒也不需要去寫I2C 或SPI驅(qū)動(dòng)程序,由于它們已被包括在Micro Python的函式庫(kù)中。(可在EDN網(wǎng)站閱覽Using Micro Python for real-time software development或5 Advantages of using Micro Python for Embedded Software Programming兩篇文章,以取得更多相關(guān)細(xì)節(jié)。)
4運(yùn)用傳感器供貨商代碼
任何能夠從傳感器制造商“搜括”到的典范碼,工程師需要走一段很長(zhǎng)的路才能了解傳感器怎么作業(yè)的原理。不幸的是,許多傳感器供貨商并非嵌入式軟件設(shè)計(jì)的專家,因此不要等待能夠發(fā)現(xiàn)一個(gè)可投入生產(chǎn)的美麗架構(gòu)和優(yōu)雅的比如。就運(yùn)用供貨商代碼,學(xué)習(xí)這部分怎么運(yùn)作,之后重構(gòu)的挫折感將呈現(xiàn),直到它能夠被干凈利索地整合到嵌入式軟件。它可能如“意大利面條般(spaghetti)”開(kāi)端,但運(yùn)用制造商對(duì)其傳感器怎么運(yùn)作的了解,在產(chǎn)品推出之前,將有助于削減許多得被銷毀的周末時(shí)刻。
5運(yùn)用一個(gè)傳感器交融函式庫(kù)
機(jī)會(huì)是,傳感器的傳輸接口并不是太新,且從前沒(méi)有人這么做過(guò)。已知的一切函式庫(kù),如由許多芯片制造商供給的“傳感器交融函式庫(kù)”,以幫忙開(kāi)發(fā)人員快速把握、 乃至更好,更可防止他們墮入重新開(kāi)發(fā)或大幅修正產(chǎn)品架構(gòu)的輪回。許多傳感器能夠被整合至一般類型或類別,而這些類型或類別將使驅(qū)動(dòng)程序順暢被開(kāi)發(fā),若處理妥當(dāng),幾乎是遍及或是少可重復(fù)運(yùn)用。尋覓這些傳感器交融函式庫(kù),并學(xué)習(xí)它們的長(zhǎng)處和矮處。
最終的主意
感測(cè)器被整合至嵌入式體系時(shí),有許多辦法能夠幫忙進(jìn)步設(shè)計(jì)時(shí)程和易用性。開(kāi)發(fā)者在開(kāi)端設(shè)計(jì)時(shí),透過(guò)一個(gè)高層次抽象概念,以及在把傳感器整合進(jìn)一個(gè)較低等級(jí)的 體系之前,學(xué)習(xí)傳感器怎么運(yùn)作,就肯定不會(huì)“走錯(cuò)路”。今日存在的眾多資源將可幫忙開(kāi)發(fā)人員“馬到成功”,而無(wú)須從頭開(kāi)端。