




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
前 系統(tǒng)概 主程 M0數(shù)據(jù)接收線 M0數(shù)據(jù)分析線 LED模塊線 M0模 M0簡(jiǎn) 工作流 信息功 系統(tǒng)移 4.1頭驅(qū)動(dòng)移 JPEG庫(kù)移 MJPG-streamer流服務(wù)器移 CGI:通用網(wǎng)關(guān)接 植 A8驅(qū)動(dòng)程 HTML設(shè) HTML簡(jiǎn) HTML語(yǔ)言的基本代碼結(jié) 前本系統(tǒng)正是融合了物聯(lián)網(wǎng)技術(shù)、嵌入式技術(shù)、3G技術(shù)這三門技術(shù)實(shí)現(xiàn)了對(duì)倉(cāng)儲(chǔ)管理和控制的智能化大大提高了倉(cāng)儲(chǔ)管理的效率降低了人工及成本,實(shí)現(xiàn)了對(duì)倉(cāng)儲(chǔ)系統(tǒng)的和。系統(tǒng)本項(xiàng)目分為三個(gè)模塊:客戶端(網(wǎng)頁(yè)、數(shù)據(jù)處理中心(A8)、中 中 中A8A8數(shù)據(jù)處理中客戶再通過(guò)ZigBee把到的環(huán)境參數(shù)或物品給進(jìn)行相應(yīng)的處理,假如是環(huán)境參數(shù)則對(duì)環(huán)境參數(shù)進(jìn)行判斷處理進(jìn)行。用頭,到A8上構(gòu)建嵌入式web服務(wù)器,使用戶通過(guò)網(wǎng)絡(luò)利用pc機(jī)進(jìn)行在web頁(yè)面上設(shè)置控制按鈕,設(shè)備識(shí)別用戶指令并進(jìn)行相應(yīng)動(dòng)A8通過(guò)GPRS息功能向用戶全局結(jié)構(gòu)體定struct{unsignedchargoods_type;//貨物類型,用數(shù)字表示unsignedintgoods_count;//貨物數(shù)量structstorage_info{unsignedcharstorage_status;unsignedcharled_status;unsignedcharbuzzer_status;unsignedcharfan_status;unsignedcharseg_status;signedcharx;signedchary;signedcharz;floattemperature;floattemperatureMIN;floattemperatureMAX;floathumidity;floathumidityMIN;floathumidityMAX;floatillumination;floatilluminationMIN;floatilluminationMAX;floatbattery;floatstructstorage_goods_infostruct{structstorage_infostructmsg{longtype;//從消息隊(duì)列接收消息時(shí)用于判斷的消息類型longmsgtype;//具體的消息類型unsignedchartext[QUEUE_MSG_LEN];//喚喚消息隊(duì)喚喚消息隊(duì)更新共享內(nèi)存數(shù)喚啟條件喚M0命令發(fā)送線 M0數(shù)據(jù)分析線紅外監(jiān)測(cè)線 數(shù)據(jù)庫(kù)操作線頭模塊線處理消息隊(duì)列請(qǐng)求線共享內(nèi)數(shù)據(jù)CGI進(jìn)模塊線HTML請(qǐng)執(zhí)返回結(jié)格式文Boa服務(wù)瀏覽Boa服務(wù)瀏覽M0數(shù)據(jù)接ZigBee通pthread_transfer():接收M0數(shù)據(jù)線程.pthread_ysis():M0數(shù)據(jù)分析線程.pthread_buzzer():A8蜂鳴器控制線程.pthread_led():A8LED模塊線程.1、實(shí)際項(xiàng)目時(shí)去掉了pthread_uart_cmd()線程,在pthread_client_request():處理消M0M0命令,希望客戶端的M0M0,但是有些命令還是會(huì)丟失。2、頭部分有和兩個(gè)功能,其中頭線程只完成了功能,抓拍命令是從消息隊(duì)列里獲得的而功能直接走的MJPG-stream所圖中有畫(huà)的與實(shí)際不相符的地方。3、數(shù)據(jù)庫(kù)部分在客戶端沒(méi)有體現(xiàn),所以CGI中也沒(méi)有編寫(xiě)相應(yīng)的數(shù)據(jù)庫(kù)進(jìn)程,但是主程序中會(huì)將到的環(huán)境信息和貨物信息存入數(shù)據(jù)庫(kù)45、M0數(shù)據(jù)接收線程會(huì)將接收到的數(shù)據(jù)直接插入到鏈表中,之后喚醒數(shù)據(jù)分析數(shù)據(jù)庫(kù)操數(shù)據(jù)庫(kù)操作線是否被是否被喚釋放節(jié)鏈表是否為對(duì)數(shù)據(jù)庫(kù)進(jìn)行操創(chuàng)建鏈數(shù)據(jù)庫(kù)操作線程需要?jiǎng)?chuàng)建一個(gè)用于對(duì)數(shù)據(jù)庫(kù)操作的鏈表喚醒之后進(jìn)入循環(huán),判斷鏈表不為空,則節(jié)點(diǎn)中的內(nèi)容1,來(lái)決定是否進(jìn)行插入操作。處理消息隊(duì)列請(qǐng)求線pthread_client_request線程循環(huán)從消息隊(duì)列中消息,并做相應(yīng)的處理Switch1LA8led線程,同時(shí)需要對(duì)led命令掩碼進(jìn)行賦值,程序規(guī)定去消息正文的第一個(gè)字節(jié)作為命令控制字;2L為喚醒A8上的蜂鳴器進(jìn)程,同時(shí)對(duì)蜂鳴器命令掩碼進(jìn)行賦值;3L是喚醒頭線程進(jìn)行,同時(shí)對(duì)命令掩碼進(jìn)行賦值,這里的命令掩碼是的數(shù)量;4L是向M0判斷消息類環(huán)境信貨判斷消息類環(huán)境信貨物信插入數(shù)據(jù)緩存鏈Zigbee判斷消息類型,并相應(yīng)長(zhǎng)度的消st:e為環(huán)境消息,r為貨物消息,消息正文的時(shí)候需要睡眠500ms,防止消息丟失。M0數(shù)據(jù)分析線判斷信息類鏈貨物判斷信息類鏈貨物信息處環(huán)境信息處蜂鳴器蜂鳴器線線提取環(huán)境信息參喚其境信息結(jié)構(gòu)體為struct{unsignedcharsto_no;unsignedchartem[2];unsignedcharhum[2];unsignedcharx;unsignedchary;unsignedcharz;unsignedintill;unsignedintbattery;unsignedintadc;struct{unsignedcharunsignedchario;unsignedchargoodsno;unsignedchargoodsnum;等待喚醒pthread_cond_wait(cond_ysis,get_receive_cache_node提取環(huán)境參數(shù)env_info_ysis(get_env_packageget_goods_package說(shuō)明:在函數(shù)env_info_ysis()中對(duì)環(huán)境信息進(jìn)行提取比較,如果超出了相應(yīng)M0A8上的設(shè)備。更新共享內(nèi)存線創(chuàng)創(chuàng)建共享內(nèi)寫(xiě)寫(xiě)數(shù)據(jù)到內(nèi)使用ftok( shmget等待喚醒pthread_cond_wait CGICgi相同的鍵值蜂鳴器線等待等待被喚控制蜂鳴 pthread_cond_wait 獲取dev_buzzer_mask(控制標(biāo)志LED模塊線打打開(kāi)等待等待被喚控制 pthread_cond_wait 獲取dev_led_mask(控制標(biāo)志頭模塊線打打 等待等待被喚控制 pthread_cond_wait 獲取dev_camera_mask(控制標(biāo)志wirte頭設(shè)M0模M0簡(jiǎn)Cortex-M0ARM處理器。MCU8MCU應(yīng)用中,可望明顯節(jié)約系統(tǒng)成本。 //初始化設(shè)備 Team_Logo();//顯示春雨團(tuán)隊(duì)開(kāi)機(jī)界面void{SystemInit();//系統(tǒng)初始化 //IO初始化 init_timer32(0,480000); //初始化32位定時(shí)器10msNVIC_SetPriority(TIMER_32_0_IRQn,0); //使能32位定時(shí)器 NVIC_SetPriority(UART_IRQn,2); }void{}void{InitMyAdc();//ADCInitKey();//KEYInitLight();//LIGHTInitAxis3();//AXIS3InitDHT11();//InitRfid();//RFIDmemset(&EnvMsg,0,24);}void{InitFan();//FANInitSpeaker();//SPEAKERInitLed();//LEDSeg7Led_Init();//SEGInitZigbee();ZIGBEESpeaker(0);10Led1Show(0);//10Seg7Led_Put('t=DeviceStatus=}voidInitControl(uint8_t{GoodsTypeIndex=GOODSTYPEMIN; //最少1種貨物GoodsNumCount=GOODSNUMBERMIN; AddOrDecOptFlag=0; //加減操作標(biāo)志Titile=title; CleanScreenFlag= }每1秒,光敏傳感器,溫濕度傳感器,RFID信息,三軸加速度傳感器的DHT11DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接,單線制串行接口,DATALPC11C14PIO3_2DHT11DHT11信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)下一次信號(hào)。8bit+8bit+8bit+校驗(yàn)位數(shù)據(jù)定義:“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit8bit8ISL29003I2CSCLSDAIOCONGPIOp0.4p0.5。初始化I2C總 I2CInit(I2CMASTER,光敏電阻的初始化管 設(shè)置光敏電阻的敏感 光敏電阻的感光 uint32_tlight_read(void)采用MMA7455L傳感器三軸加速度采用CY14443/SPI對(duì)RFID信息SPI采用高集成ISO14443A讀卡,支持MIFARE標(biāo)準(zhǔn)的加密算法TTL/CMOS3-處理,EMCCY-14443AISO14443。采用0.6微米CMOSEEPROM工藝支持ISO14443typeA協(xié)議支持MIFARE標(biāo)準(zhǔn)的加密算法內(nèi)部高度集成了模擬調(diào)制解調(diào)電路,只需最少量的電路就可以工作,支持UART接口(-C),IIC接口(-U),或者SPI接口(-P),數(shù)字電路具有TTL、CMOS兩種電壓工作模式。特別適用于ISO14443標(biāo)準(zhǔn)下水、電、煤氣表、自動(dòng)售貨機(jī)、門禁、電梯、、機(jī)等計(jì)費(fèi)系統(tǒng)或識(shí)別系統(tǒng)的的應(yīng)用。。.用戶不必關(guān)心射頻復(fù)雜的控制方法,只需要簡(jiǎn)單地通過(guò)選定的UART或IIC或SPI接口發(fā)送命令就可以對(duì)卡片進(jìn)行完全的操作。CY-14443A系列全部有SPICY-14443AISO144430.6CMOSEEPROMISO14443typeA通訊速率不大于3Mbps,MSB,上升沿采樣。模塊工作在半SPI0命令格式為:前導(dǎo)頭+通訊長(zhǎng)度+命令字+數(shù)據(jù)域+0xAA0xBB兩個(gè)字節(jié),若數(shù)據(jù)域中也包含0xAA0,但是長(zhǎng)度字不增加。:去掉前導(dǎo)頭和字節(jié)之外,所有通訊幀所含字節(jié)的異或CPU發(fā)送命令幀之后,需要等待返回值,返回值的格式如下:正確:前導(dǎo)頭+通訊長(zhǎng)度+上次所發(fā)送令字+數(shù)據(jù)域+錯(cuò)誤:前導(dǎo)頭+通訊長(zhǎng)度+上次所發(fā)送令字的取反+(6)采用ADC3通道對(duì)電池電量信息voidSyncData(uint8_t //把所有的數(shù)據(jù)同步到結(jié)構(gòu)EnvMsg{charsendbuf[64]={0};EnvMsg.head[0]=EnvMsg.head[1]=EnvMsg.head[2]=':';EnvMsg.type='e';EnvMsg.snum=sto_no;if(DHT11GetFinishFlag=={DHT11GetFinishFlag=FALSE;EnvMsg.temp[0]=temperature[0];EnvMsg.temp[1]=temperature[1];EnvMsg.hum[0]=humidity[0];EnvMsg.hum[1]=humidity[1];}if(LightGetFinishFlag=={LightGetFinishFlag=FALSE;EnvMsg.lux=Light;}if(Axis3GetFinishFlag=={Axis3GetFinishFlag=FALSE;EnvMsg.x=Axis3.X.Val;EnvMsg.y=Axis3.Y.Val;EnvMsg.z=Axis3.Z.Val;}if(AdcGetFinishFlag=={AdcGetFinishFlag=FALSE;EnvMsg.bet=Bat;EnvMsg.adc=Adc;}ZigbeeSend(sendbuf,}ZICM2410板上用了·0UARTZigBeeSPI1(1)UART0 4(6)IIs4A8int{ //系統(tǒng)初始化,讓M0跑起來(lái) //初始化設(shè)備 Team_Logo();//顯示春雨團(tuán)隊(duì)開(kāi)機(jī)界面// { //zigbee接收命 //倉(cāng)庫(kù)號(hào),rfid控}}結(jié)構(gòu)體賦值(結(jié)構(gòu)體賦值(24個(gè)字節(jié)structsendEnvenvMsg.head[0]=envMsg.head[1]=envMsg.head[2]=':';envMsg.type=flag;envMsg.snum=snum;envMsg.temp[0]=temp[0];envMsg.temp[1]=temp[1];envMsg.hum[0]=hum[0];envMsg.hum[1]=hum[1];envMsg.ill=light[0];envMsg.x=read_x;envMsg.y=read_y;envMsg.z=read_z;envMsg.bet=battery;envMsg.adc=adc;memcpy(data,&envMsg,(24個(gè)字節(jié)struct{uint8_tuint8_t//uint8_t//uint8_t//uint8_t//uint8_t//uint8_tuint8_tuint32_t//uint32_t//uint32_t結(jié)構(gòu)體賦值結(jié)構(gòu)體賦值(8個(gè)字節(jié))structsendGoodssendsbuf;sendsbuf.head[0]='s';sendsbuf.head[1]='t';sendsbuf.head[2]=':';sendsbuf.type=flag;sendsbuf.snum=snum;sendsbuf.io=type;sendsbuf.goodsno=rbuf[random_goods_no];sendsbuf.goodsnum=rbuf[random_goods_count];memcpy(sbuf,&sendsbuf,(8個(gè)字節(jié)struct{uint8_thead[3]; type;//數(shù)據(jù)類型uint8_t //倉(cāng)庫(kù)編uint8_tio; uint8_tgoodsno;//商品編號(hào)uint8_tgoodsnum;//123123自動(dòng)關(guān)自動(dòng)打0~90x40+0x00+0x01=0x410x40+0x30+0x08=0x780x40+0x30+0x0f= 系統(tǒng)移頭用于查看倉(cāng)庫(kù)內(nèi)的場(chǎng)景,此項(xiàng)目用到的頭為OV9650。JPEG庫(kù)由于平板頭上的數(shù)據(jù)為YUV格式,而我們希望得到JPEG的壓縮JPEGYUV(歐洲電視系統(tǒng)所采用的一種顏色編碼方法)JPEGJPEGJPEG MJPG-streamer是一款基于IP地址的流服務(wù)器它的輸入插件從頭個(gè)輸出插件將這些數(shù)據(jù)經(jīng)過(guò)處理,其中最重要的輸出插件是服務(wù)器插件,它將數(shù)據(jù)傳送到用戶瀏覽器中,MJPG-streamer像編譯成一個(gè)頭文件可以在沒(méi)有頭的情況下傳輸圖像從而方便調(diào)試程序。input_uvc.so。此文件調(diào)用USB頭驅(qū)動(dòng)程序V4L2,從頭讀取數(shù)據(jù)。input_control.so。這個(gè)文件實(shí)現(xiàn)對(duì)頭轉(zhuǎn)動(dòng)的控制接口output_http.so。這是一個(gè)功能齊全的服務(wù)器,它不僅可以從圖像也可以將輸入插件的文件根據(jù)現(xiàn)有M-JPEG標(biāo)準(zhǔn)以HTTP數(shù)據(jù)服務(wù)output_file.so這個(gè)插件的功能是將輸入插件的JPEG圖像到特定的MJPG-streamermjpg_streameri-y"-o"/mjpg/output_http.so-w192.168.XXX.XXX:8080"&,注意xxx.xxx要和電腦的windows IP地址相同。BOAWebBOAWebCGI通用網(wǎng)關(guān)接術(shù),特別適合應(yīng)用在嵌入式系統(tǒng)中。BOA服務(wù)器主要功能是在網(wǎng)頁(yè)是Web服務(wù)最基本的傳輸單元嵌入式Web服務(wù)的工作基于客戶機(jī)/服務(wù)器計(jì)算模型,由Web
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學(xué)年遼源市龍山區(qū)數(shù)學(xué)三年級(jí)第一學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- 2025-2026學(xué)年甘肅省慶陽(yáng)市環(huán)縣三年級(jí)數(shù)學(xué)第一學(xué)期期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 2025-2026學(xué)年撫州市崇仁縣三上數(shù)學(xué)期末試題含解析
- 2025-2026學(xué)年福建省泉州市南安市三上數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)模擬試題含解析
- 2024年黃岡市羅田縣數(shù)學(xué)三年級(jí)第一學(xué)期期末聯(lián)考試題含解析
- 護(hù)理學(xué)的創(chuàng)新實(shí)踐執(zhí)業(yè)醫(yī)師考試試題及答案
- 衛(wèi)生資格考試難點(diǎn)突破試題及答案
- 醫(yī)學(xué)與人際關(guān)系的試題及答案
- 對(duì)比分析衛(wèi)生資格考試的變化試題及答案
- 系統(tǒng)化學(xué)習(xí)的行政法學(xué)試題及答案
- 醫(yī)療護(hù)理醫(yī)學(xué)培訓(xùn) 留置針的固定及維護(hù)課件
- 甘肅開(kāi)放大學(xué)2024年《信息技術(shù)與信息管理》形考作業(yè)1-4
- 《尋常型銀屑病中西醫(yī)結(jié)合診療指南》
- 2025年國(guó)家電投所屬國(guó)核鈾業(yè)招聘筆試參考題庫(kù)含答案解析
- 區(qū)間估計(jì)教學(xué)課件
- 五年級(jí)下冊(cè) 教科版 科學(xué) 第三單元《讓資源再生》課件
- 2024年武漢市第二中西醫(yī)結(jié)合醫(yī)院武漢六七二醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 耳鼻喉技師模擬試題(附參考答案)
- 廢舊再生資源加工利用企業(yè)安全生產(chǎn)雙體系培訓(xùn)資料
- 2024年河南省中職對(duì)口升學(xué)高考語(yǔ)文試題真題(解析版)
- 水利專業(yè)技術(shù)崗位競(jìng)聘演講稿
評(píng)論
0/150
提交評(píng)論