Python-树莓派远程开发

  最近为了完成我的夙愿—-从零开始开发小车,需要依据树莓派开发控制程序,为了方便开发上网学习并自己摸索了Python_树莓派的远程开发方式,今天在WolfBolin的督促下完成了这篇总结性博客,希望能记录下一点东西或者给大家一点帮助.

| 编译器 | PyCharm-2018.2.4 专业版 |
| python版本 | python 3.5 |
| 树莓派版本 | RaspberryPi Model 3B |
| 树莓派系统版本 | Linux raspberry 4.9.59-v7+ |

  第1步:下载python,ubuntu与树莓派都是默认安装好python的,如下图
系统python版本
树莓派python版本
两处环境最开始pyhton默认版本都是2.7(好像是的),为了赶上潮流接下来的工作都会使用python3.5,为避免在环境方便出错两处工作环境我都改变python环境为3.5(具体操作参见百度,此处不赘述)

  第2步:下载PyCharm,如下图
PyCharm下载
重点号!!!!在其他博客的论述中只有图片左侧—-专业版能够完成远程开发任务,由于我使用的是学生认证一直使用专业版,并不知道社区版的实际情况,此处不论述.但我使用的是专业版,此处要说明情况.

  第3步:树莓派插上网线联网,打开SSH(树莓派SSH默认为打开状态,可以检查一下),讲ubuntu连入同一路由器后使用ssh连接它,ubuntu在安装相应构件后可以通过命令行进行ssh连接操作,方式此处不表,效果如下
ubuntu连接树莓派
连接成功后查看一下树莓派当前ip,具体操作为输入ifconfig,找到wlan下的inet那一行,我这里为192.168.1.105,如下图
树莓派查看ip

  第4步:将PyCharm安装文件夹下的helpers文件夹拷贝到树莓派上,我是使用优盘在ubuntu上复制,插到树莓派上再在ubuntu上用ssh连接树莓派操作文件夹复制到树莓派上,此处我是复制到了以后存储所开发的控制程序的目录下,复制后将文件夹改名为.pycharm_helpers,这一步我不记得是在哪篇博客上看到的了,很多博客也并没有这一步,但在之后步骤的调试中有因为路径问题报错找不到helpers文件夹的情况,所以应当还是有意义的,效果如下
helpers文件夹的处理
Car就是我预计存储控制程序的目录,修改名字后我这边是默认又创建了一个.pycharm_helpers的隐藏文件夹,原文件夹仍是正常状态(不隐藏),这里我也没有特意对权限等其他属性进行修改.

  第5步:进入PyCharm开始正式配置,首先依次打开Files -> Settings -> Project Interpreter,点击右上部分Project Interpreter那一栏最后的小齿轮,选择Add Romote,进入配置如下图
Project Interpreter
选择SSH Interpreter,选中右上部分的New server configuration,Host填写你的树莓派ip(刚才查询所得),我即为192.168.1.105,username填写你树莓派用户的名字,默认为pi,点击next,如下图
Add Romote
选中Password填写的树莓派用户的密码默认为raspberry,点击next,如下图
password
上面部分是修改你的树莓派python地址的,即选择你要使用的python运行包,下面部分是修改你项目要存到树莓派上的路径的,因为我要使用python3.5,上面修改一下;我要把开发的程序存在Car目录下,下面修改一下,如下图
location

  第6步:依次打开Tools -> Deployment -> Configuration,选择左上角的加号,随便起一个名字如raspberry,Type选择SFTP,点击OK,如下图
Add Server
他就会出现在左侧栏中,选中他,在右侧依次输入host(树莓派ip),Password(树莓派密码),在最下部分的Web serber root URL后面添加一个/,此部分有一个Visible only for this project,选中后即只对配置的这一个项目生效,因为除了树莓派开发我还会进行别的项目,所以我选中了为了只同步这一个项目,如下图
Deployment
完成后点击右上部分的Mappings,点击Use this server as default,Local path即为你要开发的项目在本地的目录,Deloyment path on server ‘…’ 为你要将项目存在树莓派上的目录,如下图
Mappings
最后点击OK,全部配置完成.

PS:第5步为ssh连接配置,即使用树莓派上的哪个python环境,第6步为sftp传输配置,即将项目传输到树莓派的哪个位置
PPS:如有没有说明的细节即为默认
PPPS:借鉴博客:
远程调试树莓派(PyCharm实现)
Running Flask with an SSH Remote Python Interpreter

热烈庆祝实训结束!

  本学期,也就是我在中南大学大三学年的第一个学期,的web应用实训可以说是圆满结束了.虽然在本次实训中还是显现出了我的最大问题:菜.但我还是凭借自己的能力以RESTAPI的方式完成了整个web项目的全部后端,并且对项目中自己暴露的问题留下了相当深刻的印象,并对项目开发过程中遇到的许多问题进行了自己的独立思考,可以说是大学以来四次实训中收获最大的一次实训.
  在实训中,我先是在第一天推动着与小组其他成员定下了项目框架--Ajax+Springboot+Mybaitis,应用RESTAPI完全实现前后端分离,并定下了数据库的大概结构,但因为项目经验不足且数据库知识不扎实,数据库的结构问题甚大,这为之后的问题埋下了相当大的伏笔.在需求分析与详细设计阶段,也因为不够重视导致工作不够充分,过早的进行了编码工作,没有设计好再行动,导致在最后的阶段经常因为设计模糊而再进行讨论浪费了相当的时间,对工作造成了极大的影响.在最后一天展示的前10分钟才基本完成项目整体,但也仍存在很多bug,一些功能点也并没有完成.比如用户登录的验证,最开始是想使用session完成验证,但在编码过程中发现RESTAPI结构无法使用session,在查询后发现要使用Redis缓存加持tokenID并应用拦截器进行登录状态验证,这一套工作截止现在也并没有完成,在实训结束后我与阿谭进行了交流,并学习了他们项目的源码(我们两组选取了同一个实训项目),有所收益但还有一些地方并没有能够完全理解,在接下来需要向阿谭或文武学习完成这一部分.
  整个实训给我最大的印象就是两点,需求分析与功能设计和数据库设计这两个工作一定要慎重的进行,一定要考虑完全再进行下一步工作,在后期的工作中当对发现数据库结构问题事一定要坚决的进行修改乃至重新设计,当断则断.项目经验也要多加积累,要多编码多学习.
        --2018年9月21日实训结束有感

热烈庆祝DragonHao第一个正式博客上线!

  在经过自己摸索,使用Amaze完成自己的第一个个人网站后,又懈怠懒惰过去了半年多,如今震天的炮火再一次响起……在WOLFBOLIN的指点与督促下,使用宝塔面板与WordPress完成了自己的个人博客,撒花ORZ
  希望能够多记录自己的所思所想所感,记录下自己进步的点滴。
  接下来的首要工作是完成实训项目,同时完成自己心心念念许久了的小车。
  加油吧,一定能够完成