在树莓派里编写代码的话会比较麻烦因此可以在vscode中通过ssh连接树莓派并且编辑代码

参考:

vscode通过ssh连接树莓派实现远程开发

VSCODE 远程开发树莓派

使用vscode打造python开发环境

3、树莓派 RPI.GPIO 使用手册

Python pip 安装与使用

[树莓派官方文档](silicon die packaged)

基本配置

首先打开树莓派并搜索安装remote ssh插件:



然后在设置->扩展设置中找到如下位置并打钩:



可以发现左边有一个远程资源管理器:



选择设置以及".../.ssh/config":

填写如下信息:

  • Host:连接的名称
  • HostName:树莓派的IP
  • User:树莓派用户名

配置完毕后,在左边的SSH TARGETS中会出现刚刚创建的连接,点击加号会生成一个新窗口,新窗口的搜索栏会选择平台类型,树莓派需要选择Linux:





需要输入密码:



输入完后vscode会在树莓派上安装一些东西,然后就安装成功了

在资源管理器可以打开树莓派的文件夹:

在+号中选择bash即可打开远程终端,作为putty的替代

在vscode中编写python代码

首先要在vscode中安装python的插件:

  • 这个插件不是python语言的解释器,vscode想要运行python代码,必须另外指定在windows上安装的python解释器路径
  • 这个插件被安装上后,vscode就具有了调用python解释器的功能,就是在setting.json和launch.json这两个配置文件中可以添加python的相关配置
  • 可以通过按下ctrl键,点击函数,打开函数所在的文件和定义位置
  • 具有代码提示功能

新建文件夹以及.py文件编程后点击右上角的Run Python File即可运行python代码



实例:1.44寸LCD显示

根据上面的配置,现在就来让树莓派在外接的1.44寸屏幕上显示,1.44寸屏幕:

  • 首先需要输入命令sudo raspi-config开启SPI接口,然后输入sudo reboot重启树莓派

    可以在/boot/config.txt中检查SPI没有被其他的设备占用

了解一些关于pip的命令:

pip是python包管理工具,提供了对python包的查找、下载、安装和卸载的功能

在树莓派中python命令对应的解释器是python2.x版本,而python3对应的解释器是python3.x版本,因此我们主要用的是python3:



而在树莓派中,pip和pip3对应的也是如此:



所以我们也要用pip3,一些常用的命令如下:

  • pip3 --version:查看版本

  • pip3 install SomePackage:安装最新版本的包

  • pip3 install SomePackage==1.0.4:安装指定版本的包

  • pip3 list:查看已安装的包

  • python3 -m pip list:查看python3的pip安装的包

  • 其次需要安装库

    • BCM2835:树莓派cpu芯片的库函数,底层是直接操作寄存器,而wiringPi库和python的RPi.GPIO库的底层是通过读写Linux系统的设备文件操作设备
    • wiringPi:应用于树莓派平台的GPIO控制库函数(树莓派管脚有三种编号方式,第一种是板上编号,表示第几号引脚;第二种是wiringPi编码,使用wiringPi库编程就是用这个编号;第三种是BCM编号,使用BCM2835库或python的RPi.GPIO编程时使用BCM编号)
    • RPi.GPIO:有两种方法对树莓派上的IO引脚进行编号,第一种是BOARD编号系统,即引脚号;第二种是BCM号

然后根据以下链接中的步骤即可显示:

1.44inch LCD HAT

显示结果如下:

实例:串口发送数据

树莓派的串口有两种:

  • PL011

  • mini UART

    树莓派zero的串口对应如下:

  • UART0->PL011

  • UART1->mini UART

  • Primary UART:在树莓派上,一个UART被选用作连接GPIO14(tx)和GPIO15(rx),被称为Primary UART

  • Secondary UART:默认连接到蓝牙

    下面的表说明的各个树莓派的两种UART分别是哪一个:



    另外,mini UART是默认关闭的

在Raspberry Pi操作系统中,不同的Linux设备的意义如下:

  • /dev/ttyS0:mini UART
  • /dev/ttyAMA0:first PL011(UART0)
  • /dev/serial0:primary UART
  • /dev/serial1:secondary UART

    /dev/serial0和/dev/serial1是一种symbolic links指向/dev/ttyS0或者/dev/ttyAMA0

树莓派上的mini UART的时钟连接到了VPU核的时钟,因此如果想要使用mini UART的话,需要配置树莓派的VPU核的时钟频率固定,enable_uart和core_freq的设置能写入config.txt来配置mini UART:



默认的enable_uart值取决于哪一个UART是primary UART:

程序如下:

import serial
import time print("hello world") ser = serial.Serial('/dev/ttyS0',115200)
if ser.is_open == False:
ser.open() for i in range(50):
ser.write(b'i')
time.sleep(0.5)

程序运行结果如下:

【树莓派】在vscode中连接树莓派并编写代码的更多相关文章

  1. 在vscode中进行nodejs服务端代码调试(代码修改自动重启服务端)

    使用到的是nodemon,具体在package.json文件中配置如下: "scripts": { "start": "node ./bin/www& ...

  2. vscode中关闭python默认自动提示

    vscode中python的默认自动代码提示工具是Jedi,我现在用的是kite.默认情况下连个自动补全工具会同时工作,提示窗口会重复出现相同的代码.以下操作可以关闭Jedi.

  3. 连接树莓派中的MySQL服务器

    今天用笔记本连接树莓派的 MySQL ,结果连接不上.就直接连接到树莓派上进行操作.其实以前也知道远程访问 MySQL 需要进行配置,可以直接 mysql.user 表,也可以直接使用授权的 SQL ...

  4. 使用SecureCRT网络连接树莓派

        为了更加方便可以通过网络来连接.控制树莓派,使用SecureCRT可以通过网络来连接树莓派.     1.在树莓派上通过终端命令ifconfig 来查看当前树莓派的IP地址:     IP地址 ...

  5. 电脑连接树莓派Pi Zero W

    作者:陈拓 chentuo@ms.xab.ac.cn 2018.05.16/2018.06.09 0.  概述 本位介绍两种电脑连接树莓派Pi Zero W的方法: 电脑通过USB以太网连接树莓派Ze ...

  6. 树莓派3B+学习笔记:10、使用SSH连接树莓派

    SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式. 1.开启树莓派3B+的SSH远程管理功能,在终端中输入以下命令: sudo ra ...

  7. 树莓派3B+SimpleCV上连接iPhone4s摄像头

    目的:把iPhone4s当成网络摄像头,通过wifi连接到树莓派上,做为树莓派的摄像头. 1. iPhone4s上安装mini WebCam应用. 很旧的一个app, 没有密码,简单,无广告,免费. ...

  8. 树莓派/RaspberryPi Ubuntu远程连接

    网络设置 设置Ubuntu主机跟树莓派在同一网段,树莓派设置静态IP地址: 查看/etc/network/interfaces的内容,其中有#For static IP, consult /etc/d ...

  9. 树莓派直连线连接PC

    刚入手树莓派一天不到,SSH树莓派一直用的是路由+无线网卡的配置.想到明天就要出差了,本想把树莓派也带去,可宾馆的房间只有一个网口,通常都是兄弟们连接小型无线路由用的,连接树莓派似乎成了一个难题.于是 ...

  10. 利用Putty连接树莓派

    解决emergency mode问题 记得上一次玩我的树莓派是做一个小型的服务器,挂载一个8GB的USB做服务器,在Windows电脑上直接进行访问.结果今天就开启不了树莓派了,总是进入emergen ...

随机推荐

  1. 现代 CSS 高阶技巧,不规则边框解决方案

    本文是 CSS Houdini 之 CSS Painting API 系列第四篇. 现代 CSS 之高阶图片渐隐消失术 现代 CSS 高阶技巧,像 Canvas 一样自由绘图构建样式! 现代 CSS ...

  2. 重学c#系列—— 反射深入一点点[三十三]

    前言 在上一章中介绍了什么是反射: https://www.cnblogs.com/aoximin/p/16440966.html 正文 上一节讲述反射的基本原理和为什么要用反射,还用反射的优缺点这些 ...

  3. Kagol:2022年最值得推荐的前端开源文章

    大家好,我是 Kagol,Vue DevUI 作者,从2020年开始一直专注于前端开源组件库的建设,在前端开源组件库.开源社区运营方面积累了一些经验,2020年主要的创作也是围绕前端组件库和开源两个主 ...

  4. WCH网络授时芯片CH9126操作指导

    目前CH9126推荐在Win7操作系统的电脑上执行,暂不推荐在与Win10系统的电脑进行通讯. 一.重要引脚说明 设置及状态相关引脚: 引脚1:RSETE-一个控制CH9126工号的引脚,直接接18K ...

  5. 【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移Redis数据实战指南(离线同步数据)

    离线迁移 与在线迁移相比,离线迁移适宜于源实例与目标实例的网络无法连通的场景,或者源端实例部署在其他云厂商Redis服务中,无法实现在线迁移. 存在的问题 由于生产环境的各种原因,我们需要对现有服务器 ...

  6. python之路53 ajax补充返回序列化数据,多对多创建三种方式,django内置序列化组件(drf前身),批量操作数据,自定义分页器,form组件

    ajax补充说明 主要是针对回调函数args接收到的响应数据 1.后端request.is_ajax() 用于判断当前请求是否由ajax发出 2.后端返回的三板斧都会被args接收不再影响整个浏览器页 ...

  7. 基于AbstractProcessor扩展MapStruct自动生成实体映射工具类

    作者:京东物流 王北永 姚再毅 1 背景 日常开发过程中,尤其在 DDD 过程中,经常遇到 VO/MODEL/PO 等领域模型的相互转换.此时我们会一个字段一个字段进行 set|get 设置.要么使用 ...

  8. Unity之生成扫描二维码

    Unity之生成扫描二维码 Unity之生成扫描二维码 前言 开篇 Unity版本及使用插件 正题 前期准备 首先生成二维码 然后需要扫描二维码 该使用了 挂载脚本绑定按钮和输入框 运行内容 生成二维 ...

  9. Linux CentOS7查看软件包安装时间

    rpm -qi 软件包名,比如httpd,lrzsz [devops@host9 ~]$ rpm -qi lrzsz Name : lrzsz Version : 0.12.20 Release : ...

  10. 【Redis场景4】单机环境下秒杀问题

    单机环境下的秒杀问题 全局唯一ID 为什么要使用全局唯一ID: 当用户抢购时,就会生成订单并保存到订单表中,而订单表如果使用数据库自增ID就存在一些问题: 受单表数据量的限制 id的规律性太明显 场景 ...