唤醒手腕Python全栈工程师学习笔记(微机实验篇)
01、树莓派安装操作系统
官网下载网址:https://www.raspberrypi.org/downloads/
官网为不同的电脑操作系统提供了烧录软件,大家可以根据不同的操作系统下载对应软件。而且Raspberry Pi Imager文件不大,下载很快。树莓派官方提供的 Raspberry Pi imager 系统写入程序:
界面也很清晰明了,第一个选项是选择系统,第二个选择相应SD卡,最后确认无误后点击WRITE按钮写入。选择操作系统的镜像文件,选择SD Card的目录,开始进行写入:
点击第一个按钮Operating System 里边有很多操作系统供大家选择,但因为外网的原因下载速度很慢,在这里推荐大家先在官网上下载操作系统的种子文件,从种子文件得到自己所需的操作系统,之后点击如上页面的最后一项Use custom,即使用本地文件,选中自己下载的操作系统文件(注意是.img文件)。
VNC (Virtual Network Console) 虚拟网络控制台
Tiger VNC(Virtual Network Console)是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。
在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下,普通用户的使用只需要其中的两个命令:vncserver 和 vncviewer。
有线网络远程连接树莓派
在系统写入内存卡之后,内存卡的容量会发生变化。
修改 cmdline.txt
文件如下,分配IP:
ip=192.168.137.100 console=serial0,115200 console=tty1 root=PARTUUID=7e39db9c-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh splash plymouth.ignore-serial-consoles
增加ssh文件,开放ssh远程连接服务
SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。
1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。
在电脑启动cmd窗口进行Ping连接测试
ping (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP;回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令:
02、树莓派HDMI连接电视机
在Windows下,进入已写入树莓派系统的SD卡,找到 config.txt
(最好备份一下这个)。建议,不管你是什么显示器,或者高清电视机,最好在没显示的情况,请将 config.txt
中的分辨率调低一些,不要老想着,我的显示设备支持1080p,就非得一步到位,建议从下面的低分辨率尝试开始。
计算机显示器使用的分辨率 :
hdmi_mode=4 640x480 60Hz
hdmi_mode=9 800x600 60Hz
hdmi_mode=16 1024x768 60Hz
CEA规定的电视规格分辨率 :
hdmi_mode=2 480p 60Hz
hdmi_mode=4 720p 60Hz
另外:若直接使用的是HDMI线接显示设备,请在config.txt中添加一条:
hdmi_ignore_edid=0xa5000080
这个是命令树莓派不检测HDMI设备的任何信息,只按照我们指定的分辨率输出。 这样就不会自动检测显示设备的分辨率,而避免掉很多可能不显示的造成因素,就会按照你自己设置的分辨率显示。分辨率也按照上面列出的尝试,修改 config.txt
中 hdmi_mode=x
的 x
值。
03、树莓派Linux指令介绍
在命令提示符前面,可以看到你当前所处的工作目录。在Linux中,你的主目录会被缩写为波浪线(~)。刚刚打开LX终端( LXTerminal)时,它会把当前的工作目录切换到你的主目录下,命令提示符会显示如下:
pi@raspberrypi:~ $
➊ 你的用户名: pi, 后面加上@符号。
❷ 你的主机名 ( 默认的主机名是raspberrypi )
❸ Shell的当前工作目录。默认是你的主目录 ( ~ )
❹ 这是命令提示符。你输人的一切内容都会出现在它的右侧,按回车键执行你所输入的命令。
Raspbian文件系统中部分重要的目录
操作文件或目录常用命令
pwd # 显示当前工作目录(print working directory)touch # 创建空文件 mkdir # 创建目录(make directoriy)-p # 父目录不存在情况下先生成父目录 (parents) cp # 复制文件或目录(copy)-r # 递归处理,将指定目录下的文件与子目录一并拷贝(recursive) mv # 移动文件或目录、文件或目录改名(move)rm # 删除文件(remove)-r # 同时删除该目录下的所有文件(recursive)-f # 强制删除文件或目录(force)rmdir # 删除空目录(remove directoriy)cat # 显示文本文件内容 (catenate)more、less # 分页显示文本文件内容head、tail # 查看文本中开头或结尾部分的内容head -n 5 a.log # 查看a.log文件的前5行tail -F b.log # 循环读取(follow)
Linux中zip压缩和unzip解压缩命令详解
# 把 /home 目录下面的mydata目录压缩为 mydata.zip
zip -r mydata.zip mydata #压缩mydata目录# 把 /home 目录下面的 mydata.zip 解压到 mydatabak 目录里面
unzip mydata.zip -d mydatabak# 把 /home 目录下面的abc文件夹和123.txt压缩成为abc123.zip
zip -r abc123.zip abc 123.txt# 把 /home 目录下面的 wwwroot.zip 直接解压到 /home 目录里面
unzip wwwroot.zip# 把 /home 目录下面的 abc12.zip、abc23.zip、abc34.zip 同时解压到 /home 目录里面
unzip abc*.zip# 查看把/home目录下面的wwwroot.zip里面的内容
unzip -v wwwroot.zip# 验证/home目录下面的wwwroot.zip是否完整
unzip -t wwwroot.zip# 把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
unzip -j wwwroot.zip
查看系统信息:-a
--all : print all information, in thefollowing order
[root@VM-4-4-centos ~]# uname -aLinux VM-4-4-centos 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
04、Linux网络配置设定
在互联网上防火墙是一种非常有效的网络安全模型,通过它可以 隔离风险区域 (即Internet或有一定风险的网络)与 安全区域 (局域网)的连接,同时不会妨碍人们对 风险区域的访问 。所以它一般连接在核心交换机与外网之间。
开启防火墙:servicefirewalld start
关闭防火墙:service firewalld stop
查看端口状态:netstat -tunlp
完整的防火墙系统通常是由 屏蔽路由器 和 代理服务器 组成
屏蔽路由器:
是一个多端口的IP路由器,它通过对每一个到来的IP包依据组规则进行检查来判断是否对之进行转发。屏蔽路由器从包头取得信息,例如协议号、收发报文的IP地址和端口号、连接标志以至另外一些IP选项,对IP包进行过滤。
代理服务器:
是防火墙中的一个服务器进程,它能够代替网络用户完成特定的TCP/TP功能。一个代理服务器本质上是一个 应用层的网关 ,网关我们前天讲到过,它就是一个关口。
一个为特定网络应用而连接两个网络的网关。用户就一项TCP/TP应用,比如Telnet或者FTP,同代理服务器打交道,代理服务器要求用户提供其要访问的远程主机名。
当用户答复并提供了正确的用户身份及认证信息后,代理服务器连通远程主机,为两个通信点充当中继。整个过程可以对用户完全透明。用户提供的用户身份及认证信息可用于用户级的认证。
防火墙从诞生开始,已经历了四个发展阶段:
基于路由器的防火墙
用户化的防火墙工具套
建立在通用操作系统上的防火墙
具有安全操作系统的防火墙
05、Pycharm运行Micropython
安装MicroPython插件(Plugins)
运行PyCharm IDE,点击插件[Plugins] (见图3)。在”Search”编辑框输入:micropython,点击绿色背景的[Install]按钮安装MicroPython插件,具体操作见图3中的红色椭圆框所示。
接下来可安装树莓派Pico开发板MicroPython固件(若已在树莓派Pico开发板中事先安装了MicroPython固件,则忽略此步骤)
配置结果展示如下:接下来Pycharm会帮我们安装MicroPython编程相应的Package库
06、树莓派单片机应用
流水灯的实现
树莓派实验板的实现流水灯:
[Pin(i, Pin.OUT) for i in range(0,8)]
这是列表生成器,在基础研究篇讲到过,迭代器的思想。
from machine import Pin
from utime import sleep# 定义LED 管理
leds = [Pin(i, Pin.OUT) for i in range(0,8)]while True:for n in range(0,8):leds[n].value(1)sleep(0.05)for n in range(0,8):leds[n].value(0)sleep(0.05)
光敏电阻的测试
光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。
from machine import Pin
from time import sleepmakerobo_D0 = 15def init_makerobo():global D0D0 = Pin(makerobo_D0, Pin.IN)def print_infor(value):if value == 1:print("\n****** 现在是黑夜 ******\n")else:print("\n****** 现在是白天 ******\n")def makerobo_loop():makerobo_status = 1while True:makerobo_temp = D0.value()if makerobo_temp != makerobo_status:print_infor(makerobo_temp)makerobo_status = makerobo_tempsleep(0.1)if __name__ == "__main__":init_makerobo()makerobo_loop()
步进电机测试
ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。
代表“反相器”,就是输入端和输出端的信号是反相的,比如如果输入端是低电平时,输出端就是高电平;当输入端是高电平时,输出端就是低电平。
LN2003也是一个7路反向器电路,即当输入端为高电平时ULN2003输出端为低电平,当输入端为低电平时ULN2003输出端为高电平,继电器得电吸合。
from machine import Pin
from time import sleepmakerobo = 15def init_makerobo():global motormotor = Pin(makerobo, Pin.OUT)def start_motor():choose = 1while True:choose = input("请输入( 1 | 开 )或( 0 | 关 ):")motor.value(int(choose))if __name__ == "__main__":init_makerobo()start_motor()
蜂鸣器的实验测试:
蜂鸣器设置为高电平,关闭蜂鸟器,蜂鸣器为低电平触发,所以使能蜂鸣器让其发声。
from machine import Pin
from time import sleepmakerobo_Buzzer = 0 # 有源蜂鸣器管脚定义# GPIO设置函数
def makerobo_setup(pin):global makerobo_BuzzerPinglobal buzzermakerobo_BuzzerPin = pinbuzzer=Pin(makerobo_BuzzerPin,Pin.OUT) # 设置有源蜂鸣器管脚为输出模式buzzer.value(1) # 蜂鸣器设置为高电平,关闭蜂鸟器# 打开蜂鸣器
def makerobo_buzzer_on():buzzer.value(0) # 蜂鸣器为低电平触发,所以使能蜂鸣器让其发声
# 关闭蜂鸣器
def makerobo_buzzer_off():buzzer.value(1) # 蜂鸣器设置为高电平,关闭蜂鸟器# 控制蜂鸣器鸣叫
def makerobo_beep(x):makerobo_buzzer_on() # 打开蜂鸣器控制sleep(x) # 延时时间makerobo_buzzer_off() # 关闭蜂鸣器控制sleep(x) # 延时时间# 循环函数
def loop():while True:makerobo_beep(0.5) # 控制蜂鸣器鸣叫,延时时间为500mm# 程序入口
if __name__ == '__main__':makerobo_setup(makerobo_Buzzer) # 设置GPIO管脚loop() # 调用循环函数
唤醒手腕Python全栈工程师学习笔记(微机实验篇)相关推荐
- 唤醒手腕Python全栈工程师学习笔记(网络爬虫篇)
唤醒手腕Python爬虫学习笔记,喜欢的同学们可以收藏下,谢谢支持. 01.基础语法知识点 字符串的分割 webString = 'www.baidu.com' print(webString.spl ...
- 唤醒手腕Python全栈工程师学习笔记(持久存储篇)
这个篇目是"持久存储篇",讲的就是Python操作数据库,这边介绍3种数据库,分别是MySQL.Redis.Mongodb 1. Python操作MySQL数据库 MySQL属于传 ...
- 唤醒手腕Python全栈工程师学习笔记(底层原理篇)
01.内建名称空间 在Python中,有一个内建模块,该模块中有一些常用函数,变量和类. 而该内建模块在Python启动后.且没有执行程序员所写的任何代码前,Python首先会自动加载该内建模块到内存 ...
- 唤醒手腕Python全栈工程师学习笔记(拓展调用篇)
01.利用python操作摄像头 首先介绍安装opencv-python第三方库 OpenCV 是一个开源的计算机视觉库,OpenCV 库用C语言和 C++ 语言编写,可以在 Windows.Linu ...
- 唤醒手腕Python全栈工程师学习笔记(并发编程篇)
01.Process进程基本介绍 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,进程是线程的容器. 什么是进程? 进程 ...
- 唤醒手腕Python全栈工程师学习笔记(框架应用篇)
01.Flask框架服务器 render_template模板页面传参 @app.route('/index') def index():user = {'username':'duke'}#将需要展 ...
- Python全栈工程师学习笔记 | Django的模型层
Model模型 模型是你的数据的唯一的.权威的信息源.它包含你所储存数据的必要字段和行为. 通常,每个模型对应数据库中唯一的一张表. 每个模型都是django.db.models.Model的一个Py ...
- python datetime需要安装_Python全栈工程师学习笔记 | Django的模型层
Model模型 模型是你的数据的唯一的.权威的信息源.它包含你所储存数据的必要字段和行为. 通常,每个模型对应数据库中唯一的一张表. 每个模型都是django.db.models.Model的一个Py ...
- 路飞学城出品python全栈工程师学习感受
随便写点感受,作为记录. 前段时间公司有意做运维自动化的项目,整个团队中没有会python的人,于是运维有一个基础任务就是学习python,从<路飞学院21天python课程>中知道了Al ...
最新文章
- 调试uIP出现死机问题
- mysql连接的时候里执行命令_在Bash里使用交互式命令连接MySQL数据库,并执行一次查询...
- 用C#开发.NET CF 蓝牙通信模块
- 前端学习(2616):请求数据接口
- 基于android的视频采集系统的设计与实现,基于Android的视频采集系统的设计与实现...
- SpringBoot项目瘦身指南,大厂如何面试看出你的水平
- 打破“信息孤岛”不能透支信息安全
- sublime press key “escape” can't type anything
- MySQL 一条SQL语句执行得很慢的原因有哪些?
- 算法与数据结构 第2章 排序基础 下 插入排序
- SQL查询学生信息表中的学生记录
- Eric6与pyqt5学习笔记14 【实战5 百度贴吧离线签到工具】
- 简单介绍一下用加速度传感器修正角速度传感器(陀螺仪)累计误差的原理
- linux趋势杀毒安装目录,趋势杀毒软件在AX3.0上的安装
- 【亲测纯净版】10月最新晴天贷立刻贷小额借贷大数据借贷平台网站源码已对接免签支付
- 对建立奉贤区区级工程技术中心的企业给予30万元奖励
- 材料研究生转行做什么?
- 经验分享——教务管理系统有几大功能
- 常用 IT 论坛及专业技术网站
- 小波(小波包)变换 频率/频域 与 图像细节处理
热门文章
- 开发届这些公司的自白
- MySQL 8.0 物理备份xtrabackup简介
- ArrayList和LinkedList的异同
- baidu patchrom项目 make后刷机包脚本多一个0解决
- 谈读《三国志》之话说关羽——【istrangeboy精品史评】
- IDEA 中如何完成 Git 版本回退?
- 什么是Saas架构?
- 小程序如何推广?这里有5招
- 【cvpr2022-论文笔记】《L2G: A Simple Local-to-Global Knowledge Transfer .... Semantic Segmentation》
- 自学平面设计,不能不知道的基础知识点是什么?