freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于raspberrypi實現(xiàn)的智能家居(編輯修改稿)

2025-07-24 18:41 本頁面
 

【文章內(nèi)容簡介】 m 兩年有余,深刻的被Vim 的強大所折服,通過按鍵的組合和插件的使用, Vim 賦予機械的二極管、門電路生機和活力。當然 Emacs 也是非常強大的一款編輯器。對于經(jīng)常使用 GNU/LINUX,或者做嵌入式開發(fā)的人來說,Vim、Emacs 應該熟練掌握一種。Vim 更加輕盈,所有的 GNU/LINUX 操作系統(tǒng)默認安裝Vi(Vim 的前身) 。相比較而言 Emacs 更加靈活。簡單根據(jù)興趣愛好來講,底層開發(fā)人員(硬件到操作系統(tǒng))適宜使用 Vim,上層開發(fā)人員(操作系統(tǒng)到網(wǎng)絡(luò))使用 Emacs。通常嵌入式設(shè)備,例如樹莓派資源有限,我們總是在個人電腦上完成開發(fā)過程然后向嵌入式設(shè)備移植,另外我們也需要借助個人電腦的一些外設(shè),如鍵盤和鼠標,完成一些工作。幾個工具可以幫助我們遠程控制目標機器或者方便調(diào)試:SSH 、VNC、USB 轉(zhuǎn)串口、Mini/Gtkterm 。 SSH,Secure Shell 安全殼協(xié)議,一項創(chuàng)建在應用層和傳輸層基礎(chǔ)上的安全協(xié)議,為計算機上的 Shell(殼層或者命令解釋器)提供安全的傳輸和使用環(huán)境。SSH 可以使得我們獲得遠程運行 LINUX 系統(tǒng)命令行的能力,另外SCP 命令可以進行文件傳輸。VNC,Virtual Network Computing,一種使用RFB 協(xié)定的屏幕畫面分享及遠程操作軟件。此軟件借由網(wǎng)絡(luò),可以傳送鍵盤與鼠標的動作及實時的屏幕畫面。例如,筆者使用的是 Tightvnc,正確安裝并配置之后,便可以在個人電腦上虛擬樹莓派的桌面環(huán)境,節(jié)省了用于購買鼠標和鍵盤的費用,同時方便的進行遠程操作桌面。SSH 只能提供給用戶命令行工具,更加節(jié)省資源,而 Tightvnc 的圖形界面,更易于新手使用,并且有極少數(shù)工作也只能在圖形界面下完成,故而也是很有價值的。下面是 USB 轉(zhuǎn)串口和 Mini/Gtkterm ,在無法連接網(wǎng)絡(luò)或者系統(tǒng)出現(xiàn)故障時,我們還可以通過樹莓派的串口,對它進行調(diào)試。為了方便在個人電腦上顯示串口窗口,我們需要將串口橋接至 USB 接口。這就要用到 PL2303芯片。PL2303 將 USB 端口和標準 RS232 端口連接起來,兩塊大的片上緩存調(diào)配兩個方向的數(shù)據(jù)流,為了提高傳輸速率采用了 USB 塊狀數(shù)據(jù),串口自動進行信號握手。這使之獲得了比傳統(tǒng) UART 控制器更高的信息傳送速率。將樹莓派的第 6 腳(地) ,8 腳、10 腳(UART 收發(fā))分別與模塊的相應引腳相連,USB 口接電腦,樹莓派默認將內(nèi)核啟動信息從 UART 口輸出,同時正常工作時 UART 也可以作為調(diào)試和控制窗口。如下圖示筆者的串口連接方法: 圖 23 USB 轉(zhuǎn)串口連接筆記本另外注意,樹莓派可以通過對 GPIO 第 2 腳+5V 來供電,而 PL2303 也正好有一個+5V 引腳,如果樹莓派外接設(shè)備不是很多的話(如只接網(wǎng)線) ,我們可以直接將上述的+5V 對應連接,使樹莓派正常工作。上圖,是筆者總結(jié)出的樹莓派最簡工作方式。下面需要一款程序查看串口發(fā)送來的信息,這就要用到 Mini/Gtkterm 。Mini 是一種文本模式的串口通信工具,類似于微軟系統(tǒng)的超級終端,可以模擬 ANSI 和 VT102 終端。功能強大,應用稍顯復雜。Gtktrem 是基于 GTK+開發(fā)的串口調(diào)試程序,圖像界面,簡單實用。筆者使用的是 Gtkterm,感覺不錯,但是 Mini 的文本操作模式更適合 GNU/LINUX 環(huán)境。如果個人電腦安裝的是微軟系統(tǒng)的話,可以是使用超級終端。雖然最近幾年 GNU/LINUX 系統(tǒng)特別是 UBUNTU 發(fā)行版,在圖形界面方面已經(jīng)做的相當花哨,但是對于一名高手或者針對嵌入式開發(fā)來說,我們應該熟練掌握文本界面的使用,甚至在文本里面瀏覽網(wǎng)頁。這里要提到兩款比較著名的文本瀏覽器 Lynx 和 W3m。Lynx 是純文本網(wǎng)頁瀏覽器,可以在 UNIX/LINUX/MAC 系統(tǒng)中使用,歷史悠久,并且仍在積極的開發(fā)之中。用戶眾多,功能強大。W3m 是一款基于文本的網(wǎng)頁瀏覽器,支持多種操作系統(tǒng),在命令行終端可以很好的支持中文,和 Emacs 有一定淵源。這里不做詳細介紹。另外要提及一個 GNU/LINUX 下的圖形界面開發(fā)工具,GTK+。GTK+,GIMP ToolKit ,一個生成跨平臺的圖形界面開發(fā)工具。GTK+提供一整套開發(fā)控件,使得我們可以使用他來開發(fā)小到“HelloWorld!”大至 Gnome 桌面的各種應用。由于其跨平臺性,GTK+開發(fā)的工具在 GNU/LINUX,微軟系統(tǒng)上都可以運行。盡管 GTK+自身采用 C語言開發(fā),在其設(shè)計之初就考慮到了對于多種語言的支持,如C++、 java、python 等。下圖是筆者的 Debian 桌面:圖 24 筆者漂亮的 Gnome 桌面補充一點內(nèi)容,盡管筆者在設(shè)計過程中沒有用到,還是比較有意義的一個開源軟硬件平臺——Arduino。Arduino 是一個開源的單片機控制器,它使用 Atmel AVR 單片機,采用了開放源代碼的軟硬件平臺,并且使用類似 JAVA、C 語言的 Processing/Wiring 開發(fā)環(huán)境。與 8051 單片機不同,其集成開發(fā)環(huán)境可以非常方便的幫助我們實現(xiàn) USB 讀寫、圖像采集等功能。樹莓派硬件操作的實時性不好,而 Arduino 的網(wǎng)絡(luò)通信和計算能力不夠,二者結(jié)合,以樹莓派作為上位機進行網(wǎng)絡(luò)通信處理大量數(shù)據(jù),使用 Arduino 作為下位機控制外部器件,是一個不錯的組合(當然可以換成如 UDOO 之類的高級 ARM 板子) 。下圖是 Arduino 開發(fā)環(huán)境的簡圖:圖 25 Arduino IDE 展示 設(shè)計功能在 ARM+GNU/LINUX 軟硬件平臺下面,我們可以實現(xiàn)各種功能,簡單來說可以分為本地應用、網(wǎng)絡(luò)應用。本地應用主要包括 GPIO 口、串口、SPI 和 I2C 的使用,用來控制外部引腳的高低電平或者數(shù)據(jù)流以控制外部器件。還能建立家庭無線局域網(wǎng),將樹莓派打造成為網(wǎng)絡(luò)視頻播放器。網(wǎng)絡(luò)應用,主要包括建立服務器、服務器開放以及軟件源的制作。 第 3 章 本地應用設(shè)計 GPIO 引腳控制本地應用開發(fā)主要有三種方法,介紹如下。經(jīng)典法的 C 語言開發(fā):首先下載并安裝 airspayce 網(wǎng)站 BCM2835 有關(guān)輸入輸出的庫函數(shù),編譯并安裝。該庫函數(shù)提供了各種端口操作函數(shù)可供使用,主要有:GPIO 引腳、SPI 、I2C、系統(tǒng)時鐘。附錄里面有 SPI 測試程序可供參考。其中缺少串口函數(shù),但是各種外設(shè),例如筆者曾經(jīng)在樹莓派上用到的心電采集模塊、北斗模塊、與上位機或者 Arduino 通信等等,都需要用到串口,所以串口非常重要。另外,樹莓派以及一些嵌入式系統(tǒng)默認的會將啟動信息通過串口輸出,串口也可以被當做調(diào)試終端來使用。如果要把串口回歸其本性,我們需要修改一些設(shè)置。將/boot/ 和 ttyAMA0 有關(guān)的信息刪除,并將/etc/inttab 文件找到包含/ttyAMA0/ 的行,在前面加“” 將該項注釋掉。簡潔的 Python 語言開發(fā):上面我們提到的是傳統(tǒng)的經(jīng)典的 C 語言開發(fā)方法,而是用 Python 可以極大的提高我們的開發(fā)效率。Python 是面向?qū)ο蟮母呒壘幊陶Z言,使用它可以加速開發(fā),高效的與系統(tǒng)整合,效率高且維護費用低,跨平臺、開源。在使用的過程中我們會發(fā)現(xiàn) Python 體現(xiàn)在樹莓派的方方面面。下面的例子,簡單展示了一個 Python 腳本,其簡練可見一斑:import wiringpi from time import sleep io = () (18,) Setup pin 18 (GPIO1) while True: (18,) Turn on light sleep(2) (18,) Turn off sleep(2)對于電腦初學者來說,Python 有不可抗拒的魅力。注意,篇幅有限,本文沒有對具體 GPIO 引腳的編程進行詳盡的說明。功能強大的 Shell 編程:但凡使用過 GNU/LINUX 肯定對于 Shell 非常熟悉,它不僅是一個命令解釋器,其內(nèi)置的命令可以非常方便幫助我們完成系統(tǒng)各種日常維護、編輯文件、查看網(wǎng)絡(luò)等等工作。在 Shell 雙擊 TAB 系統(tǒng)會提示你是否輸出各種命令,例如在我的 Debian 系統(tǒng)中顯示有 2756 個命令可用。 Python 編程和 Shell編程非常類似,這里不做詳細介紹,在用戶熟練使用 LINUX 之后應該試著學習 Shell 解決日常工作。硬件編程之外我們需要注意一些事情。樹莓派 GPIO 口默認除電源腳為+5v,其他引腳均為+ 高,0V 低。上面提到的 Arduino 默認為+5v 高,0v 低,二者不可直接相連,最好使用三極管電路將 電平轉(zhuǎn)成 5V。如果外部設(shè)備需要較大電流的話,也需要可慮各個引腳的負載能力。切記,切記!樹莓派 GPIO 引腳內(nèi)部沒有保護電路,千萬不要不將+5V 與地短路,后果很嚴重。如果使用電池供電的話,需要用到線性電源或者開關(guān)電源。相比較而言線性電源效率低但噪聲小,開關(guān)電源效率高但噪聲大。兩種電源筆者都曾經(jīng)使用過,因為自己所連接的外設(shè)需要的電流較大(總電流大于 ),使用 7805 做線性電源自身功耗相當大,散熱效果很差。后來改用 LM2576做開關(guān)電源,效果明顯好轉(zhuǎn)。開關(guān)電源核心是 LM2576 芯片,外加幾個電容、二極管、電感即可,考慮到兼容性采用 USB 接口輸出+5V 。下圖筆者自制的開關(guān)電源外形圖:圖 31 LM2576 開關(guān)電源 無線路由器的實現(xiàn)樹莓派自身連接有線網(wǎng)絡(luò)(參看下一章) ,通過外接無線模塊,建立無線局域網(wǎng)。本項目所使用的無線模塊是 RT5370,主要是 RT5370 的配置:我們要用到兩款軟件 Hostapd 、Udhcp。Hostapd 是一個接入點和驗證服務器的用戶空間守護進程,它實現(xiàn)了 的接入管理、RADIUS 客戶端和 EPA 認證服務器。Udhcp 是一款專用于嵌入式設(shè)備的 DHCP 軟件,功能比個人電腦上面的 DHCP 程序弱,使用簡單方便。在這里我們只用到 udhcpd,亦即 dhcp 客戶端程序。 連接各個外設(shè)啟動樹莓派,運行下面命令查看 RT5370 是否被正確識別。$ sudo lsusb Bus 001 **************************Bus 001 **************************Bus 001 **************************Bus 001 Device 007 :ID 148f:5370 Ralink Technology , Corp, RT5370 本機識別正常,安裝相關(guān)軟件:$ sudo aptget install hostapd udhcpd 下面配置 DHCP 服務器,編輯文件 /etc/ , 添加如下內(nèi)容:start DHCP 可分配的 IP 地址空間 end 應為是在家庭內(nèi)使用,數(shù)量不必過多 interface wlan0 Udhcp 服務器的工作設(shè)備remaining yesopt dns DHCP 客戶端設(shè)備使用的 DNS 服務器opt sub 子網(wǎng)掩碼opt router 無線網(wǎng)的網(wǎng)關(guān),即樹莓派的無線 IP 地址 opt lease 864000 DHCP 服務器默認運行時間,10 天后自動關(guān)閉 使能 DHCP 服務器開機運行,修改 /etc/default/udhcpd 將DHCP_ENABLED=”no”改為:DHCP_ENABLED=”no” 將/etc/work/interface 添加或者對相應行做如下修改:iface wlan0 i static固定樹莓派的無線地址作為局域無線網(wǎng)的網(wǎng)關(guān) address mask allowhotplug wlan0wparoam /etc/wpa_supplicant/iface default i dhcp配置 hostapd。可以參看/etc/hostapd/examples/ 中的內(nèi)容。編輯(或者生成)文件/etc/hostapd/ 添加以下內(nèi)容:interface=wlan0 要使用的網(wǎng)卡driver=nl80211 驅(qū)動名稱ssid=My_AP 無線局域網(wǎng)的名稱hw_mode=g channel=6 hostapd 運作的頻率macaddr_acl
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1