花生壳|学生党进阶指南:用闲置树莓派远程开发51单片机
51单片机因为指令系统、内部结构相对简单 , 被国内许多高校用来进行单片机的入门教学 。在今年年初的疫情防控期间 , 就有一名应届毕业生使用闲置的树莓派进行远程开发51单片机 , 以此锻炼自己的敲代码能力 。
文章图片
远程连接上 , 因为没有公网IP , 该同学使用花生壳内网穿透实现了远程开发 。值得一提的是 , 花生壳目前向学生群体免费开放了旗下“青春版”服务 , 学生可以用来更好地进行远程学习、开发调试等 。
下面是该同学使用树莓派搭配花生壳 , 实现远程开发51单片机的具体步骤分享:
项目原件清单
1.用来远程连接的树莓派3B(已经吃灰很久了….)
2.执行程序的51开发板;
3.显示图像的摄像头(翻出了一个10年前的老USB摄像头…)
4.内网穿透工具花生壳;
5.一些继电器(是不是猜不到这个是干嘛的 , 先保密)
项目流程
虽然树莓派可以通过vnc进行远程桌面 , 但喜欢折腾的我怎么能甘心必须安装客户端呢?这绝对不行!!!所以我选择了带有html5解析vnc协议的novnc , 远程部分ok 。
51单片机的编译软件我选择的是sdcc进行编译 , 编译后会出现hex文件 , 但对于很多朋友来说这还不够 , hex格式的文件还是很大 , 我们要用bin!!!大家可以使用Hex2bin来进行转换 , okok现在就剩下串口下载了 , 我们来解决远程下载 , 这里我选择的是开源的stcgal进行烧写 。
最后我们再来看看远程摄像头 , 远程摄像头的方案就有很多了 , 这里我选择的是motion 。分析完了就让我们撸起袖子加油干吧!
1. 烧录完成系统后 , 老规矩来给树莓派更换国内源;
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
修改软件更新源 , 执行如下命令:
sudo vi /etc/apt/sources.list
按i进入编辑模式 , 改成清华的软件源地址 , 按ESC退出 , 然后 :x 回车保存退出 。
deb http://mirror.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirror.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
修改系统更新源 , 执行如下命令:
sudo vi /etc/apt/sources.list.d/raspi.list
将原镜像用#号注释掉 , 然后插入清华的系统源地址 , 保存退出:
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
同步更新源及更新软件包 , 执行如下命令:
sudo apt-get update
sudo apt-get upgrade
2. 更换完成源以后 , 开启树莓派自带的开启VNC
在终端输入以下命令进入配置界面 。
sudo raspi-config
依次操作:Interfacing Options -> VNC -> Yes 。之后系统会提示你是否要安装 VNC 服务 , 输入 y 之后回车 , 等待系统自动下载安装完成 , 如果祖师爷还是爱我们的话应该已经开启成功了 。
稳妥起见我们还是来查看本地是否安装了vncserver(其实就是看看上面祖师爷有没有显灵)
whereis vncserver
如果没有请手动安装
yum install -y tigervnc-server
如果按照成功了就看这里哦
使用下面的命令来运行vnc
vncserver
此时会要求输入密码 。这里需要注意:
The VNC server will run in the background. The port that it runs on is the display number + 5900 (i.e. 5901 in the case above).
意思就是当你执行vncserver :1设置为1时 , 下面要运行VNC是的端口号应该是5900+1 , 那就是5901 , VNC的默认端口是5900 。
3. 安装noVNC
#安装git
sudo apt-get install git
#获取novnc的源码
git clone https://github.com/kanaka/noVNC
进入novnc的目录
cd noVNC
运行novnc(第一次运行的时候会下载一个端口转发的程序可能需要一些时间)
./utils/launch.sh --vnc localhost:5901
4. 安装51开发环境
这里的开发环境依赖python3 , 需要确保已安装python3 , pip3.
如果没有下载pip3请下载安装
安装sdcc
sudo apt-get install sdcc
编译程序例子:
sdcc 1.c
安装hex2bin(如果是不是专业开发者感觉可以不安装)
百度网盘分享地址:https://pan.baidu.com/s/1iky8HsB-nVn1p5J3EzB8NQ
推荐阅读
- 大众|形似欧拉芭蕾猫 纯电大众甲壳虫效果图曝光:“半睁眼”、四门
- 屎壳郎|每年8000万吨 澳大利亚牛羊粪便泛滥成灾!只能进口屎壳郎来解决
- 魅族18|学生党等到了!魅族教育优惠上线:魅族18 Pro到手3479元起
- Civi|疑似小米Civi 2保护壳曝光:第一代Civi曾是小米手机工业设计巅峰
- 大众|欧拉芭蕾猫尴尬了 大众CEO:纯电甲壳虫有望量产
- 索尼|遭第三方配件商“无情嘲笑”!索尼PS5 399元官方外壳存在严重色差
- 三星|小米12之后又一小屏旗舰来袭!曝三星S22支持后壳定制
- 魅族|魅族设计!PANDAER家族新品上市:iPhone 13保护壳只要89元
- 港交所|破天荒:港交所上了第一家“空壳公司”
- Redmi|Redmi K50 Pro保护壳曝光:骁龙8三摄、指纹位置敲定
