亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種海洋浮標(biāo)岸站的軟件設(shè)計(jì)與實(shí)現(xiàn)

        2021-12-04 19:30:33田炳麗胡坤劉志豪
        機(jī)電信息 2021年27期

        田炳麗 胡坤 劉志豪

        摘要:岸站是海洋浮標(biāo)系統(tǒng)的重要組成部分。基于此,對(duì)岸站總體設(shè)計(jì)進(jìn)行了描述,介紹了接口設(shè)計(jì),并針對(duì)各部分程序的運(yùn)行流程,創(chuàng)新性地提出了利用JSON進(jìn)行文件的配置和存儲(chǔ),JSON易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,且能有效提升網(wǎng)絡(luò)傳輸效率。該軟件應(yīng)用到實(shí)際的海洋浮標(biāo)中,獲得了較好的效果。

        關(guān)鍵詞:海洋浮標(biāo);岸站;Ubuntu

        0 引言

        海洋浮標(biāo)是觀測(cè)大氣和海洋參數(shù)最重要的平臺(tái)之一,其中觀測(cè)的氣象傳感器有風(fēng)速風(fēng)向傳感器、氣溫傳感器、氣壓傳感器、相對(duì)濕度傳感器、長(zhǎng)波輻射傳感器、短波輻射傳感器等;觀測(cè)的水下傳感器有海水溫度傳感器、鹽度傳感器、深度傳感器等。浮標(biāo)數(shù)據(jù)采集控制器按照一定的觀測(cè)要求采集數(shù)據(jù)后,每3 h通過(guò)銥星模塊把數(shù)據(jù)從浮標(biāo)端發(fā)送到岸站端,岸站有自動(dòng)運(yùn)行的軟件接收、處理浮標(biāo)數(shù)據(jù)。本文設(shè)計(jì)了一種海洋浮標(biāo)岸站的軟件,并且基于Ubuntu18.04×64位系統(tǒng)上的gcc version 7.4.0編譯器編譯生成在此系統(tǒng)下的可執(zhí)行文件[1-2]。

        1 軟件總體設(shè)計(jì)

        1.1? ? 軟件設(shè)計(jì)需求

        (1)實(shí)時(shí)接收浮標(biāo)返回的數(shù)據(jù);(2)以相應(yīng)格式存儲(chǔ)采集到的數(shù)據(jù);(3)相應(yīng)時(shí)間內(nèi)存儲(chǔ)的數(shù)據(jù)通過(guò)FTP推送給客戶。

        1.2? ? 軟件結(jié)構(gòu)

        系統(tǒng)軟件結(jié)構(gòu)圖如圖1所示,軟件包含配置解析、數(shù)據(jù)獲取、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)推送等部分,各部分負(fù)責(zé)不同的任務(wù)。

        1.3? ? 系統(tǒng)運(yùn)行流程

        程序總的運(yùn)行流程圖如圖2所示,系統(tǒng)開機(jī)讀取配置,得到通信的銥星號(hào)碼,創(chuàng)建串口的監(jiān)聽(tīng)線程,每3 h從岸站端給浮標(biāo)端撥號(hào),撥號(hào)成功后,在監(jiān)聽(tīng)到串口收到數(shù)據(jù)時(shí),將數(shù)據(jù)保存。當(dāng)接收完一包數(shù)據(jù)時(shí),首先按照相應(yīng)的格式存儲(chǔ)數(shù)據(jù),其次調(diào)用事先保存到程序執(zhí)行目錄的FTP腳本文件將數(shù)據(jù)保存目錄文件夾進(jìn)行FTP上傳,推送給客戶。

        2 接口設(shè)計(jì)

        岸站系統(tǒng)的通信接口有串口、網(wǎng)口。圖3列出了系統(tǒng)的全部接口,裝有Ubuntu系統(tǒng)的PC機(jī)通過(guò)多串口拓展器與銥星模塊相連,通過(guò)網(wǎng)線連接至互聯(lián)網(wǎng)。浮標(biāo)數(shù)據(jù)通過(guò)銥星模塊的串口輸入至岸站程序,岸站程序在采集保存后進(jìn)行FTP推送。

        其中,多串口拓展器(圖4)具備防浪涌設(shè)計(jì),RS232和USB端口都增加了防浪涌保護(hù),避免因地線回路電樁、浪涌、感應(yīng)雷擊、靜電、頻繁插拔燒損接回等環(huán)境因素對(duì)設(shè)備的損毀,從而提高系統(tǒng)抗干擾特性(設(shè)備運(yùn)營(yíng)穩(wěn)定性)。由于浮標(biāo)與岸站的傳輸是跨海長(zhǎng)距離通信,此串口轉(zhuǎn)換器內(nèi)部帶有零延時(shí)自動(dòng)收發(fā)功能,抗干擾,有利于較長(zhǎng)距離的數(shù)據(jù)通信。

        3 各部分程序運(yùn)行流程

        3.1? ? 配置解析程序

        配置文件采用JSON格式編寫,JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,它基于ECMAScript(歐洲計(jì)算機(jī)協(xié)會(huì)制定的js規(guī)范)的一個(gè)子集,采用完全獨(dú)立于編程語(yǔ)言的文本格式來(lái)存儲(chǔ)和表示數(shù)據(jù)。簡(jiǎn)潔和清晰的層次結(jié)構(gòu)使得JSON成為理想的數(shù)據(jù)交換語(yǔ)言,易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,且能有效提升網(wǎng)絡(luò)傳輸效率。

        本程序采用C語(yǔ)言編寫,在解析配置文件時(shí),采用了C語(yǔ)言的標(biāo)準(zhǔn)JSON庫(kù)進(jìn)行解析,主要從JSON格式的配置文件中解析出浮標(biāo)位置、任務(wù)計(jì)劃名稱和通信銥星號(hào)碼等,如圖5所示。在程序執(zhí)行時(shí),首先讀取JSON配置文件,然后將JSON文件解析保存到定義的全局結(jié)構(gòu)體變量中,作為之后函數(shù)調(diào)用的入口參數(shù)。

        3.2? ? 數(shù)據(jù)獲取程序

        數(shù)據(jù)獲取主要是創(chuàng)建了一個(gè)串口的監(jiān)聽(tīng)線程實(shí)現(xiàn)程序的并發(fā)性。多線程和進(jìn)程相比,是一種非常“節(jié)儉”的多任務(wù)操作方式。在Linux系統(tǒng)下,啟動(dòng)一個(gè)新的進(jìn)程必須分配給它獨(dú)立的地址空間,建立眾多的數(shù)據(jù)表來(lái)維護(hù)它的代碼段、堆棧段和數(shù)據(jù)段,是一種“昂貴”的多任務(wù)工作方式。而運(yùn)行于一個(gè)進(jìn)程中的多個(gè)線程,它們彼此之間使用相同的地址空間,共享大部分?jǐn)?shù)據(jù),啟動(dòng)一個(gè)線程所占用的空間遠(yuǎn)遠(yuǎn)小于啟動(dòng)一個(gè)進(jìn)程所占用的空間,而且,線程間彼此切換所需的時(shí)間也遠(yuǎn)遠(yuǎn)小于進(jìn)程間切換所需要的時(shí)間。對(duì)不同進(jìn)程來(lái)說(shuō),它們具有獨(dú)立的數(shù)據(jù)空間,數(shù)據(jù)的傳遞只能通過(guò)通信的方式進(jìn)行,這種方式不僅費(fèi)時(shí),而且很不方便。線程則不然,由于同一進(jìn)程下的線程之間共享數(shù)據(jù)空間,所以一個(gè)線程的數(shù)據(jù)可以直接為其他線程所用,這不僅快捷,而且方便。

        數(shù)據(jù)獲取線程流程圖如圖6所示。在線程創(chuàng)建后便開始執(zhí)行線程,首先設(shè)置了Select多路復(fù)用串口的超時(shí)值,此處串口采用Select方式使用,保證其具有阻塞性的同時(shí)也具備了超時(shí)判斷。每60 s為一次讀取的周期。之后清空系統(tǒng)內(nèi)部的串口數(shù)據(jù)緩存區(qū),保證下次接收的數(shù)據(jù)是干凈的。此時(shí)若有數(shù)據(jù)到來(lái),則會(huì)判斷此數(shù)據(jù)為何種數(shù)據(jù)。銥星通信具有不穩(wěn)定性,時(shí)常因?yàn)樾盘?hào)不良而出現(xiàn)中斷,如果出現(xiàn)中斷情況,串口會(huì)收到“NO CARRRIER”數(shù)據(jù),程序?qū)⒋俗鳛閽鞌嘈畔⑴袛?,如若掛斷,則重新?lián)芴?hào)。其次,浮標(biāo)端規(guī)定了浮標(biāo)數(shù)據(jù)的幀格式,串口收到的數(shù)據(jù)判斷出符合浮標(biāo)數(shù)據(jù)的幀頭時(shí),則會(huì)保存到本地,之后通過(guò)FTP上傳。

        3.3? ? 數(shù)據(jù)存儲(chǔ)程序

        系統(tǒng)程序的主線程一直在讀取系統(tǒng)時(shí)間,并將時(shí)間保存在Linux下一個(gè)時(shí)間相關(guān)的結(jié)構(gòu)體中,此程序中創(chuàng)建了一個(gè)結(jié)構(gòu)體的全局變量。由于浮標(biāo)采用UTC時(shí)間,Ubuntu系統(tǒng)默認(rèn)也是用UTC時(shí)間。在串口監(jiān)聽(tīng)線程中的數(shù)據(jù)存儲(chǔ)環(huán)節(jié),根據(jù)當(dāng)前時(shí)間對(duì)接收到的數(shù)據(jù)進(jìn)行命名保存,并且存儲(chǔ)為JSON格式。命名如:BLBuoy_RAMA2001_20190520_

        02_34_MET.json。數(shù)據(jù)存儲(chǔ)流程如圖7所示。

        3.4? ? 數(shù)據(jù)推送程序

        Ubuntu系統(tǒng)中,vsftpd可以說(shuō)是很安全的一個(gè)ftp文件系統(tǒng),通過(guò)輸入命令(vsftpd: sudo apt-get install vsftpd-y)在線安裝。安裝完成后,通過(guò)命令開啟(sudo systemctl start vsftpd.service)服務(wù)。在程序執(zhí)行前,vsftpd的相關(guān)配置就已經(jīng)配置完成,用戶的uftp地址輸入到vsftpd.user_list文件中;“/home/ftp”作為推送的文件夾目錄。在岸站程序根目錄下創(chuàng)建一個(gè)名為ftp.sh的腳本文件,在程序中調(diào)用這個(gè)腳本即可上傳保存到本地的浮標(biāo)數(shù)據(jù)文件至服務(wù)器。

        Shell腳本模板如圖8所示。在腳本中配置好服務(wù)器的IP和用戶密碼后,其會(huì)將浮標(biāo)存儲(chǔ)的文件夾內(nèi)所有文件上傳。

        4 結(jié)語(yǔ)

        該軟件由C語(yǔ)言進(jìn)行程序的編寫,其中調(diào)用了基于Shell腳本語(yǔ)言的腳本文件。基于Ubuntu18.04×64位系統(tǒng)上的gcc version 7.4.0編譯器編譯生成在此系統(tǒng)下的可執(zhí)行文件。岸站程序功能主要包含了定時(shí)進(jìn)行對(duì)浮標(biāo)端數(shù)據(jù)的獲取、存儲(chǔ)、FTP推送,岸站系統(tǒng)能實(shí)現(xiàn)自主運(yùn)行。岸站系統(tǒng)搭載了工業(yè)級(jí)串口拓展模塊,由其連接銥星通信所需的模塊。浮標(biāo)通過(guò)銥星與地面岸站建立實(shí)時(shí)的通信,岸站系統(tǒng)能夠接收浮標(biāo)實(shí)時(shí)返回的數(shù)據(jù),存儲(chǔ)并且通過(guò)FTP推送給客戶。

        [參考文獻(xiàn)]

        [1] 許欣欣.海洋監(jiān)測(cè)技術(shù)發(fā)展現(xiàn)狀研究及應(yīng)用[J].中國(guó)戰(zhàn)略新興產(chǎn)業(yè),2018(24):180.

        [2] 鄭苗壯,劉巖,李明杰,等.我國(guó)海洋資源開發(fā)利用現(xiàn)狀及趨勢(shì)[J].海洋開發(fā)與管理,2013,30(12):13-16.

        收稿日期:2021-01-28

        作者簡(jiǎn)介:田炳麗(1976—),女,山東高密人,碩士,講師,主要從事自動(dòng)化控制、數(shù)字信號(hào)處理方面的研究工作。

        国产18禁黄网站免费观看| 国产成人香蕉久久久久| 国产精品99久久不卡二区| 亚洲av男人的天堂一区| 亚洲欧美乱日韩乱国产| 色拍拍在线精品视频| 欧美丝袜秘书在线一区| 国产一区二区三免费视频| 成人免费无遮挡在线播放| 国产av无码专区亚洲av手机麻豆| 国产粉嫩高清| 国产三级精品和三级男人| 2019日韩中文字幕mv| 无码视频一区二区三区在线观看| 91久国产在线观看| 中文字幕日韩有码国产| 少妇被粗大的猛烈进出69影院一| 精品久久久久久久久久久aⅴ| 蜜桃成人永久免费av大| 中文字幕一区久久精品| 免费a级毛片18以上观看精品| 亚洲美女影院| 亚洲天堂av在线免费看| 性欧美丰满熟妇xxxx性久久久| 真人无码作爱免费视频禁hnn| 免费看国产精品久久久久| 色偷偷亚洲精品一区二区 | 一本久久a久久精品亚洲| 亚洲a人片在线观看网址| 日韩美腿丝袜三区四区| 国产超碰女人任你爽| 亚洲精品不卡电影| av手机天堂在线观看| 欧美成人猛片aaaaaaa| 在教室伦流澡到高潮h麻豆| 久久无码高潮喷水抽搐| 91精品国产在热久久| 麻豆精品久久久久久久99蜜桃| 国产主播无套内射一区| 丰满少妇被爽的高潮喷水呻吟| 女局长白白嫩嫩大屁股|