参考:树莓派接入公网
作者:图触靓
发布时间: 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,这两个设备并不处在一个局域网内

安卓向树莓派发送指令 ,能够直接被树莓派接收到,说明穿透成功!

树莓派接入公网(花生壳)相关推荐

  1. 实现公网访问树莓派4B(花生壳内网穿透)

    下载 花生壳官网下载地址:https://hsk.oray.com/download/ 点击下载树莓派 使用命令安装 wget "https://dl-cdn.oray.com/hsk/li ...

  2. 花生壳+PiHelper或xshell远程手机电脑操控树莓派

    花生壳+PiHelper或xshell远程手机电脑操控树莓派 一:为什么不能远程直接连接 目前绝大多数家庭路由器已经不会分配到公网ip,而公网ip才是大家互联互通所需要的.因此局域网下既我们自己路由器 ...

  3. 解决花生壳 Aira2 路由器 树莓派中的aira2状态未连接的思路

    如何确认搭建下载机思路 树莓派中的aira建立可能遇到问题 对于aira2.service可能遇到的时启动失败,查错需确认以下内容: aira2.service 的内容中涉及的路径问题 save-se ...

  4. 借助花生壳使用公网远程连接Jetson nano

    借助花生壳使用公网远程连接Jetson nano 家里用的移动宽带,申请个公网ip太难了,所以借助花生壳实现内网穿透. 使用的远程连接是nomachine,感觉比vnc好用,安装教程:在这里 注册花生 ...

  5. 树莓派+花生壳+移动硬盘搭建下载机

    这几天没什么要紧事, 用我闲置多年的树莓派3B搭了一个下载机, 记录一下过程 ,除了公网访问的那一部分总体来说可以参考这里, 这里只说一些需要注意的事情 首先: 在使用webui-aria2的时候, ...

  6. WIFI模块AT指令配置模块连接路由向公网发送数据(花生壳内网穿墙)

    最近在做一个关于WIFI的项目,记录一下. 跟大部分应用项目一样,我们使用的是串口WIFI模块,mcu通过串口发送AT指令来实现模块的配置以及数据传输. 我们的方案如下图所示: 系统通过WIFI模块接 ...

  7. 将个人java web网站发布至公网#内网穿透#花生壳#手把手教程

    先写个标题   相信很多人在学web的时候都不满足于在本地或是局域网内运行自己刚写的网站,必须得分享给其他小伙伴们装装逼才肯罢休.而想要让外网访问我们的网站,大多数初学者(比如我)面对公网ip.域名解 ...

  8. 花生壳内网穿透:无需专线公网IP,安全高效远程数据采集

    随着信息技术发展和工业自动化水平的提高,各种现代化监测设备及数据采集器被广泛应用于水文水利.气象环保.工业控制等领域,用于户外.工业现场进行数据采集.存储和传输. 深圳某科技公司正是一家致力于提供工业 ...

  9. 花生壳 || FRP实现玩客云、树莓派...内网穿透,外网访问

    一:内外网穿透简介 内网穿透也叫做内网映射,也叫"NAT穿透".就是让外网能访问你的内网:把自己的内网(主机)当成服务器,让外网能访问.下面是我用过的两种内网穿透.个人认为FRP更 ...

最新文章

  1. Leangoo敏捷开发工具怎么添加成员
  2. Android移动开发者必须知道的Deep Linking技术
  3. php 中getall,PHP getallheaders无法获取自定义头(headers)的问题
  4. angularjs 获取复选框的值_哈迪斯仙酒有什么用 哈迪斯仙酒获取方式以及作用一览...
  5. apicloud手机查看效果
  6. 全量增长模型-指标体系的构建及应用实战案例解析
  7. 模糊查询与字符串的操作
  8. Java案例:按奇偶行拆分文件
  9. jquery 之for 循环
  10. 极速理解设计模式系列:24.解释器模式(Interpreter Pattern)
  11. Gamit 数据处理,相关的文件配置
  12. 路由器 刷rom php,路由器刷固件常用命令Openwrt 之mtd/mtd_write烧写固件
  13. 用logisim实现串行的全加器
  14. 百度推广系列之优化之笔
  15. 社群运营的用户画像分析有哪些方法?
  16. 前端可视化项目全国疫情地图
  17. BW的登录错误解决实例
  18. Java面试题大全(2020版)
  19. 《“十四五”数字经济发展规划》推广电子合同等应用,君子签为政企数字化赋能
  20. 发布JNCIP考试标准版本JUNOS实验用虚拟机

热门文章

  1. View的绘制-layout流程详解
  2. jenkins 通过自动拉取Gitlab上的代码实现自动更新NGINX
  3. Nginx(六)-- 配置文件之Gzip
  4. 安全专家在硬盘固件中发现NSA的网络间谍程序
  5. C# 委托链、多路广播委托
  6. 《众妙之门——网页排版设计制胜秘诀》——3.4 展现品牌视觉的同时保持网页的可读性...
  7. 表单文本框提示字符点击时清空
  8. 【opencv】——钢管计数(霍夫圆变换 + 阈值 + canny)
  9. C++总结笔记(七)—— 运算符重载
  10. php输入对话框,如何使用JavaScript实现输入对话框