零基础玩转树莓派5!从系统安装到使用VNC远程控制树莓派桌面实战

news2025/4/11 5:48:50

文章目录

    • 前言
    • 1.什么是Appsmith
    • 2.Docker部署
    • 3.Appsmith简单使用
    • 4.安装cpolar内网穿透
    • 5. 配置公网地址
    • 6. 配置固定公网地址
    • 总结

前言

你是否曾因公司内部工具的开发周期长、成本高昂而头疼不已?或是突然灵感爆棚想给团队来点新玩意儿,却苦于没有专业的编程知识?别担心,今天我要给大家介绍一位超级英雄——Appsmith!它不仅能让技术小白也能轻松上手搭建应用,还能让你的应用瞬间变身功能强大的神器。跟着我一起,让我们用Docker快速部署Appsmith,并通过cpolar实现远程访问,从此告别开发难题,开启高效工作与生活的新篇章吧!

image-20250401140647756

1.什么是Appsmith

Appsmith是一个开源低代码开发平台,它就像一个神奇的画板,你只需要将各种组件(如表格、图表、表单等)像拼图一样拖到你的“画布”上,就能快速构建出复杂的应用程序。而且,它还支持多种数据源和API调用,让你的应用连接更自由,开发更快捷。

image-20250401140956023

Appsmith的性能特色:

  1. 拖拽式开发:就像搭积木一样简单,你只需要把需要的组件拖到画布上,然后配置一下数据源,一个应用就诞生了!
  2. 多数据源支持:MySQL、PostgreSQL、MongoDB、REST API等,Appsmith都能轻松连接。
  3. 实时预览:开发过程中随时看到应用的实时效果,再也不用反复调试、刷新页面了。
  4. 强大的JavaScript支持:懂一点JavaScript?那就更好了!Appsmith允许你编写自定义逻辑,让你的应用更加灵活。
  5. 一键部署:开发完成后,你可以一键将应用部署到云端,或者导出代码进行二次开发。

2.Docker部署

本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

首先创建 Appsmith 目录: 需要在本地服务器上创建一个目录来存储 Appsmith 的配置和数据。可以是任意位置

mkdir -p ~/appsmith
cd ~/appsmith

image-20250331164816925

下载 Appsmith 的 Docker Compose 文件: 可以直接从 Appsmith 的 GitHub 仓库中获取官方的 docker-compose.yml 文件:

wget https://raw.githubusercontent.com/appsmithorg/appsmith/refs/heads/release/deploy/docker/docker-compose.yml

image-20250331164858545

启动项目:

sudo docker compose up -d

image-20250331165654373

打开浏览器输入localhost:8080,就能进入到appsmith的主页了

image-20250331170651670

3.Appsmith简单使用

安装完成后,打开Appsmith,点击“Create New”按钮创建一个新的应用。

image-20250331170948352

然后,你可以在左侧的组件面板中选择需要的组件(如按钮、表单、表格等),拖放到中间的画布上进行布局。配置数据源,并将数据源绑定到组件上,使组件能够动态显示和操作数据。最后,点击右上角的“Deploy”按钮发布应用。

image-20250331171010706

4.安装cpolar内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的Appsmith,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。无需公网IP,也不用准备云服务器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

5. 配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:Appsmith,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8080
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建:

image-20250401132908360

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

image-20250401132950818

现在就已经成功实现使用cpolar生成的公网地址异地远程访问本地部署的appsmith啦!

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用appsmith,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6. 配置固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是appsmith,大家可以自定义。填写备注信息,点击保留。

image-20250401134041400

保留成功后复制保留的二级子域名地址:

image-20250401134104967

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道appsmith,点击右侧的编辑

image-20250401134135508

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20250401134203724

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20250401134246967

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的appsmith页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250401134407490

总结

现在我们已经学会了如何在Ubuntu上安装Appsmith并使用cpolar进行远程访问。这不仅仅是一套技术教程,更是为你打开了一扇通往无限创意和自由的大门。无论是初出茅庐的小白还是身经百战的开发大牛,都能在这场技术盛宴中找到属于自己的那份乐趣与成就。从此以后,再也不用担心项目周期长、成本高了,因为有了Appsmith和cpolar这对黄金搭档,一切难题都将迎刃而解!如果你在实践过程中遇到任何问题或想要分享你的作品,请记得在评论区留言交流哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2328118.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MyBatis】深入解析 MyBatis:关于注解和 XML 的 MyBatis 开发方案下字段名不一致的的查询映射解决方案

注解查询映射 我们再来调用下面的 selectAll() 这个接口,执行的 SQL 是 select* from user_info,表示全列查询: 运行测试类对应方法,在日志中可以看到,字段名一致,Mybatis 就成功从数据库对应的字段中拿到…

图像退化对目标检测的影响 !!

文章目录 引言 1、理解图像退化 2、目标检测中的挑战 3、应对退化的自适应方法 4、新兴技术与研究方向 5、未来展望 6、代码 7、结论 引言 在计算机视觉领域,目标检测是一项关键任务,它使计算机能够识别和定位数字图像中的物体。这项技术支撑着从自动驾…

《AI大模型应知应会100篇》第57篇:LlamaIndex使用指南:构建高效知识库

第57篇:LlamaIndex使用指南:构建高效知识库 摘要 在大语言模型(LLM)驱动的智能应用中,如何高效地管理和利用海量知识数据是开发者面临的核心挑战之一。LlamaIndex(原 GPT Index) 是一个专为构建…

目标检测中COCO评估指标中每个指标的具体含义说明:AP、AR

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

如何利用ATECLOUD测试平台的芯片测试解决方案实现4644芯片的测试?

作为多通道 DC-DC 电源管理芯片的代表产品,4644 凭借 95% 以上的转换效率、1% 的输出精度及多重保护机制,广泛应用于航天航空(卫星电源系统)、医疗设备(MRI 梯度功放)、工业控制(伺服驱动单元&a…

《继电器:机械骑士的电磁战甲》

点击下面图片带您领略全新的嵌入式学习路线 🔥爆款热榜 88万阅读 1.6万收藏 第一章:千年契约的青铜誓言 在电气王国的熔炉深处,电磁铁与簧片的盟约已镌刻千年。电磁铁身披螺旋铜线编织的斗篷,其胸膛中沉睡着一道可召唤磁力的古…

快速求平方根

1. 前置知识 建议首先阅读我的另外一篇文章《雷神之锤 III 竞技场》快速求平方根倒数的计算探究》。建议大家自己看过《雷神之锤 III 竞技场》快速求平方根倒数的计算探究》学会快速求平方根倒数算法后,不看我这篇文章,自己推导一篇快速求平方根的算法&…

C语言基础要素(019):输出ASCII码表

计算机以二进制处理信息,但二进制对人类并不友好。比如说我们规定用二进制值 01000001 表示字母’A’,显然通过键盘输入或屏幕阅读此数据而理解它为字母A,是比较困难的。为了有效的使用信息,先驱者们创建了一种称为ASCII码的交换代…

CI/CD(九) Jenkins共享库与多分支流水线准备

后端构建 零:安装插件 Pipeline: Stage View(阶段视图)、SSH Pipeline Steps(共享库代码中要调用sshCommond命令) 一、上传共享库 二、Jenkins配置共享库 3、新增静态资源与修改配置 如果是docker和k8s启动&#xf…

pip安装timm依赖失败

在pycharm终端给虚拟环境安装timm库失败( pip install timm),提示你要访问 https://rustup.rs/ 来下载并安装 Rust 和 Cargo 直接不用管,换一条命令 pip install timm0.6.13 成功安装 简单粗暴

详解隔离级别(4种),分别用表格展示问题出现的过程及解决办法

选择隔离级别的时候,既需要考虑数据的一致性,避免脏数据,又要考虑系统性能的问题。下面我们通过商品抢购的场景来讲述这4种隔离级别的区别 未提交读(read uncommitted) 未提交读是最低的隔离级别,其含义是…

NO.63十六届蓝桥杯备战|基础算法-⼆分答案|木材加工|砍树|跳石头(C++)

⼆分答案可以处理⼤部分「最⼤值最⼩」以及「最⼩值最⼤」的问题。如果「解空间」在从⼩到⼤的「变化」过程中,「判断」答案的结果出现「⼆段性」,此时我们就可以「⼆分」这个「解空间」,通过「判断」,找出最优解。 这个「⼆分答案…

深层储层弹塑性水力裂缝扩展机理

弹性与弹塑性储层条件下裂缝形态对比 参考: The propagation mechanism of elastoplastic hydraulic fracture in deep reservoir | International Journal of Coal Science & Technology

循环神经网络 - 机器学习任务之异步的序列到序列模式

前面我们学习了机器学习任务之同步的序列到序列模式:循环神经网络 - 机器学习任务之同步的序列到序列模式-CSDN博客 本文我们来学习循环神经网络应用中的第三种模式:异步的序列到序列模式! 一、基本概述: 异步的序列到序列模式…

什么是检索增强生成(RAG)

1、什么是检索增强生成(RAG) 1.1 检索增强生成的概念 检索增强生成(Retrieval-Augmented Generation, RAG)是一种结合了信息检索和文本生成技术的新型自然语言处理方法。这种方法增强了模型的理解和生成能力。 相较于经典生成…

MATLAB 控制系统设计与仿真 - 33

状态反馈控制系统 -全维状态观测器的实现 状态观测器的建立解决了受控系统不能测量的状态重构问题,使得状态反馈的工程实现成为可能。 考虑到系统的状态方程表达式,如果{A,B}可控,{A,C}可观,且安装系统的性能指标,可…

企业管理系统的功能架构设计与实现

一、企业管理系统的核心功能模块 企业管理系统作为现代企业的中枢神经系统,涵盖了多个核心功能模块,以确保企业运营的顺畅与高效。这些功能模块通常包括: 人力资源管理模块:负责员工信息的录入、维护、查询及统计分析&#xff0c…

覆盖学术、职场、生活的专业计算工具

软件介绍 今天要给大家介绍一款超给力的工具软件——CalcKit 计算器。它就像是你口袋里的智能计算专家,轻松化解日常生活中的各类计算难题。无论是简单的数字加减乘除,还是复杂的专业运算,它都不在话下。 这款软件内置了极为强大的计算功能…

【大模型系列篇】大模型基建工程:基于 FastAPI 自动构建 SSE MCP 服务器 —— 进阶篇

🔥🔥🔥 上期 《大模型基建工程:基于 FastAPI 自动构建 SSE MCP 服务器》中我们使用fastapi-mcp自动挂载fastapi到mcp工具,通过源码分析和实践,我们发现每次sse请求又转到了内部fastapi RESTful api接口&…

【python】Plot a Square

文章目录 1、功能描述2、代码实现3、效果展示4、完整代码5、涉及到的库函数 更多有趣的代码示例,可参考【Programming】 1、功能描述 用 python 实现,以 A和B两个点为边长,方向朝 C 绘制正方形 思路: 计算向量 AB 和 AC。使用向…