假設你的linux電腦是乙個嵌入式主機.這個主機下面設計乙個程式,做乙個串列埠<->網路對映
就是說網路埠a對應串列埠b,a+1對應串列埠b+1,...a+n對應串列埠b+n.當別人用tcp連線你的網路埠k的時候,就向在讀寫網路埠k對應的串列埠w。注意,可以允許很多個人同時連線網路埠k,你可以給他們設定許可權,有的ip可以讀,有的可以讀寫,串列埠w得到的資料你必須**到連線它的所有網路埠k的tcp客戶那裡。埠k的tcp客戶發來的資料直接,或者按照你的要
求做某種轉化,傳送給串列埠w。
現在有人做這個,這個東西可以讓使用者通過網路,控制某些串列埠裝置。
你做的這個是乙個小型的伺服器,當然需要配置,比如配置那些ip可讀,可寫,或者遮蔽那些ip等等,注意設計成可以遠端通過網路配置的。
最終能設計成什麼樣子就看你的設計能力了,這是你的產品,你要考慮別人在使用你的產品時是 否方便,是否高效。
這個東西很容易測試,因為通過網路,和串列埠,只要用多幾個電腦連線你的串列埠或者網路就可以了,無論他們是什麼系統。
個人認為你需要了解的知識:
--tcp/ip通訊:不解釋
linux的串列埠讀寫設定:不解釋
--檔案:有配置嗎,當然要儲存成檔案,你總不能重起一次機器,讓使用者重新配置一次吧
--守護程序:你自己去了解,嵌入式伺服器程式都會有這個
--linux多執行緒:要滿足併發訪問,當然多執行緒
epoll:主要是為了大規模併發訪問用,你如果設計的東西只為了讓200個人tcp連線,開200個執行緒就可以了,但20000人...就得用這個了.
相關知識網上自己去找,都有中文講解.
不用開發板,現在嵌入式開發很多時間都在設計程式.
就這些了。
另乙個專案
我之前的計畫有缺陷,我不應該以一些章節或者知識點為目標,我應該用實際的開發來作為目標。比如實實在在的乙個專案,哪怕是乙個小遊戲,也比死死的去看書要好很多很多
我可以將專案劃分為很多的模組,確定每個模組需要掌握的東西,帶著疑問去學習東西,要比漫無目的的學習要好很多。
用到的東西
焊接工具 pcb板等連線線使用了arduino ide,基於arduino tmk keyboard.匯入完成後,還需要 選擇正確的示例程式 在arduino ide裡,通過 檔案 示例 找到本專案名,然後開啟左手或者右手的示例程式,選擇正確的開發板 在arduino ide裡,通過 工具 開發板 ...
誠意的忠實總是經過才智,妳自個的才智,才幹生起
好了,往常我來通知妳們壹個理想,那就是,只需當妳從妳上師的經驗中獲得利益,或理論閱歷到他所說的內容,妳的忠實意才會生起。只需這壹條路,壹種辦法。妳越是去理解和運用上師所說所教,妳越是可以從中獲取利益,妳的生活會發作改動,妳的心裡也會發作改動。妳會變得越來越快樂,痛苦和懊惱會越來越少,嫉妒心削弱了,憤...
css自個兒常用的一些容易忘記的屬性
自動換行 white space normal 不換行超出顯示省略號 white space nowrap 不換行 overflow hidden 內容會被修剪,但是瀏覽器會顯示滾動條以便檢視其餘的內容。text overflow ellipsis 顯示省略符號來代表被修剪的文字 使標籤置於容器的最...