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

2023-05-16

参考:树莓派接入公网
作者:图触靓
发布时间: 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() {
 
			@Override
			public void run() {
				// TODO Auto-generated method stub
				try {
					 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 block
					e.printStackTrace();
				}
			}
		}).start();
 
	}

检测是否穿透成功

安卓客户端使用移动数据流量,树莓派服务器使用wifi,这两个设备并不处在一个局域网内

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

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

树莓派接入公网(花生壳) 的相关文章

  • 什么是反卷积(快速理解)

    什么是反卷积 参考博客 我们知道输入图像通过卷积神经网络 xff08 CNN xff09 提取特征后 xff0c 输出的尺寸往往会变小 xff0c 而又是我们需要将图像恢复到原来的尺寸以便进行进一步的计算 xff0c 整个扩大图像尺寸 xf
  • 李雅普诺夫稳定(内部稳定)与BIBO稳定(外部稳定)的关系

  • 情绪识别论文阅读

    情绪识别论文阅读 情感脑机接口研究综述一种基于情感脑电信号时 频 空特征的3D密集连接网络 1 吕宝粮 张亚倩 郑伟龙 情感脑机接口研究综述 J 智能科学与技术学报 2021 3 01 36 48 情感脑机接口研究综述 情感脑机接口研究面临
  • 一文详细介绍情绪识别常用的数据集

    一文详细介绍情绪识别常用的数据集 SEED采集情况文件介绍 SEED IV采集情况文件介绍 CIAIC多模态情感识别数据采集情况文件介绍 DEAP采集情况文件情况 SEED V采集情况文件情况 本文详细介绍了脑机接口情绪识别常用的数据集 x
  • 父子进程虚拟地址空间情况

    父子进程虚拟地址空间情况 笔记来源于牛客网 Linux多进程开发 The child process and the parent process run in separate memory spaces At the time of f
  • Pytorch中nn.Module中的self.register_buffer解释

    self register buffer作用解释 今天遇到了这样一种用法 xff0c self register buffer name Tensor xff0c 该方法的作用在于定义一组参数 该组参数在模型训练时不会更新 xff08 即调
  • leetcode_回溯算法

    回溯算法刷题总结 回溯法理论基础回溯算法的模板组合问题77 组合优化版本 216 组合总和III17 电话号码的字母组合组合总和组合总和II 分割131 分割回文串93 复原IP地址 子集78 子集90 子集II491 递增子序列 xff0
  • React styled-components(二)—— props、attrs属性

    styled components props attrs属性 96 props 96 96 props 96 穿透添加 96 attrs 96 属性获取 96 state 96 中的样式 变量控制样式通过 96 props 96 控制样式
  • leetcode_贪心算法

    贪心算法相关题 简单题目455 分发饼干1005 K次取反后最大化的数组和860 柠檬水找零 序列问题376 摆动序列法一 xff1a 贪心法法二 xff1a 动态规划 单调递增的数字简化版本 有点难度53 最大子序和贪心算法动态规划 13
  • leetcode_动态规划

    leetcode 动态规划 基础题目509 斐波那契数70 爬楼梯62 不同路径63 不同路径II343 整数拆分96 不同的二叉搜索树 01背包分割等和子集1049 最后一块石头的重量II494 目标和474 一和零 完全背包518 零钱
  • 北东地/东北天两种导航坐标系与姿态转换

    一 坐标系 1 导航坐标系 常用的导航坐标系有北东地和东北天两种 两种坐标系的指向分别定义如下 xff1a 1 1 北东地坐标系 X轴 xff1a 指北 Y轴 xff1a 指东 Z轴 xff1a 指地 1 2 东北天坐标系 X轴 xff1a
  • 如何消除CACHE对DMA的影响?

    各位看官 xff0c 阅读之前 xff0c 请帮忙点击这里一下 xff0c 多谢 xff01 嵌入式系统中的CACHE 问题 郑州解放军信息工程大学 xff08 450002 xff09 陈曦 李汉宁 随着社会的发展 人们生活水平的提高 x
  • 12种性格导致贫穷

    每个人都有不同的性格和个性 有的性格对于挣钱是有帮助的 有的性格却容易导致贫困 大量的研究表明 至少有十二种性格容易导致贫困和失败 第一 知足 只要有吃有穿 腹饱体暖 就感到满足 对于财富没有追求 第二 自满 自己的总是最好的 这种人不愿与
  • 上海房地产市场救市14条政策出台

    值得纪念的一天 http www sina com cn 2008年10月23日05 53 东方网 东方网10月22日消息 xff1a 为促进本市房地产市场健康发展 xff0c 根据财政部 国家税务总局 中国人民银行等部门有关文件精神 xf
  • 天涯上各大公司裁员应对金融危机的强帖,不断更新中……

    http www tianya cn publicforum content no20 1 171416 shtml 俺的东家赫然在列 xff0c 俺作证 xff0c 裁员是真的 活过冬天就会在春天复苏 xff0c 如果死在冬天 xff0c
  • 学习笔记-Semihosting

    如何理解Semihosting xff08 老帖重发 xff0c 写得比较久了 xff09 Semihosting xff0c 顾名思义 xff0c 就是 34 半主控 34 xff0c 意思就是说 xff0c 运行在target boar
  • 开发笔记-NAND Flash Bad Block Management

    1 xff09 为什么会出现坏块 由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠 xff0c 因此 xff0c 在NAND的生产中及使用过程中会产生坏块 坏块的特性是 xff1a 当编程
  • ThreadX 实时操作系统

    ThreadX 实时操作系统 xff08 RTOS xff09 Express Logic日前發佈了支援Altera Nios II軟式核心嵌入處理器的ThreadX即時作業系統 RTOS xff0c 全新的ThreadX具備快速軟體計時器
  • React 条件渲染组件

    组件通常需要根据不同的条件显示不同的内容 xff0c 以及根据应用的状态变化只渲染其中的一部分 在 React 中 xff0c 可以使用 JavaScript 语法有条件地呈现 JSX xff0c 比如 if 语句 amp amp 和 操作

随机推荐

  • BDM的禅义

    2006 4 13 13 16 00 BDM的禅义 这片文章译自 the zen of bdm xff0c 翻译的不好 xff0c 还请大家多提意见 介绍 你可能感到奇怪 xff0c 为什么说BDM的禅义 BDM xff08 背景调试模式
  • RTOS基本原理:多任务和调度-FreeRTOS是如何工作的

    FreeRTOS是如何工作的 RTOS基本原理 多任务和调度 作者 xff1a Gavin Lee 来源 xff1a upsdn net 更新日期 xff1a 2006 04 12 RTOS基本原理 多任务 调度 上下文切换 实时应用 实时
  • 上下文切换-FreeRTOS是如何工作的

    FreeRTOS是如何工作的 上下文切换 作者 xff1a Gavin Lee 来源 xff1a upsdn net 更新日期 xff1a 2006 04 13 上下文切换 跟任何其他程序一样 xff0c 一个任务执行时 xff0c 它使用
  • 国产手机操作系统艰难探索

    4大阵营纷争劲起 国产手机操作系统艰难探索 作者 xff1a 连晓东 出处 xff1a 中国电子报 2005 7 13 13 07 52 阅读 lt script src 61 34 http service donews com numb
  • 嵌入式系统和嵌入式操作系统

    嵌入式系统和嵌入式操作系统 西南交通大学电气学院 张湘 肖建 2004 10 2 文章从概念 特点 种类等不同方面就嵌入式系统和嵌入式操作系统做了介绍 一 什么是嵌入式系统 嵌入式系统一般指非PC系统 xff0c 有计算机功能但又不称之为计
  • FPGA与SRAM相结合完成大容量数据存储

    FPGA与SRAM相结合完成大容量数据存储 作者 xff1a 安莎莎 赖伟林 张辉 阅读 xff1a 248 引用 xff1a 0 发布时间 xff1a 2006 05 25 20 01 出处 xff1a 电子产品世界 西安电子科技大学 通
  • Git客户端(Windows系统)的使用

    分类 xff1a Ubuntu 2013 09 03 02 15 212人阅读 评论 0 收藏 举报 本文环境 xff1a 操作系统 xff1a Windows XP SP3 Git客户端 xff1a TortoiseGit 1 8 5 0
  • PX4飞控-自定义发送MavLink消息

    PX4飞控 自定义发送MavLink消息 一 自定义XML文件 如图所示 这相当于定义了一个结构体 xff0c 结构体里面就有一个类型为uint8 t的u8元素 使用的id端口为150 xff0c 这里注意不要与已经存在的id重复 二 使用
  • IPv4和IPv6何去何从

    一 缘起 某一天 xff0c 在公司技术群内运维大佬们发了这么一条消息 这条消息瞬间勾起了我的好奇心 什么是IPv6 xff1f 为什么要切IPv6 xff1f 于是在上班时多去了几次去卫生间之后 xff0c 对IPv6有了一些初步认识 x
  • 利用kalibr工具进行camera-IMU标定

    camera IMU标定 一 camera IMU标定 简述 1标定目的 xff1a 我们进行camera IMU的目的是为了得到IMU和相机坐标系的相对位姿矩阵T 2标定工具 xff1a 我们利用Kalibr标定工程对camera IMU
  • React State 状态

    React State 状态 React 把组件看成是一个状态机 xff08 State Machines xff09 通过与用户的交互 xff0c 实现不同状态 xff0c 然后渲染 UI xff0c 让用户界面和数据保持一致 React
  • C#实现窗体内容随着窗体的缩放而缩放

    private float X private float Y 获取控件的width height left top 字体大小的值 存放在控件的Tag属性中 private void setTag Control cons 遍历窗体中的控件
  • ROS基础 - dynamic_reconfigure 动态参数

    ROS基础 dynamic reconfigure 动态参数使用 实例详解 采用 ROS dynamic reconfigure 的形式 xff0c 可以在程序运行过程中实时更改参数大小 xff0c C 43 43 代码通过回调函数接收数据
  • C_C++变量命名规则

    C C 43 43 变量命名规则 变量命名规则是为了增强代码的可读性和容易维护性 以下为C 43 43 必须遵守的变量命名规则 xff1a 1 变量名只能是字母 xff08 A Z xff0c a z xff09 和数字 xff08 0 9
  • Git 初次提交代码

    Git 初次提交发布代码 首先打开 bash 出现git的命令行 可以在GitHub上新建一个仓库 这是提交了的代码的仓库 xff0c 刚创建的时候只有 README md 和 gitignore 两个文件 xff01 在进入git的命令行
  • MATLAB 快速绘制曲线图的形状,粗细,颜色

    目录 MATLAB 快速绘制曲线图的形状 xff0c 粗细 xff0c 颜色1 通过改变R G B 的值改变线条的颜色 xff1a 2 通过改变c 1 43 的值改变线条的粗细 xff1a 3 线条形状 xff0c 粗细 xff0c 颜色选
  • STM32F103五分钟入门系列(一)跑马灯(库函数+寄存器)+加编程模板+GPIO总结

    摘自 xff1a STM32F103五分钟入门系列 xff08 一 xff09 跑马灯 xff08 库函数 43 寄存器 xff09 43 加编程模板 43 GPIO总结 作者 xff1a 自信且爱笑 发布时间 xff1a 2021 04
  • Git的安装(附安装包)

    目录 使用目的关于Git的历史Git的安装1 运行安装包 xff0c 点击next2 选择安装路径 xff0c 下一步3 点击next4 设置开始菜单 xff0c 默认next5 点击next6 选择git的方式7 剩下所有步骤均默认即可8
  • GPIO输入输出模式原理(八种工作方式附电路图详解)

    这几篇博文讲的不错 xff0c 可参照着理解 xff1a STM32下拉输入模式与振动传感器的使用 上拉电阻与下拉电阻 通俗解读 上 下拉电阻 xff08 定义 强弱上拉 常见作用 吸电流 拉电流 灌电流 xff09 个人总结 xff1a
  • 树莓派接入公网(花生壳)

    参考 xff1a 树莓派接入公网 作者 xff1a 图触靓 发布时间 xff1a 2020 12 22 17 28 19 网址 xff1a https blog csdn net bhbhhyg article details 107994