做網(wǎng)站用舊域名好不好最新全國疫情消息
文章目錄
- 前言
- 一、閱讀Makefile可以迅速了解整個項目框架
- 二、項目框架中的服務(wù)器:boa
- 三、接口:cgi
- 四、項目文件
- 總結(jié)
前言
項目框架敬上!!!
一、閱讀Makefile可以迅速了解整個項目框架
項目中的Makefile主要分為三個部分:編譯、安裝、卸載
(1)編譯:make;
指定交叉編譯工具鏈選用GCC或是ARM,包括驅(qū)動的編譯,給出內(nèi)核的編譯路徑
(2)安裝:make install;
實質(zhì)是根據(jù)需求對編譯生成文件的合理分配(比如生成的.cgi文件需要放置在boa服務(wù)器的)
(3)卸載: make clean;
將安裝的文件刪除
目前能理解到的Makefile最大的用處就是在項目開發(fā)中進(jìn)行項目的編譯以及安裝和卸載,真的非常方便;
2.以數(shù)據(jù)下行的路徑,分文件和功能理解項目
二、項目框架中的服務(wù)器:boa
能夠?qū)W(wǎng)頁進(jìn)行管理,對boa進(jìn)行配置能夠?qū)崿F(xiàn)瀏覽器和APP的數(shù)據(jù)交互,但是數(shù)據(jù)交互過來是以form表單的形式;boa服務(wù)器就是web服務(wù)器,只不過進(jìn)行交互的實體邏輯.c文件是.cgi格式的,http報文解析都是通過boa自己實現(xiàn)的,用戶只需要負(fù)責(zé)從from表單中提取數(shù)據(jù)即可,所以這個cgi文件實現(xiàn)的就是對html數(shù)據(jù)進(jìn)行解析轉(zhuǎn)化,進(jìn)而進(jìn)行下一步的邏輯操作;
三、接口:cgi
cgi的本質(zhì)就是interface,將.c文件編譯為boa服務(wù)器需要的.cgi文件,再將生成的文件拷貝到boa服務(wù)器的目錄下,這里可以直接分析cgi接口下的Makefile,編譯過程一目了然;
四、項目文件
(1)led.html,該文件中位于/boa/www/目錄下,可以通過boa服務(wù)器下的boa.conf文件進(jìn)行配置,包括登錄默認(rèn)網(wǎng)頁(僅地址訪問)的html文件也都可以進(jìn)行配置;
可以進(jìn)行l(wèi)ed的亮滅控制(四個燈哪一個燈亮燈滅都可以),比如2號燈亮,則第一個文本框?qū)?,第二個文本框?qū)?即可,點擊sure;緊接著數(shù)據(jù)會由網(wǎng)頁通過http協(xié)議將數(shù)據(jù)下發(fā)給boa服務(wù)器,服務(wù)器中的cgi_led.cgi文件開始進(jìn)行數(shù)據(jù)解析和業(yè)務(wù)邏輯處理;
(2)cgi_led.c c語言格式的APP業(yè)務(wù)邏輯處理文件;
cgi_led.cgi 能夠應(yīng)用于boa服務(wù)器的業(yè)務(wù)邏輯處理文件;
cgi_led.c 文件中邏輯處理大致如下:
接收并解析來自于網(wǎng)頁的控制命令(哪一個燈亮或哪一個燈滅)
將命令存儲于控制led結(jié)構(gòu)體中并使用ioctl進(jìn)行控制
(3)驅(qū)動文件中ioctl的命令實現(xiàn)大致如下:
根據(jù)ioctl的第二形參確定開燈或關(guān)燈
根據(jù)第三個參數(shù)確定開第幾個燈或者關(guān)閉第幾個燈(gpioremap)
到此為止從網(wǎng)頁端到硬件控制的流程已經(jīng)全部梳理完畢;
總結(jié)
本期主要分享的是使用網(wǎng)頁控制硬件的流程,主要是梳理了整個項目的基本框架,項目內(nèi)容相對來講比較單一,后續(xù)會逐步添加功能;最后,各位小伙伴們?nèi)绻矚g我的分享可以點贊收藏哦,你們的認(rèn)可是我創(chuàng)作的動力,一起加油!