国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

快遞物品遠程自動接收系統(tǒng)設計與開發(fā)

2017-01-21 22:32劉袁夢黃文彬許小郡毋茂盛
物聯網技術 2016年12期
關鍵詞:快遞藍牙互聯網

劉袁夢++黃文彬++許小郡++毋茂盛

摘 要:隨著互聯網的發(fā)展,網上購物成為人們日常生活的一部分,如何遠程接收快遞的問題變得日益突出,文中設計了一個快遞物品遠程自動接收系統(tǒng),介紹了系統(tǒng)的功能以及軟件和硬件實現的方法。

關鍵詞:快遞;藍牙;互聯網;遠程自動接收

中圖分類號:TN919;TP31 文獻標識碼:A 文章編號:2095-1302(2016)12-00-03

0 引 言

目前,網購已成為億萬網民生活中不可或缺的一部分,2015年“雙十一”期間,淘寶的成交額達到了912億元。近年來,快遞行業(yè)成為一個爆發(fā)式增長的行業(yè)[1],據統(tǒng)計,我國的快遞業(yè)務量已居世界第三位。如何有效地接收快遞變成了日益突出的問題。為了解決這個問題,本課題設計開發(fā)了一個物品遠程接收系統(tǒng),當物主在上班或出差時,可以通過互聯網遠程控制快遞物品接收箱。當有快遞物品送到物主門口時,物主可以通過辦公室的電腦端程序控制快遞箱上的電插鎖打開或關閉,實現遠程接收快遞物品。

1 系統(tǒng)的工作原理與結構

1.1 工作原理

當有快遞到達時,物主通過運行在辦公室電腦上的軟件以及互聯網遠程打開儲物箱,并通過IP攝像頭實時對儲物箱進行遠程監(jiān)視,確保物品存入儲物箱。物主回家時,通過手機打開儲物箱取出物品。

1.2 系統(tǒng)整體結構

系統(tǒng)主要由硬件和軟件兩部分組成。軟件部分包括運行在辦公室電腦上的遠程監(jiān)控軟件、運行在手機中的開箱軟件以及儲物箱電路板控制軟件。系統(tǒng)硬件主要由電腦、IP攝像頭、手機、控制電路板以及儲物箱等組成。其整體結構如圖1所示。

2 系統(tǒng)實現

2.1 硬件設計

本系統(tǒng)使用的硬件雖多,但真正需要開發(fā)的是儲物箱的控制電路板,該電路板通過互聯網接收遠程開箱命令,通過驅動電路控制繼電器打開儲物箱電控鎖,并檢測電控鎖是否打開。由于AT89S51單片機有許多優(yōu)點[2],所以電路板將AT89S51單片機作為主控芯片,單片機和W5100網絡模塊、HC-06藍牙模塊、驅動電路、繼電器以及電控鎖共同構成儲物箱的控制硬件。W5100網絡模塊通過SPI方式與單片機通信,其內部集成了全硬件的TCP/IP協(xié)議棧,使用方便,通過Socket編程即可實現對其的訪問。儲物箱控制板的電路框圖如圖2所示。

2.1.1 互聯網接口

互聯網上傳送的信息有其自己的格式,單片機無法直接接收,為了方便,本系統(tǒng)采用W5100網絡模塊,將W5100與家里的路由器相連,接收到遠程接收PC端程序通過互聯網發(fā)送過來的命令時,通過SPI總線轉發(fā)給AT89S51單片機。單片機識別收到的命令后,發(fā)送一個信號給繼電器以控制電插鎖的12電源,以實現開關箱的操作。此外,電插鎖對外擁有5條線,2條為12 V電源線,3條為表示電插鎖開關狀態(tài)的線。單片機通過另外3條線可以了解電插鎖的開關狀態(tài)。

2.1.2 藍牙接口

隨著通信技術和電子技術的快速發(fā)展,目前手機已成為生活中必備的工具,幾乎人手一機。手機的應用已擴展到控制領域,如用于門禁系統(tǒng)[3]。為了節(jié)省成本和便于操作,儲物箱省去了鍵盤以及LED或LCD顯示器,直接用手機來充當儲物箱的外設。手機具有藍牙通信功能,本系統(tǒng)通過手機和儲物箱電路控制板上的HC-06藍牙模塊直接交換信息,以打開儲物箱的電插鎖。

為了方便用戶隨時查看快遞箱的狀況,系統(tǒng)還增加了一個IP攝像頭,這樣用戶就可以在電腦前實時了解快遞箱動態(tài)。

2.2 軟件開發(fā)

本系統(tǒng)的軟件主要包括運行在辦公室電腦上的遠程計算機監(jiān)控軟件、運行在手機中的開箱軟件以及儲物箱電路板控制軟件。

2.2.1 計算機監(jiān)控軟件的開發(fā)

計算機監(jiān)控軟件主要有遠程打開儲物箱與實時采集監(jiān)視圖像的功能,確保物品能存入儲物箱中。軟件運行界面如圖3所示。

2.2.1.1 網絡遠程控制編程

網絡編程主要用到Socket通信技術,桌面程序作為Socket服務器端,單片機作為Socket客戶端??刂泼钜姳?所列。

服務端核心代碼如下:

try (ServerSocket s = new ServerSocket(8189)) {// 等待 Socket 連接

try (Socket incomming = s.accept()) {

InputStream inStream = incomming.getInputStream();

OutputStream outStream = incomming.getOutputStream();

try (Scanner in = new Scanner(inStream)) {

PrintWriter out = new PrintWriter(outStream, true);

while (in.hasNext()) {

String line = in.nextLine();

if ("STATUS_OPEN".equals(line.trim())) {

// 控制程序界面顯示電控鎖狀態(tài)為開

} else if ("STATUS_CLOSE".equals(line.trim())) {

// 控制程序界面顯示電控鎖狀態(tài)為關

}

}

}

}

}

2.2.1.2 圖像采集編程

實時監(jiān)視的圖像采集主要通過遠程連接IP Camera并調用其二次開發(fā)API來實現。本系統(tǒng)中圖像采集是借助于??低暤腎P Camera網絡攝像機實現的,此網絡攝像機具有實時監(jiān)視,圖像、視頻、音頻采集,云臺控制,報警等多種功能。設定好IP Camera的IP地址后,客戶端程序通過網絡連接其IP地址并設置好端口號,登錄信息即可通過API連接至攝像機。

監(jiān)控程序用到的主要API:

HI_SDK_Init ();//初始化API庫

HI_SDK_Login (const HI_CHAR*, const H_CHAR*, const H_CHAR*, HI_U16, HI_S32);//連接攝像機

HI_SDK_RealPlay(HI_HANDLE, HI_VOID*, HI_S_STREAM_INFO*);//實時監(jiān)視

HI_SDK_CaptureJPEGPicture(HI_HANDLE, HI_CHAR*);//抓拍JPEG格式圖片

HI_SDK_StartRecord(HI_HANDLE,HI_CHAR*,FILE_FORMAT_E,MEDIA_TYPE_E,HI_S32);//錄制視頻

HI_SDK_StopRecord(HI_HANDLE);//停止錄制

HI_SDK_Playback(HI_CHAR*, HI_VOID);//錄像回放等

部分功能實現程序段如下:

(1)連接IP Camera程序段

BYTE f1, f2, f3, f4;

((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(f1,f2,f3,f4);//獲取IP地址

adrr.Format(_T("%d.%d.%d.%d"), f1, f2, f3, f4);

USES_CONVERSION;

m_Handle=HI_SDK_Login(T2A(adrr),T2A(userName),T2A(passWord),80);//連接攝像機

(2)實時監(jiān)視程序段

HI_S_STREAM_INFO info;//設置圖像顯示參數

info.u32Channel = HI_CHANNEL_1;

info.blFlag = HI_TRUE;

info.u32Mode = HI_STREAM_MODE_TCP;

info.u8Type = HI_STREAM_ALL;

HI_SDK_RealPlay(m_Handle,GetDlgItem(IDC_STATIC_Camera)->m_hWnd,&info);//圖像采集并顯示

(3)抓拍圖像程序段

CString FileName = CTime::GetCurrentTime().Format

("picture_%y_%m_%d_%H_%M_%S.bmp") ;//文件名

CString a;

a.Format(_T("%s\\picture\\%s"), s, FileName);//文件路徑

USES_CONVERSION;

char *path = T2A(a);

HI_SDK_CapturePicture(m_Handle,path);//抓拍

(4)錄像程序段

CString FileName = CTime::GetCurrentTime().Format(

"video_%y_%m_%d_%H_%M_%S.avi");//文件名

CString a;

a.Format(_T("%s\\record\\%s"), s, FileName);//文件路徑

char *path = T2A(a);

e = MEDIA_VIDEO;

HI_SDK_StartRecord(m_Handle, path, FILE_FORMAT_AVI, e, 0);//錄像

2.2.1.3 手機開箱軟件開發(fā)

開箱軟件通過藍牙技術和儲物箱電路板控制軟件交換信息,進行現場開箱;本系統(tǒng)開發(fā)的手機開箱軟件基于Android系統(tǒng)。藍牙通信程序的基本流程為藍牙設備搜索、藍牙設備連接和藍牙通信三個部分。程序中主要用到了BluetoothAdapter類、BluetoothDevice類、BluetoothServerSocket類以及BluetoothSoc ket類等。

(1)藍牙設備搜索

需要先在AndroidManifest.xml中聲明權限:

然后調用BluetoothAdapter類的getDefaultAdapter()方法獲取藍牙設備。

BluetoothAdapter bAdapter = BluetoothAdapter.getDefaultAdapter();

if(bAdapter == null) {

//設備不支持藍牙功能

}

最后使用BluetoothAdapter的startDiscovery()方法搜索藍牙設備。

(2)藍牙設備連接

只有當客戶端程序的通用唯一識別碼(Universally Unique Identifier,UUID)和服務器端的UUID相同時才能連接。本系統(tǒng)通過BluetoothSocket來創(chuàng)建藍牙連接,該過程要使用兩個類,分別為BluetoothServerSocket和BluetoothSocket。

服務器端藍牙連接方法是:

①啟動服務器

BluetoothAdapter bAdapter = BluetoothAdapter.getDefaultAdapter();

BluetoothServerSocket serverSocket =

bAdapter.listenUsingRfcommWithServiceRecord(YOUR ERVER NAME, YOUR UUID);

②服務器監(jiān)聽客戶端連接

serverSocket.accept();

客戶端藍牙連接方法:

a.獲取服務器端藍牙設備BluetoothDevice。

b.客戶端與服務器連接

BluetoothSocket socket = device.createRfcommSocketToServiceRecord(YOUR UUID);

socket.connect();

由于服務器端進行監(jiān)聽客戶端連接(BluetoothServerSocket.accept())和客戶端對服務器的連接(BluetoothSocket.connect())都會阻塞線程,因此都使用新的線程。

③藍牙通信

當兩臺藍牙設備建立好連接之后,就可以進行數據傳輸。藍牙通信采用流形式進行數據傳輸,為此使用以下兩個方法分別獲得輸入流和輸出流:

BluetoothSocket:BluetoothSocket.getInptuStream();//獲取輸入流:

BluetoothSocket.getOutputStream();//獲取輸出流

使用下列程序段實現數據的讀、寫:

讀數據(InptuStream)

InputStream reader = socket.getInputStream();

byte[] buffer = new byte[1024];

int n = reader.read(buffer); //監(jiān)聽輸入流

寫數據(OutputStream)

BluetoothDevice device; //連接的藍牙設備

BluetoothSocket socket = device.createRfcommSocketToServiceRecord(YOUR UUID);

socket.connect(); //線程阻塞

OutputStream writer = socket.getOutputStream(); //獲取藍牙連接輸出流

writer.write((YOUR DATA).getBytes()); //發(fā)送數據到服務器

(3)控制軟件開發(fā)

控制軟件的功能主要是接收開鎖命令,實現開關電插鎖。控制軟件Vision4由C51編寫,W5100網絡模塊帶有SDK,編程十分方便。

3 結 語

本文運用多種技術設計開發(fā)了快遞遠程接收系統(tǒng),有較高的技術含量和實際意義,特別是用手機作為儲物箱輸入和輸出設備這一想法為業(yè)界提供了一種全新的產品設計思路,對以后產品的設計有一定的指導意義。設計的接收系統(tǒng)經實驗室運行,穩(wěn)定可靠,完全可以滿足用戶遠程接收物品的需要。

參考文獻

[1] 路宏偉.快遞信息推送技術設計及實現[J].物聯網技術,2016,6(1):54-55.

[2] 毋茂盛,張建平,張素群,等.單片機原理與開發(fā)[M].北京:高等教育出版社,2015.

(下轉第頁)

(上接第頁)

[3] 惠春陽,陳志浩,胡婷婷,等.基于WiFi與智能手機的門禁系統(tǒng)[J].物聯網技術,2016,6(3):7,9.

[4]胡越,周騰鶴,梁東升.基于藍牙的安卓平臺智能燈控制系統(tǒng)設計與實現[J].物聯網技術,2016,6(5):14-16.

[5]張貴彬,趙子恒.“互聯網+”在物流業(yè)發(fā)展中的應用[J].環(huán)球市場信息導報,2016(6):87.

[6]付寶玉.基于NFC技術的自助收發(fā)快遞系統(tǒng)應用研究[J].物聯網技術,2016,6(10):59-62.

[7]靳世杰.企業(yè)物流管理系統(tǒng)設計與開發(fā)[D].北京:北京工業(yè)大學,2014.

[8]張哲瑞.快遞物流管理系統(tǒng)的設計與開發(fā)[D].秦皇島:燕山大學,2015.

猜你喜歡
快遞藍牙互聯網
藍牙音箱的直線之美
簡單、易用,可玩性強Q AcousticsBT3藍牙音箱
適合自己的才是最好的 德生(TECSUN) BT-50藍牙耳機放大器
緊急:藍牙指尖陀螺自燃!安全隱患頻出
從“數據新聞”看當前互聯網新聞信息傳播生態(tài)
互聯網背景下大學生創(chuàng)新創(chuàng)業(yè)訓練項目的實施