日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

树莓派接入公网(花生壳)

發布時間:2023/12/10 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 树莓派接入公网(花生壳) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考:樹莓派接入公網
作者:圖觸靚
發布時間: 2020-12-22 17:28:19
網址:https://blog.csdn.net/bhbhhyg/article/details/107994829

目錄

  • 為什么要接入公網
  • 接入公網的方法(花生殼)
    • 1、下載工具huashenke
    • 2、安裝
    • 3、查看SN碼與初始密碼
    • 4、登錄配置
    • 5、配置樹莓派服務器
    • 6、配置非局域網設備接入局域網內的客戶端(以安卓為例)
  • 檢測是否穿透成功

為什么要接入公網

為了可以被非局域網設備訪問、與非局域網設備通信。

接入公網的方法(花生殼)

1、下載工具huashenke

進入官網下載樹莓派版本的到自己電腦,再拷貝到樹莓派里面,或者通過FileZilla直接發送到樹莓派上。

2、安裝

通過ssh遠程連接樹莓派,進入有安裝包的文件夾,輸入指令

sudo dpkg -i phddns_3.0.4_systemd.deb

3、查看SN碼與初始密碼

一般安裝完成后會直接看見SN碼與初始密碼:admin,如果沒用看見SN碼則輸入指令: sudo phddns status

4、登錄配置

瀏覽器輸入遠程管理地址進入遠程管理頁面,輸入對應的SN碼和密碼,首次登錄,需要進行初始化:重設密碼,填寫手機,發送驗證碼等

按照提示操作后我們進入管理頁面 ,點擊內網穿透->添加映射。

注意:

內網主機填寫我們樹莓派的ip地址(可以在樹莓派內通過ifconfig命令查看自己的樹莓派ip)

內網端口號和上面訪問地址的端口號寫一樣!!

這樣,樹莓派的內網穿透便完成了。

5、配置樹莓派服務器

我們在通過socket網絡編程使用內網穿透,樹莓派作為服務器配置網絡ip與端口號時應當注意,ip要填樹莓派自己的ip(也就是配置的內網主機ip),端口號要填在花生殼內設置一樣的端口號

int initsocket(){int s_fd=socket(AF_INET, SOCK_STREAM,0);if (s_fd==-1){perror("socket");exit(-1);}struct sockaddr_in addr;memset(&addr,0,sizeof(struct sockaddr_in));addr.sin_family=AF_INET;addr.sin_port=htons(56291);//填在花生殼內外網一樣的端口號inet_aton("192.168.200.108",&addr.sin_addr);//填樹莓派的內網ip// addr.sin_port=htons(atoi(argv[2]));// inet_aton(argv[1],&addr.sin_addr);int bid=bind(s_fd,(struct sockaddr *)&addr,sizeof(struct sockaddr_in));listen(s_fd,10);int len=sizeof(struct sockaddr_in);return s_fd; }

6、配置非局域網設備接入局域網內的客戶端(以安卓為例)

連接時候的ip要填穿透的ip,點擊我的應用里面的診斷,然后找到:域名IP地址指向,這個就是可被非局域網設備訪問的ip。

安卓內連接樹莓派服務器的核心配置代碼

public void sendMessage() {new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubtry {Socket client = new Socket("花生殼域名指向的ip地址",對應端口號);//Socket client = new Socket(StartActivity.IP, Integer.parseInt(StartActivity.Port));OutputStream out = client.getOutputStream();out.write(message.getBytes());out.close();client.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}).start();}

檢測是否穿透成功

安卓客戶端使用移動數據流量,樹莓派服務器使用wifi,這兩個設備并不處在一個局域網內

安卓向樹莓派發送指令 ,能夠直接被樹莓派接收到,說明穿透成功!

總結

以上是生活随笔為你收集整理的树莓派接入公网(花生壳)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。