王湘林,李仲春
(湖南信息學(xué)院,湖南長(zhǎng)沙410100)
2004年圖靈獎(jiǎng)的獲得者、著名科學(xué)家Vinton cerf在談及到物聯(lián)網(wǎng)時(shí),稱其是人們(類)在不經(jīng)意間就完成了對(duì)自然的改造并給人們帶來益處。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多地被應(yīng)用到社會(huì)各個(gè)方面,而農(nóng)業(yè)與大棚是保證人們基本生活的物質(zhì)條件和基礎(chǔ),在物聯(lián)網(wǎng)極速發(fā)展推動(dòng)下,智能大棚的發(fā)展日新月異。智能大棚內(nèi)的自動(dòng)控制有強(qiáng)電和弱電2種線路,弱電的控制因其電子元件受大棚高濕度環(huán)境的影響,引起控制器和線路問題不斷,而導(dǎo)致弱電工程通信信息失控,為保證通信正常不影響智能大棚的正常使用,單片機(jī)與光通信系統(tǒng)應(yīng)運(yùn)而生。其采用一種新型的激光控制方式,作為弱電的通信基礎(chǔ),保證受控器件在一定溫度和濕度條件下有效、長(zhǎng)期運(yùn)行。

圖1 主電路組成部分
單片機(jī)主要為收集信息并以主機(jī)的形式發(fā)送控制信息到各個(gè)大棚分機(jī),各大棚分機(jī)即為接收部分(圖1),主機(jī)主要收集溫度、濕度、天氣情況、風(fēng)力監(jiān)控等,并將收集到的信息進(jìn)行運(yùn)算后通過激光發(fā)送器發(fā)送控制命令,控制命令針對(duì)每個(gè)大棚發(fā)送通風(fēng)、加溫、加濕、澆水、關(guān)閉大棚門道和料模等操作信號(hào),各大棚分機(jī)接收到控制信號(hào)后通過單片機(jī)的計(jì)算控制各個(gè)模塊進(jìn)行降溫、降濕或通風(fēng)等操作,保證大棚內(nèi)的溫度和濕度,以利于植物生長(zhǎng)(圖2)。這種光通信的方式可靠而且節(jié)省了人工弱電工程布線的成本,有效節(jié)約了有色金屬的利用,為智能農(nóng)業(yè)大棚增加了新的功能和新的控制方式。

圖2 電路收發(fā)組成
由于該系統(tǒng)采用單工通信,故在激光發(fā)送器與光靶接收器中采用在發(fā)射單片機(jī)內(nèi)部編碼再通過I/O口直接進(jìn)行激光高低電平發(fā)射的方法。接收部分通過光感應(yīng)頭接收激光的高低電平并送到接收單片機(jī)A/D后轉(zhuǎn)換成高低電平。在光通信進(jìn)程中直接按協(xié)定進(jìn)行單工通信,無須進(jìn)行頻率合成(圖3)。利用串口傳統(tǒng)通信方式首先進(jìn)行編碼再進(jìn)行傳輸二進(jìn)制代碼的位數(shù),每秒鐘傳送240個(gè)字符,每個(gè)字符格式包含10位(1個(gè)起始位、1個(gè)停止位、8個(gè)數(shù)據(jù)位),利用奇偶校驗(yàn)在發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)位尾隨的1位為奇偶校驗(yàn)位(1或0)。奇校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為奇數(shù);偶校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為偶數(shù)。接收字符時(shí),對(duì)“1”的個(gè)數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不一致,則說明傳輸數(shù)據(jù)過程中出現(xiàn)了差錯(cuò)。“1”和“0”則對(duì)應(yīng)的是激光亮與不亮。

圖3 電路收發(fā)系統(tǒng)通信過程
信號(hào)通信則是利用逐次逼近的ADC方法[皮卡(Picard,(C.-)é)最早在數(shù)學(xué)上完善處理這樣逐次逼近的函數(shù)序列]進(jìn)行轉(zhuǎn)換。這與使用天平稱物重方法非常相似,即從最重的砝碼開始試放,與被稱物體進(jìn)行比較,若物體輕于砝碼,則該砝碼移去,換上次重砝碼再進(jìn)行比較;若物體重于砝碼,則該砝碼保留,再加上第2個(gè)次重砝碼,由物體的重量是否大于砝碼的重量決定第2個(gè)砝碼是留下還是移去,以此類推,直到重量最小的砝碼為止。將所有留下的砝碼重量相加,得到物體的重量。當(dāng)激光照射到光接收器時(shí)利用逐次逼近的ADC方法進(jìn)行轉(zhuǎn)換以判斷是否為高低電平,與發(fā)送進(jìn)行同步,即每秒鐘傳送240個(gè)字符,接收每個(gè)字符格式包含10位(1個(gè)起始位、1個(gè)停止位、8個(gè)數(shù)據(jù)位),送到解碼器進(jìn)行解碼得出是否需要進(jìn)行加、減溫度、濕度和大棚通風(fēng)的調(diào)整。因在控制過程中會(huì)涉及到電能損耗,該系統(tǒng)利用只有調(diào)整時(shí)才發(fā)射信號(hào),而在不進(jìn)行調(diào)整時(shí)進(jìn)入休眠狀態(tài)。
光通信的過程中數(shù)據(jù)包的收包率大約為70%,而非100%,是由于在實(shí)踐中使用的是8位單片機(jī)STC的型號(hào),其計(jì)算方式采用馮·諾依曼結(jié)構(gòu)的處理結(jié)構(gòu),其指令和數(shù)據(jù)共享同一總線的結(jié)構(gòu),而使信息流的傳輸成為限制系統(tǒng)性能的瓶頸,影響了數(shù)據(jù)處理的速度。考慮到大棚對(duì)控制精度要求不高,而巧妙的運(yùn)用了光通信和A/D處理技術(shù)并在程序的代碼中運(yùn)用了延時(shí)的方法來解決丟包的不足。