花生壳|学生党进阶指南:用闲置树莓派远程开发51单片机

【花生壳|学生党进阶指南:用闲置树莓派远程开发51单片机】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