0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

智能家居系統(tǒng)的開(kāi)發(fā)-基于米爾瑞薩RZ/G2UL開(kāi)發(fā)板

米爾電子 ? 2024-05-17 08:01 ? 次閱讀

a8da655a-13e0-11ef-9043-92fbcf53809c.png

本篇評(píng)測(cè)由電子工程世界的優(yōu)秀評(píng)測(cè)者“Bruceou”提供。


1、項(xiàng)目背景

智能家居控制系統(tǒng),是以智能家居系統(tǒng)為平臺(tái),家居電器及家電設(shè)備為主要控制對(duì)象,利用綜合布線技術(shù)、網(wǎng)絡(luò)通信技術(shù)、自動(dòng)控制系統(tǒng)、音頻技術(shù)等將家居生活有關(guān)的設(shè)施進(jìn)行高效集成,提升家居智能、安全、便利、舒適,為我們的生活帶來(lái)很的方便性。隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,隨之而誕生的智能家居成為了物聯(lián)網(wǎng)技術(shù)中的佼佼者。智能家居是隨著人們生活水平的提高而逐漸發(fā)展起來(lái)的朝陽(yáng)產(chǎn)業(yè)。它的出現(xiàn)給人們的生活帶來(lái)極大的便利;同時(shí),智能家居的出現(xiàn)也帶動(dòng)了一大批經(jīng)濟(jì)產(chǎn)業(yè)。對(duì)于傳統(tǒng)的智能家居而言,功能相對(duì)單一,且不能將各種家電設(shè)備之間進(jìn)行有效互聯(lián);再者傳統(tǒng)的智能家居一般采用有線的方式進(jìn)行組網(wǎng),組網(wǎng)不便,維修不易。

2、作品簡(jiǎn)介

本文設(shè)計(jì)了一個(gè)基于ZigBee的智能家居控制系統(tǒng),該系統(tǒng)巧妙地使用了ZigBee的一大優(yōu)勢(shì)--自組網(wǎng)功能,完全避免了傳統(tǒng)的組網(wǎng)方式。ZigBee技術(shù)具有組網(wǎng)簡(jiǎn)單、方便,且組網(wǎng)容量大等優(yōu)點(diǎn)。本智能控制系統(tǒng)將ZigBee技術(shù)和家庭智能網(wǎng)關(guān)技術(shù)有效結(jié)合,以MYD-YG2UL為智能網(wǎng)關(guān)的處理器,在MYD-YG2UL嵌入一個(gè)Linux系統(tǒng),該系統(tǒng)是一個(gè)高度集成的網(wǎng)關(guān)系統(tǒng),從而對(duì)家庭設(shè)備進(jìn)行本地和遠(yuǎn)程操作,真正實(shí)現(xiàn)了家電設(shè)備的智能化。

3、系統(tǒng)框圖

本項(xiàng)目嘗試通過(guò)構(gòu)建一體化、實(shí)時(shí)控制的智能家居,可用于普通居民家庭、大中小型商場(chǎng)以及工業(yè)領(lǐng)域等。下圖展示了家居智能設(shè)備與終端系統(tǒng)互聯(lián)情況。MYD-YG2UL作為控制端,與家具智能設(shè)備直接連接,并接有傳感設(shè)備。同時(shí),MYD-YG2UL作為端點(diǎn)與云端相連,為云端提供家具智能設(shè)備的運(yùn)行情況并接收云端控制命令。遠(yuǎn)程終端設(shè)備可通過(guò)云端實(shí)時(shí)查詢和控制家居智能設(shè)備。

a8e728b2-13e0-11ef-9043-92fbcf53809c.jpg?

本文所提出的智能家居系統(tǒng)解決方案整體框架如圖所示。通過(guò)技術(shù)論證和架構(gòu)分析后,決定將系統(tǒng)劃分為三個(gè)子系統(tǒng):ZigBee無(wú)線傳感器監(jiān)控子系統(tǒng),網(wǎng)關(guān)子系統(tǒng),監(jiān)控子系統(tǒng)。ZigBee無(wú)線傳感器監(jiān)控子系統(tǒng)通過(guò)各個(gè)傳感器節(jié)點(diǎn)采集數(shù)據(jù),將采集的數(shù)據(jù)通過(guò)無(wú)線網(wǎng)絡(luò)系統(tǒng)傳遞給路由節(jié)點(diǎn),再通過(guò)路由節(jié)點(diǎn)將收集的各個(gè)終端節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行二次傳遞給協(xié)調(diào)器,由協(xié)調(diào)器與智能網(wǎng)關(guān)進(jìn)行數(shù)據(jù)交換,以完成數(shù)據(jù)的傳遞。用戶就能在遠(yuǎn)程進(jìn)行查家中的各種環(huán)境信息,實(shí)時(shí)掌握家中的最新動(dòng)態(tài)。網(wǎng)關(guān)子系統(tǒng)有兩大作用,一是連接以太網(wǎng);二是搭載攝像頭采集視頻數(shù)據(jù),實(shí)施遠(yuǎn)程監(jiān)控的功能。智能網(wǎng)關(guān)為整個(gè)智能家居系統(tǒng)的核心所在,協(xié)調(diào)各個(gè)子系統(tǒng)正常運(yùn)轉(zhuǎn)。

4、詳細(xì)設(shè)計(jì)

在系統(tǒng)提供在線查看安全監(jiān)測(cè)數(shù)據(jù)的功能,通過(guò)多傳感器采集數(shù)據(jù),搭建無(wú)線局域網(wǎng),實(shí)時(shí)同步各個(gè)傳感器信息,實(shí)現(xiàn)全方位的安全監(jiān)測(cè)和報(bào)警功能;同時(shí)搭建了Web服務(wù)器,供用戶遠(yuǎn)程查看監(jiān)控信息。

4.1 ZigBee無(wú)線傳感監(jiān)控子系統(tǒng)

ZigBee協(xié)議為智能家居環(huán)境監(jiān)測(cè)提供了無(wú)線自組局域網(wǎng)解決方案。協(xié)調(diào)器節(jié)點(diǎn)可以實(shí)時(shí)獲取到各個(gè)終端節(jié)點(diǎn)的環(huán)境信息,實(shí)時(shí)傳遞給用戶便于用戶查看,路由節(jié)點(diǎn)用于終端節(jié)點(diǎn)的二次傳遞,起到信息傳遞的作用;終端節(jié)點(diǎn)用于通過(guò)各個(gè)傳感器收集環(huán)境信息,判斷采集信息是否達(dá)到預(yù)警、報(bào)警閥值,是否執(zhí)行相應(yīng)動(dòng)作,將用戶指定的信息數(shù)據(jù)通過(guò)路由器傳遞給終端節(jié)點(diǎn),最后在傳遞給用戶,方便用戶了解環(huán)境信息。

4.1.1 ZigBee工作流程圖

ZigBee的工作流程圖如下圖所示。

a8eaf4b0-13e0-11ef-9043-92fbcf53809c.pngFigure 4-1 Z-Stack 工作流程圖

Z-Stack采用操作系統(tǒng)的思想來(lái)構(gòu)建,采用事件輪循機(jī)制,而且有一個(gè)專門(mén)的Timer2 來(lái)負(fù)責(zé)定時(shí)。從CC2530工作開(kāi)始,Timer2 周而復(fù)始地計(jì)時(shí),有采集、發(fā)送、接收、顯示等任務(wù)要執(zhí)行時(shí)就執(zhí)行。當(dāng)各層初始化之后,系統(tǒng)進(jìn)入低功耗模式,當(dāng)事件發(fā)生時(shí),喚醒系統(tǒng),開(kāi)始進(jìn)入中斷處理事件,結(jié)束后繼續(xù)進(jìn)入低功耗模式。如果同時(shí)有幾個(gè)事件發(fā)生,判斷優(yōu)先級(jí),逐次處理事件。這種軟件構(gòu)架可以極大地降級(jí)系統(tǒng)的功耗。整個(gè)Z-Stack 的主要工作流程,如圖所示,大致分為以下6步:

  • 關(guān)閉所有中斷;
  • 芯片外部(板載外設(shè))初始化;
  • 芯片內(nèi)部初始化;
  • 初始化操作系統(tǒng);
  • 打開(kāi)所有中斷;
  • 執(zhí)行操作系統(tǒng)。

4.1.2 ZigBee建立網(wǎng)絡(luò)、加入網(wǎng)絡(luò)流程分析

本設(shè)計(jì)主要是用ZigBee組建網(wǎng)絡(luò)系統(tǒng),建立網(wǎng)絡(luò)、加入網(wǎng)絡(luò)為本設(shè)計(jì)的一個(gè)重點(diǎn),下面分別介紹協(xié)調(diào)器建立網(wǎng)絡(luò)、路由器加入網(wǎng)絡(luò)、終端節(jié)點(diǎn)加入網(wǎng)絡(luò)的組網(wǎng)過(guò)程。協(xié)調(diào)器的建立網(wǎng)絡(luò)過(guò)程如下圖所示。

a8f1f9cc-13e0-11ef-9043-92fbcf53809c.pngFigure 4-2 協(xié)調(diào)器建立網(wǎng)絡(luò)過(guò)程

從上圖可以發(fā)現(xiàn),網(wǎng)絡(luò)的建立是從ZDO來(lái)實(shí)現(xiàn)的,網(wǎng)絡(luò)建立后,從應(yīng)用層收到ZDO_ATATE_CHANGE消息,對(duì)該消息包含當(dāng)前節(jié)點(diǎn)網(wǎng)絡(luò)狀態(tài)。路由器節(jié)點(diǎn)加入網(wǎng)絡(luò)過(guò)程如下圖所示。路由器加入網(wǎng)絡(luò)的過(guò)程是由ZDO實(shí)現(xiàn)的,當(dāng)路由器加入網(wǎng)絡(luò)以后,在應(yīng)用程會(huì)收到當(dāng)前節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)。

a91a3bf8-13e0-11ef-9043-92fbcf53809c.pngFigure 4-3 路由器加入網(wǎng)絡(luò)過(guò)程

終端節(jié)點(diǎn)加入網(wǎng)絡(luò)如下圖所示。由下圖可知,終端節(jié)點(diǎn)加入網(wǎng)絡(luò)的過(guò)程也是由ZDO實(shí)現(xiàn)的,在應(yīng)用層收到該節(jié)點(diǎn)的信息后,即可讀出當(dāng)前的網(wǎng)絡(luò)狀態(tài)。

a925d4e0-13e0-11ef-9043-92fbcf53809c.pngFigure 4-4 終端節(jié)點(diǎn)加入網(wǎng)絡(luò)過(guò)程

4.1.3 ZigBee環(huán)境監(jiān)測(cè)流程

環(huán)境監(jiān)測(cè)的流程圖如下所示。

a92b71a2-13e0-11ef-9043-92fbcf53809c.png?

ZigBee各個(gè)節(jié)點(diǎn)進(jìn)行初始化化后進(jìn)行組網(wǎng),各個(gè)終端節(jié)點(diǎn)不斷采集環(huán)境信息,在一切準(zhǔn)備妥當(dāng)之后,協(xié)調(diào)器就會(huì)定時(shí)向網(wǎng)關(guān)環(huán)境信息。ZigBee子系統(tǒng)與網(wǎng)關(guān)通過(guò)ser2net實(shí)現(xiàn)交互,將ZigBee子系統(tǒng)的協(xié)調(diào)器的串口數(shù)據(jù)傳給網(wǎng)關(guān),網(wǎng)關(guān)通過(guò)TCP協(xié)議與外界交互。智能網(wǎng)關(guān)上電后,進(jìn)行系統(tǒng)初始化,網(wǎng)絡(luò)連接等,等待協(xié)調(diào)器發(fā)送環(huán)境信息,當(dāng)接收到數(shù)據(jù)后,通過(guò)無(wú)線網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送至云端。云端得到相應(yīng)的數(shù)據(jù)后,繪制每個(gè)終端的溫濕度曲線,也可實(shí)時(shí)查看當(dāng)前的環(huán)境信息。當(dāng)然移動(dòng)端也可獲取環(huán)境信息,同時(shí)也可控制家電設(shè)備。另外,為了保證數(shù)據(jù)傳輸?shù)目煽啃?,設(shè)計(jì)了簡(jiǎn)單的數(shù)據(jù)傳輸協(xié)議保證數(shù)據(jù)的可靠交互。

4.2 網(wǎng)關(guān)/監(jiān)控子系統(tǒng)

網(wǎng)關(guān)/監(jiān)控子系統(tǒng)有攝像頭、智能網(wǎng)關(guān)和移動(dòng)終端組成。智能網(wǎng)關(guān)上電之后完成板級(jí)初始化,連接號(hào)WiFi,初始化攝像頭。當(dāng)有用戶請(qǐng)求視頻信息時(shí),智能網(wǎng)關(guān)立即獲取攝像頭數(shù)據(jù)傳給用戶。

a9306dec-13e0-11ef-9043-92fbcf53809c.png

5、具體部署

5.1 ZigBee無(wú)線傳感監(jiān)控子系統(tǒng)

IAR編譯

打開(kāi)工程

\ZStack-CC2530-2.3.0-1.4.0\Projects\zstack\Utilities\SerialApp\CC2530DB\下的SerialApp.eww。

a9446720-13e0-11ef-9043-92fbcf53809c.pngFigure 5-1 編譯固件

編譯完后單擊下載按鈕。

a95068c2-13e0-11ef-9043-92fbcf53809c.pngFigure 5-2 編譯完成

固件燒寫(xiě)

使用SmartRF Flash Programmer燒寫(xiě)Hex固件到ZigBee節(jié)點(diǎn),將Coordinator.hex和EndDevice 1-4.hex分別下載到協(xié)調(diào)器和終端。注意:如果沒(méi)有那么多板子的話,只要下載 Cocodinator.hex和 EndDevice1.hex就可以了。

a954b3a0-13e0-11ef-9043-92fbcf53809c.pngFigure 5-3 下載方法

上位機(jī)調(diào)試

一定要給協(xié)調(diào)器先上電,因?yàn)槭褂玫?a target="_blank">USB轉(zhuǎn)串口,程序自動(dòng)識(shí)別串口。筆者提供免安裝和安裝版本,在這里使用免安裝版本,雙擊ZigBee.exe。筆者這里這是為自動(dòng)刷新數(shù)據(jù)。筆者使用了一個(gè)終端,可看到如下圖所示的信息。

a9595388-13e0-11ef-9043-92fbcf53809c.pngFigure 5-4 上位機(jī)軟件

手機(jī)控制

如果想手機(jī)也控制則需要有無(wú)線路由器,手機(jī)打開(kāi) wifi 并連接好后,先點(diǎn)網(wǎng)絡(luò)設(shè)置,輸入電腦 IP 地址后點(diǎn)連接,手機(jī)顯示連接成功后,會(huì)自動(dòng)刷新數(shù)據(jù)。如下圖所示。a97f8d0a-13e0-11ef-9043-92fbcf53809c.jpga98377b2-13e0-11ef-9043-92fbcf53809c.jpg

Figure 5-5 手機(jī)網(wǎng)路設(shè)置及控制

5.2 網(wǎng)關(guān)/監(jiān)控子系統(tǒng)

網(wǎng)關(guān)子系統(tǒng)可以使用Yocto或者Openwrt系統(tǒng),其中有幾個(gè)關(guān)鍵組件,下面一一講解。

OpenWrt系統(tǒng)編譯

安裝相關(guān)工具和庫(kù)

先更新源:

$sudo apt-get update

安裝git工具

$sudo apt-get install git

安裝依賴的庫(kù)文件

$sudo apt-get install gcc g++ binutils patch bzip2 flex bison cmake make autoconf gettext texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk$ sudo apt-get install gawk grep libc-dev libz-dev perl rsync subversion$ sudo apt install build-essential ccache device-tree-compiler gettext gperf intltool libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev libncurses5-dev libssl-dev libreadline-dev libtool wget nano patch pkgconf python3 python3-pyelftools zlib1g-dev swig texinfo ack xxd

OpenWrt源碼獲取

米爾科技針對(duì)MYD-YG2UL開(kāi)發(fā)板提供兩種獲取源碼的方式,一種是直接從米爾光盤(pán)鏡像中獲取壓縮包,另外一種是使用 git獲取位于 github 上實(shí)時(shí)更新的源碼進(jìn)行構(gòu)建。筆者這里直接從光盤(pán)鏡像獲取源碼壓縮包并將其拷貝到用戶目錄并解壓。

$ tar -xvf myir-renesas-openwrt.tar.bz2

其解壓目錄如下所示。

a987a364-13e0-11ef-9043-92fbcf53809c.png

當(dāng)然也可以從github拉取代碼:

$ git clone https://github.com/MYiR-Dev/myir-renesas-openwrt.git -b develop-rzg2ul-openwrt22

編譯OpenWrt系統(tǒng)還需要依賴linux內(nèi)核,因此需要將myir-renesas-linux.tar.bz2 內(nèi)核源碼解壓到 openwrt 源碼下的 Linux 目錄下。

$ tar -xvf myir-renesas-linux.tar.bz2 -C linux/

配置OpenWrt

下載完OpenWrt的源碼后,為了使OpenWrt支持更多的軟件,需要更新和安裝其它源上面的軟件。

$./scripts/feeds update -a$./scripts/feeds install -a

一切就緒,接下來(lái)就可以開(kāi)始編譯了。在編譯OpenWrt系統(tǒng)之前,我們首先要對(duì)它進(jìn)行配置。

$ make defconfig && make menuconfig

我們就可以通過(guò)方向鍵來(lái)選擇配置選項(xiàng),通過(guò)空格鍵來(lái)選擇配置狀態(tài)。當(dāng)執(zhí)行完上命令后,便會(huì)彈出如圖。

a98bdaa6-13e0-11ef-9043-92fbcf53809c.png

為了讓OpenWrt系統(tǒng)能成功的在我們的開(kāi)發(fā)板上運(yùn)行起來(lái),我們需要做如下配置。

  1. .選擇CPU型號(hào)
    Target System (Renesas) --->
  2. .選擇CPU子型號(hào)
    Subtarget (RZ/G2X MPU soc evk boards (64 bit) --->
  3. .選擇具體路由器型號(hào)Target Profile (myir rzg2ul) --->

Target Image 配置如下。

a99a7bce-13e0-11ef-9043-92fbcf53809c.png

Advanced configuration options 配置,使用外部的內(nèi)核源碼。

a99ea5aa-13e0-11ef-9043-92fbcf53809c.png

使能 OpenWrt SDK。

a9aa1ed0-13e0-11ef-9043-92fbcf53809c.png

當(dāng)然還可以使能 Toolchain,用于應(yīng)用開(kāi)發(fā)。

a9b4fb2a-13e0-11ef-9043-92fbcf53809c.png

還可以配置Image configuration ,比如版本信息。

a9c37218-13e0-11ef-9043-92fbcf53809c.png

PPP 設(shè)置,取消勾選PPP選項(xiàng),不然會(huì)報(bào)錯(cuò)。

a9ce613c-13e0-11ef-9043-92fbcf53809c.png

如果勾選PPP選項(xiàng),報(bào)錯(cuò)信息如下。

a9da8cdc-13e0-11ef-9043-92fbcf53809c.png

然后保存退出,這樣就配置完成了。

編譯OpenWrt

最后執(zhí)行make V=99,開(kāi)始漫長(zhǎng)的編譯,編譯時(shí)間由電腦配置決定,由于編譯時(shí),需要的軟件是從網(wǎng)絡(luò)上面下載,所以這里要求電腦必須能夠上網(wǎng)。V=99意思顯示所有信息。

$make V=99

在編譯前,可是用以下命令將源碼先下載:

$ make -j8 download V=s

第一次編譯大概需要4、5個(gè)小時(shí),以后再次編譯,則分分鐘搞定。編譯出來(lái)的鏡像位于bin/targets/renesas/armv8目錄下面。

$ls bin/targets/renesas/armv8

a9dff014-13e0-11ef-9043-92fbcf53809c.png

其中openwrt-renesas-armv8-myir_rzg2ul-xxx.gz就是我們要的鏡像。燒寫(xiě)到板子上面即可啟動(dòng)。這樣最簡(jiǎn)單OpenWrt就可以啟動(dòng)了,不過(guò)好多功能都沒(méi)有,一步一步來(lái),不斷深入。這樣最簡(jiǎn)單OpenWrt就可以啟動(dòng)了,其他的功能在此基礎(chǔ)上累加就可以了。當(dāng)然也可使用build_dir/target-aarch64_generic_musl/linux-renesas_armv8目錄下的root.ext4文件系統(tǒng)及內(nèi)核等文件。

基于ser2net的數(shù)據(jù)傳輸

ser2net(Serial to Network Proxy)給用戶提供了一種網(wǎng)絡(luò)與串口相互連接的軟件,它可以將串口數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳輸?shù)竭h(yuǎn)程設(shè)備上。ser2net是一種基于TCP協(xié)議的串口服務(wù)器,它通過(guò)將串口數(shù)據(jù)轉(zhuǎn)換成網(wǎng)絡(luò)數(shù)據(jù)包,實(shí)現(xiàn)了串口數(shù)據(jù)的遠(yuǎn)程傳輸。ser2net的工作原理可以分為以下幾個(gè)步驟:

1.配置串口參數(shù):首先需要對(duì)sr2net進(jìn)行配置,包括串口的波特率、數(shù)據(jù)位、停止位等參數(shù),以及網(wǎng)絡(luò)相關(guān)的配置,如IP地址、端口號(hào)等。

2.建立TCP連接:ser2net在啟動(dòng)后會(huì)監(jiān)聽(tīng)指定的端口,當(dāng)有客戶端請(qǐng)求建立TCP連接時(shí),ser2net會(huì)接受連接請(qǐng)求,并與客戶端建立起TCP連接。

3.串口數(shù)據(jù)轉(zhuǎn)發(fā):一旦TCP連接建立成功,ser2net會(huì)開(kāi)始監(jiān)聽(tīng)串口上的數(shù)據(jù)。當(dāng)有數(shù)據(jù)到達(dá)時(shí),ser2net會(huì)將數(shù)據(jù)通過(guò)TCP連接發(fā)送給客戶端。同時(shí),ser2nt會(huì)監(jiān)聽(tīng)客戶端發(fā)送的數(shù)據(jù),并將其轉(zhuǎn)發(fā)到串口上。

4.數(shù)據(jù)處理:ser2nt還支持對(duì)數(shù)據(jù)進(jìn)行處理和轉(zhuǎn)換。例如,可以對(duì)接收到的數(shù)據(jù)進(jìn)行校驗(yàn)、解析或加工,然后再將其發(fā)送給客戶端。

添加 ser2net 應(yīng)用程序

首先進(jìn)入 OpenWrt 系統(tǒng)源碼,然后運(yùn)行 make menuconfig 命令進(jìn)行配置。

# make menuconfig

在彈出的配置菜單中,配置如下。Network --><*>ser2net然后選中 ser2net 這個(gè)選項(xiàng),如圖所示。

a9ef9492-13e0-11ef-9043-92fbcf53809c.png

最后退出保存,再編譯。

# make V=99

配置 Wi-Fi 串口

既然是 Wi-Fi 串口, 那么我們就可以理解為它由兩部分組成,一部分是網(wǎng)絡(luò)編程器的 TCP服務(wù)器,用于接收客戶端通過(guò) Wi-Fi 傳來(lái)的數(shù)據(jù);另一部分就是串口,用于將 TCP 服務(wù)器接收到的數(shù)據(jù)通過(guò)串口發(fā)送出去。既然是 TCP 服務(wù)器,那么我們需要設(shè)置它的 IP 地址和端口號(hào)。既然是串口,那么我們需要設(shè)置它的波特率等參數(shù)。那么,這些參數(shù),我們?cè)趺磥?lái)設(shè)置呢?通過(guò)修改 ser2net.conf 這個(gè)配置文件來(lái)實(shí)現(xiàn),位于開(kāi)發(fā)板上的/etc 目錄下。將上面編譯出來(lái)的固件,重新燒寫(xiě)到開(kāi)發(fā)板上面,然后上電啟動(dòng),進(jìn)入/etc 目錄。

# cd /etc# vi ser2net.conf

只需要在 ser2net.conf這個(gè)配置中的最后面添加一行以下內(nèi)容即可。

33333:raw:0:/dev/ttySC4:115200

最后保存退出,然后重啟開(kāi)發(fā)板,即可。接下來(lái)就需要修改配置文件。

$ vim ser2net.conf33333:raw:600:/dev/ttySC4:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCT

ser2net工具安裝完后,可執(zhí)行文件放在:/sbin/ser2net,新建配置文件ser2net.conf啟動(dòng)ser2net.。

$ /sbin/ser2net -C ser2net.conf

當(dāng)然也可直接使用命令。

$ /sbin/ser2net -C "33333600:/dev/ttySC4:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS"

然后查看ser2net運(yùn)行狀態(tài)。

$ ps -elf | grep ser2net

a9fb5d86-13e0-11ef-9043-92fbcf53809c.png

ZigBee的數(shù)據(jù)就通過(guò)ser2net進(jìn)行數(shù)據(jù)傳輸?shù)?。如果是OpenWrt直接將ser2net配置進(jìn)入系統(tǒng)即可。

Yocto系統(tǒng)移植ser2net

如果是Yocto系統(tǒng),需要移植ser2net。

1.下載源碼

ser2net的官網(wǎng)為://http://ser2net.sourceforge.net/,在頁(yè)面中可以找到下載鏈接。筆者的版本為3.5.1??梢酝ㄟ^(guò)頁(yè)面中的下載鏈接進(jìn)行下載,也可以通過(guò)下面的命令行進(jìn)行下載。

wget https://udomain.dl.sourceforge.net/project/ser2net/ser2net/ser2net-3.5.1.tar.gz

2.解壓源碼

$ tar -xvf ser2net-3.5.1.tar.gz$ cd ser2net-3.5.1/

3.配置

./configure --host=aarch64-poky-linux

“arm-linux”是交叉編譯工具的前綴,根據(jù)自己的實(shí)際情況進(jìn)行修改。

4.編譯并安裝

設(shè)置環(huán)境變量:

$ source /opt/poky/3.1.21/environment-setup-aarch64-poky-linux

編譯

$ make

最后將程序下載到開(kāi)發(fā)板,修改用戶權(quán)限后即可運(yùn)行。

基于mipg-streamer視頻監(jiān)控

配置 OpenWrt 支持 usb 攝像頭

要支持?jǐn)z像頭,就必須配置上攝像頭的驅(qū)動(dòng),因?yàn)槭敲怛?qū)的 USB 攝像頭,因此我們必須配置上 UVC 驅(qū)動(dòng),具體如圖所示。首先,我們選中內(nèi)核模塊進(jìn)行配置。Kernel modules --->Video Support ---><*> kmod-video-core<*> kmod-video-uvc-*- kmod-video-videobuf2

a9ff7ede-13e0-11ef-9043-92fbcf53809c.png

編譯。

$make V=99

將固件燒寫(xiě)到板子中,插入U(xiǎn)SB攝像頭,接口查看是否有video0這個(gè)設(shè)備節(jié)點(diǎn)了。

配置 OpenWrt 支持 mipg-streamer 軟件

mipg-streamer 就是一款用于視頻數(shù)據(jù)采集、視頻數(shù)據(jù)格式轉(zhuǎn)換、視頻數(shù)據(jù)傳輸?shù)能浖?wù)器。因此為了讓 openwrt 系統(tǒng)支持該軟件,我們需要將它配置進(jìn)去。Multimedia ---><*> mjpg-streamer

aa072b7a-13e0-11ef-9043-92fbcf53809c.png

就這樣我們就讓 openwrt 系統(tǒng)支持無(wú)線監(jiān)控,按前面的方法配置好后,保存退出,然后 make V=99,最后將編譯出來(lái)的固件燒寫(xiě)到我們的開(kāi)發(fā)板上面。然后啟動(dòng)系統(tǒng)。啟動(dòng)完成,插入我們的攝像頭,就會(huì)看到/dev/video0 這個(gè)設(shè)備節(jié)點(diǎn)。usb 攝像頭接入開(kāi)發(fā)板后提示如下:aa27df32-13e0-11ef-9043-92fbcf53809c.png

aa33f3c6-13e0-11ef-9043-92fbcf53809c.png

如果插上提示不對(duì),請(qǐng)先做上一章,再重新生成固件即可。然后運(yùn)行 mipg-streamer 軟件:

#mjpg_streamer -i "input_uvc.so -d /dev/video0" -o "output_http.so"

其中:-i 表示指定輸入,這里輸入為:input_uvc.so 即 uvc(usb video),-d 是設(shè)備位置,我們攝像頭的設(shè)備位置在:/dev/video0,-y 用于區(qū)分一般攝像頭和支持 MJPEG 的攝像頭,-o 指定輸出,這里輸出到 output_ http.so 即 http(可以理解為輸出到網(wǎng)頁(yè)上),-w指定 web 服務(wù)器為 www。運(yùn)行命令后,可以得到如下圖的信息:

aa3eeaec-13e0-11ef-9043-92fbcf53809c.png

好的,電腦上必須用火狐瀏覽器才能看到時(shí)視頻哦,我們打開(kāi)網(wǎng)頁(yè)輸入:http://192.168.2.1:8080/?action=stream其中 192.168.2.1 是開(kāi)發(fā)板的 ip 地址,8080 是 http tcp 的端口,action表示某個(gè)動(dòng)作,這里表示:stream。通過(guò)這個(gè)輸入我們就可以從網(wǎng)頁(yè)完成視頻的監(jiān)控了!

6、總結(jié)

由于此項(xiàng)目中涉及到的知識(shí)非常的多,如:

  • Linux開(kāi)發(fā),包括系統(tǒng)移植,驅(qū)動(dòng)開(kāi)發(fā)等
  • 電腦端C#程序,包括串口、界面開(kāi)發(fā)等;
  • 搭建安卓開(kāi)發(fā)環(huán)境,學(xué)習(xí)安卓界面開(kāi)發(fā),安卓的socket通訊;
  • ZigBee組網(wǎng)實(shí)驗(yàn),多終端通訊,對(duì)于簡(jiǎn)單項(xiàng)目在我們上面修改一下就可做成自己的產(chǎn)品
  • 項(xiàng)目中使用的通訊協(xié)議是基本Modbus協(xié)議修改而來(lái)的,結(jié)構(gòu)相同只是命令碼不同,更標(biāo)準(zhǔn)、更完善。

aa498f38-13e0-11ef-9043-92fbcf53809c.jpg

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 智能家居
    +關(guān)注

    關(guān)注

    1924

    文章

    9397

    瀏覽量

    182139
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4771

    瀏覽量

    96155
  • 家居系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    7046
  • 米爾電子
    +關(guān)注

    關(guān)注

    0

    文章

    89

    瀏覽量

    414
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    米爾-RZ/G2UL開(kāi)發(fā)板開(kāi)發(fā)板開(kāi)箱與接口介紹

    開(kāi)發(fā)板簡(jiǎn)介 MYC-YG2UL核心開(kāi)發(fā)板基于RZ/G2UL處理器,通用64位工業(yè)MPU
    發(fā)表于 01-14 13:25

    米爾-RZ/G2UL開(kāi)發(fā)板】1.開(kāi)箱

    米爾-RZ/G2UL開(kāi)發(fā)板】1.開(kāi)箱 開(kāi)箱視頻 開(kāi)箱也許會(huì)遲到,但是絕對(duì)不會(huì)缺席。今天開(kāi)箱
    發(fā)表于 02-04 23:38

    米爾-RZ/G2UL開(kāi)發(fā)板】3.雜項(xiàng)測(cè)試

    米爾-RZ/G2UL開(kāi)發(fā)板】3.雜項(xiàng)測(cè)試 不知道為啥我這板子好多奇奇怪怪的調(diào)試信息蹦出來(lái),
    發(fā)表于 02-28 15:25

    米爾RZ/G2L開(kāi)發(fā)板-試用體驗(yàn)】開(kāi)箱

    感謝 感謝電子發(fā)燒友論壇、感謝米爾電子,把米爾RZ/G2L
    發(fā)表于 05-14 19:41

    米爾RZ/G2L開(kāi)發(fā)板-試用體驗(yàn)】開(kāi)箱 + 開(kāi)機(jī)

    感謝 感謝電子發(fā)燒友論壇、感謝米爾電子,把米爾RZ/G2L
    發(fā)表于 05-18 19:33

    米爾RZ/G2L開(kāi)發(fā)板-試用體驗(yàn)】米爾RZ/G2L開(kāi)發(fā)板開(kāi)箱視頻

    今天剛剛收到米爾RZ/G2L開(kāi)發(fā)板,拆開(kāi)包裹后給人的感覺(jué)是驚艷,板卡設(shè)計(jì)真的很棒,來(lái)看看視頻
    發(fā)表于 05-22 21:58

    150套開(kāi)發(fā)板免費(fèi)送!還有5G手機(jī)拿?米爾RZ/G2L開(kāi)發(fā)板創(chuàng)意秀

    /12 05 送的是哪款開(kāi)發(fā)板? 米爾MYD-YG2LX開(kāi)發(fā)板,該款產(chǎn)品采用
    發(fā)表于 05-24 16:36

    米爾RZ/G2L開(kāi)發(fā)板-試用體驗(yàn)】米爾RZ/G2L開(kāi)發(fā)板使用SSH登錄

    收到的米爾RZ/G2L開(kāi)發(fā)板上電測(cè)試一下SSH登錄方式和其它測(cè)試! SSH登錄 在使用
    發(fā)表于 06-11 21:47

    米爾RZ/G2L開(kāi)發(fā)板-試用體驗(yàn)】認(rèn)識(shí)一下米爾RZ/G2L開(kāi)發(fā)板的核心

    收到米爾RZ/G2L開(kāi)發(fā)板后一直對(duì)米爾旗下
    發(fā)表于 07-29 00:21

    【有獎(jiǎng)試用15期】HD-G2UL-EVM開(kāi)發(fā)板,優(yōu)秀評(píng)測(cè)贏華為智能手表

    是HD-G2UL系列核心,采用RZ/G2UL 處理器,支持yocto Linux及Ubun
    的頭像 發(fā)表于 11-22 08:25 ?911次閱讀

    米爾RZ/G2L開(kāi)發(fā)板-初體驗(yàn)

    介紹米爾RZ/G2L開(kāi)發(fā)板
    的頭像 發(fā)表于 05-15 09:10 ?892次閱讀
    <b class='flag-5'>米爾</b><b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2</b>L<b class='flag-5'>開(kāi)發(fā)板</b>-初體驗(yàn)

    米爾RZ/G2L開(kāi)發(fā)板 TF卡讀寫(xiě)速度測(cè)試

    米爾RZ/G2L開(kāi)發(fā)板TF卡讀寫(xiě)測(cè)試
    的頭像 發(fā)表于 05-22 09:07 ?1255次閱讀
    <b class='flag-5'>米爾</b><b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2</b>L<b class='flag-5'>開(kāi)發(fā)板</b> TF卡讀寫(xiě)速度測(cè)試

    米爾RZ/G2L開(kāi)發(fā)板 安裝交叉編譯器

    米爾RZ/G2L開(kāi)發(fā)板安裝交叉編譯器
    的頭像 發(fā)表于 05-26 22:05 ?1947次閱讀
    <b class='flag-5'>米爾</b><b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2</b>L<b class='flag-5'>開(kāi)發(fā)板</b> 安裝交叉編譯器

    系列-RZ/G2UL處理器核心-米爾開(kāi)發(fā)板

    MYC-YG2UL核心開(kāi)發(fā)板基于RZ/G2UL處理器,通用64位工業(yè)MPURZ/G2UL
    發(fā)表于 11-10 11:04 ?0次下載

    RZ系列開(kāi)發(fā)板6折,米爾將助力研討會(huì)

    展出RZ/G2L、RZ/G2UL系列核心開(kāi)發(fā),并進(jìn)行demo演示,將圍繞“嵌入式CPU模組助力
    的頭像 發(fā)表于 12-07 08:14 ?356次閱讀
    <b class='flag-5'>RZ</b>系列<b class='flag-5'>開(kāi)發(fā)板</b>6折,<b class='flag-5'>米爾</b>將助力<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>研討會(huì)