參考**:
上面的內容似乎是sunny大神本人寫的,了解的越多,發現自己懂得越少,但是對知識的渴求和好奇卻越深。
我們暫時做的只是在區域網上搭建ngrok伺服器,利用ngrok技術實現區域網上開發板的區域網nat,當我們訪問伺服器的區域網ip和埠時,實際遠端訪問控制開發板的**。
準備:開發板上web環境正常,php環境正常,可以正常執行ngrok-php客戶端;ubuntu上web環境正常。
因為ngrok的原始碼是在開源託管在github上的,所以,安裝git可以很方便的得到其原始碼。ubuntu上安裝git可以選擇原始碼安裝也可以選擇使用apt-get安裝,原始碼安裝方法參考**上有,大家可以去看看,也不難。也可以使用apt-get來安裝:
sudo apt-get update
sudo apt-get install git
我的git版本:
sudo apt-get update
sudo apt-get install golang-go
我的go版本(apt-get安裝完成後預設架構和系統就是386和linux):
和作者一樣,我們也把安裝位置放在/usr/local下,我們暫時不需要網域名稱和證書,而且客戶端也不採用go版本的ngrok客戶端,所以暫時不需要做為網域名稱生成證書等操作,直接執行這幾步:
cd /usr/local/
sudo git clone
export gopath=/usr/local/ngrok/
export ngpok_domain=」192.168.x.xx」(其實這一步也可以不要)
cd ngrok
goos=linux
goarch=386
sudo make release-server
等待編譯完成即可,有時可能編譯不成功,對github.com,有時候會鏈結不上,多試幾次,一般是不會有問題的。
命令:/usr/local/ngrok/bin/ngrokd -domain="***" -httpaddr=":***"
demain是可以不要的,因為我們暫時不需要網域名稱,虛擬機器的網域名稱是多少我沒查,我們不需要使用http協議來鏈結,使用tcp協議即可。
httpaddr一般也不需要,預設本地的80埠,但是如果你的本地80埠被占用了,那麼久需要「:81」之類的重新指定乙個了。
其實我的ubuntu16.04的apt-get是可以直接安裝ngrok-server的,但是無法執行,也就沒有深究。
由於我們的開發板是執行在區域網中的,使用者要訪問開發板**的話只能在同一區域網中訪問,一旦不在同一區域網中,我們就無法訪問了,這顯然對維護和使用是很不利的。在傳統的c/s和b/s模式中,是將本地開發板作為客戶端,將資料上傳到伺服器,然後使用者再通過瀏覽器訪問伺服器,獲取或發出指令,然後伺服器提供服務,這樣的話,比如說使用者遠端控制乙個燈,需要先通過瀏覽器傳送到伺服器,然後伺服器傳送指令到客戶端即我們的智慧型網關,然後閘道器傳送指令給燈這個裝置,中間經過了伺服器和閘道器兩個中轉,而且由於閘道器和伺服器,裝置和閘道器之間資訊傳遞是存在一定延時的,這樣的話,其操作的靈敏性就顯得沒有那麼高了。當我們採用nat的時候,瀏覽器發出指令是直接操作的開發板即閘道器的,那麼閘道器收到指令後立即就可以控制裝置做出反應,顯然相比傳統模式要快一些。
Ubuntu安裝Jekylld搭建自己的部落格
安裝 jekyll 相當簡單,但是你得先做好一些準備工作 開始前你需要確保你在系統裡已經有如下配置。sudo apt install ruby sudo apt get install ruby dev gem sources add remove gem sources l sudo gem in...
Ubuntu上LAMP環境搭建
1.安裝apache 2 sudo apt get install apache2 測試 firefox 127.0.0.1 2.安裝php sudo apt get install php5 安裝php5 sudo etc init.d apache2 restart 重啟apache 測試 首先...
ubuntu上samba環境搭建
1 ubuntu上安裝smb伺服器。網路上有很多安裝的步驟,所以不用記錄。2 安裝完後開啟smb伺服器。這裡和redhat系統上有點區別,在redhat使用service smb start 在ubuntu 使用的是smbd start 3 在linux系統上簡單測試。smbclient l 10....