关注互联网应用及运维技术的个人博客

打造树莓派/服务器远端开发环境

最近入手了一块树莓派 4B,然后也是每天都在疯狂把玩 xD

树莓派不仅仅只是可以作为一台放在家里的小型 Linux 服务器,同时它自身还携带了 40pin 的 GPIO 引脚可供进行嵌入式开发。我平时一般都是外接一个移动硬盘作为家里的 NAS,不过平时也有需要跑一些 python 的小程序以及做一下智能车的开发。

这就是咱的树莓派啦!

这同时也带来了一些小问题:嵌入式开发所需要的 python 库——比如 RPi.GPIO——实际上是不支持 pip 在 windows 上的。这也给本地的调试开发带来了一定的不便。

其他还有许多只能在树莓派上运行的库也有同样的问题

为了解决这个问题,我也研究了半天,最后采用了 Pycharm 的远端开发功能,并配合 windows terminal 来进行 SSH 连接,得到了一个非常舒适的开发环境。

现在只要将电路搭建好,然后像往常运行程序一样在 pycharm 上运行,电路就会自动运作起来啦!

下面分享一下我用的开发工具

Windows Terminal
Windows Terminal 是2019年微软新发布的命令行程序。将 PowerShell,cmd,WSL 进行了一个统一。现在可以通过微软的应用商店进行安装。

但同样的,Windows Terminal 也具有极高的把玩性。它提供了非常多的设置选项,除了可以对开发面板进行美化,还可以自定义自己的 Terminal。

我使用 Windows Terminal 也仅仅只是为了取代 Putty。毕竟 Putty 的界面真的看得太累了还不能修改orz。同时 windows 本身自带 SSH,因此只需要简单对 Windows Terminal 进行配置就可以打开一个 SSH 控制台了。

下面是我的配置列表:

{
“acrylicOpacity” : 0.5,
“closeOnExit” : true,
“colorScheme” : “Campbell”,
“commandline” : “ssh [email protected]”,
“background” : “#0091aa”,
“cursorColor” : “#FFFFFF”,
“cursorShape” : “bar”,
“fontFace” : “Consolas-with-Yahei”,
“fontSize” : 12,
“guid” : “{1d4e097e-fe87-4164-97d7-3ca794c316fd}”,
“historySize” : 9001,
“name” : “RasBerry Pi”,
“icon” : “G:\图片素材\images.png”,
“padding” : “0, 0, 0, 0”,
“snapOnInput” : true,
“startingDirectory” : “%USERPROFILE%”,
“useAcrylic” : true
}
实际上重要的就是 commandline 这一属性,这是打开我们这个自定义控制台时候启用的命令。guid(全球唯一标识符)也是必要的,网上生成一个就行

其他选项大多数都是美化啦,最终效果如上图所示~

具体的 windows terminal 的美化配置可以看这篇文章:作者:小透明・宸

Pycharm
我一直都是 Jetbrains 的死忠粉 xD,因此毫无疑问 IDE 也选择了 Pycharm。而这次 Pycharm 依然没让我失望 (๑•̀ㅂ•́)و✧

Pycharm 自带了 SSH 开发工具。可以很便捷地在远端进行开发。工作原理就是 Pycharm 会在远端建立临时开发文件,读取远端的工作环境,同时将本地的代码实时同步到远端。当调试运行时,实际上就是直接运行同步在远端的代码了。

具体操作步骤是这样的:

在新建 pycharm 工程时,点击修改 Interpreter:

在之后的弹出界面选择 SSH 连接后填入 IP 地址、用户名和密码:

这一步需要根据是使用 Python2 还是 Python3 来进行选择,如果是 python3 需要将地址后面添加一个 3。

之后点击 Finish 后就创建好一个远端的开发环境啦!

可以看到 Pycharm 已经自动读取了服务器的开发环境以及所有的包。

写个 LED 驱动程序试一下

直接 f5 运行后就点亮

是不是特别方便呢~

结语
咱在写完这篇文章之后就发现实际上 Pycharm 如果将临时文件保存在 /tmp 下面,可能会因为树莓派重启而删除。所以最好还是保存在其他位置(比如 /home)下面会比较好呢。

赞(0)
未经允许不得转载:飞天狒狒 » 打造树莓派/服务器远端开发环境

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址