树莓派使用MCP3008模数转换器(ADC) 树莓派是一款出色的小型台式计算机,可用于控制数字输入和输出。但是,当你想读取模拟信号(例如从热敏电阻,电位器或许多其他类型的传感器获得的信号)时会怎么做?通过将小型的模数转换器(ADC)芯片连接到P树莓派,可以为程序打开模拟信号的世界!我这边的目的是想测电瓶里面还剩多少电,通过数模转换器拿到电瓶此时输出的电压,再根据电瓶电压衰减曲线大概估算所剩百分比。 1. 方法总结 Analogue Senso 2020-01-20 RaspberryPi Python Linux SPI
Python3 yield from 用法详解 yield from是Python3.3以后全新的语言结构,它的作用比yield多得多,因此人们认为继续使用那个关键字多少会引起误解。在其他语言中,类似的结构使用await关键字,这个名称就好多了。当然,后面Python也改成了await,这个我们在结尾说,少废话,先看东西。 1. 替代内层for循环如果生成器函数需要产出另一个生成器生成的值,传统的解决方法是使用嵌套的for循环: 1234567 2020-01-12 Python Python yield from
Python yield使用详解(二) yield的第二部分主要是with模块的功能,即上下文管理器。我们可以用contextmanager装饰器加上yield语法代替传统的__enter__,__exit__魔法方法,让代码变得更Pythonic! 1. 上下文管理器和with块1.1 with表达式常见的with用法格式,控制代码块的进入/退出: 12345678with open(filename) as f: statem 2020-01-06 Python Python yield
Python yield使用详解(一) 刚学到yield这个较为陌生的语法时,一头埋了进去,自认为较为全面的学习到了精髓。结果码了这么多代码好像也没用到过多少次这个关键字,直接扑街。记得工作经验只有一年的时候我出去面了个试,人家问我yield作用是什么,我很自信,一个劲地回答道协程协程,结果好像不太满意,人家一说生成器,奥,恍然大悟,竟然把最基本的语法忘了。所以现在看来,yield是否在协程异步方面有着不可代替的作用,必须出现它呢,那就 2020-01-02 Python Python yield
操作系统中线程与进程概念解惑 这篇文章总结本来记录于两年前,是在写Python多线程时对一些概念的疑惑的解答,当初查阅了很多资料,对于操作系统层面的线程进程概念很模糊。而今,随着Python版本的更新,本身异步的新特性逐渐完善,在学习异步的时候难免与常用的多进程多线程进行比较来说明异步的优越性,把以前的文章拿出来,并且在现在自己的理解上查阅一些资料进行适当修改,达到温故而知新的效果。 看了一天的相关概念,很多涉及到操作系统与底 2019-12-31 Linux Linux Thread
MQTT知识指南以及在Python的应用 谈到物联网就会谈到MQTT协议,之前一段时间我虽然在书上看到过,也是粗略一看也没深究,主要自己只是维度不够,项目中也没有用到,就不了了之了。最近老板找了个架构师准备用心好好搞一搞公司那个平台,提出新的架构,用到了MQTT协议,用心研究了一番,发现以前写了好多的功能都是MQTT自带的,花了好多时间重复造轮子。最近看了好多相关的东西,虽然蛮多深层次的东西都没有摸到,但也有些了解,故搜集了一些资料有序的 2019-12-10 MQTT Python Linux MQTT
Django admin后台常用设置汇总 一开始学Django的时候基本都有接触django admin管理员后台,但是之后的开发基本很少用,写API测试的时候要修好后台数据基本都是命令行或者数据库直接修改,完全没有接触到admin。但是最近方便公司订饭,写了个订饭系统,前后端分离,本想让前端根据登录员工判断是否是管理员角色,然后在页面上增加管理员操作元素,有点麻烦,。之后,我直接傻了,拍了下自己头,为啥不用django自带的管理员后台呢 2019-12-09 Python Django Python
Python -m 参数以及生僻运行命令汇总 最近在翻阅剖析Python源码的时候讲到了内部Python变量的实现,以及当运行Python命令时,隐藏在内部的一些过程,于是python3 --help之后对某些运行参数产生了一些疑问,还涉及到了包与模块的内容,略微生僻,特此整理记录下~ 1. 大杂烩 旨在由用户直接执行的包含Python代码的纯文本文件通常称为**脚本(script),这是一个非正式术语,表示顶级程序文件。 另一方面,包含设计 2019-10-17 Python Python
C语言中extern和头文件以及静态动态库概念梳理 最近因为Arduino使用的较多,开始学起来了C语言,看了还多天,无非就是基本的数据类型,运算符,控制语句,简单得很,后来发现这仅仅是语法层面,C语言是除了汇编最为底层的语言了,要了解这门语言,就要从了解支撑起C的底层原理开始了解,编译原理,操作系统,计算机硬件。而这次遇到的C语言的库文件,就好比Python中的标准库与第三方库,怎么共享,中间又是个什么过程,一团黑。因为涉及内容太多太多,我还是偏 2019-10-11 C Linux C
浅谈Flask目录结构以及与Vue.js整合注意事项 没用Flask之前,我对Flask的只有一个概念,那就是**Micro,官网对其的解释是这样的:Micro并不意味着你的整个Web应用程序必须只有单个Python文件(尽管可以),也不意味着Flask缺少功能。微框架中的Micro**意味着Flask旨在使核心保持简单但可扩展。Flask不会为你做出很多决定,例如使用什么数据库,而且它所做的决定(例如使用哪种模板引擎)很容易更改。其他一切都由你决定 2019-09-25 Flask Python Vue Flask