树莓派上的MQTT

树莓派上的MQTTMQTT是一个应用比较广泛的物联网的通信协议,最近还是想自己做一个智能温度控制系统,所以研究了一下Mosquitto这个MQTT的服务端的软件,同时还研究了一下在Micropython下MQTT协议的实现。这个小工程的基本实现方式是一个MQTT的服务端负责各种消息的分发,两个MQTT的ESP32开发板,一个负责产生温度湿度数据,同时还控制一个台灯,一个负责控制继电器实现加热...

继续阅读 »

Python中的Ctypes

ctypes是Python中的一个标准库,它提供了一种Python调用C语言动态连接库的方法,可以将C语言的库文件方便的加上一个pyhton的调用接口。指定连接库文件在不同平台上ctypes导入的文件是不同的,一般linux上是cdll,windows上是windll和oledll。cdll的导入方式用的是cdecl的调用方式,而windll的调用方式是stdcall,oledall用的也是...

继续阅读 »

Python 中类的单例实现

单例设计模式是应用开发过程中最简单的创建型的设计模式。类的单例指的是一个类只有一个实例,可以提供一个全局的访问节点,常常用于日志记录,数据库操作等等,它们的特点是资源一般只有一个,单一的访问实例可以避免同一资源的冲突。

继续阅读 »

ADC动态参数测试结果分析

这篇文章主要记录一下ADC动态参数的相关测试,ADC动态参数主要的一个参数就是ADC的有效位测定,还有其它一些之前提到的参数。ADC动态参数的基本测试方法是用在ADC的输入端加一个正弦波,正弦波的幅值最好可以包括ADC的所有输出码型,频率不能太高,另外ADC的动态参数和频率点是直接相关的,所以频率点可能会有多个选择。这里首先先说一下ADC测试的基本方法,在我们的测试系统中,ADC的输入结果是...

继续阅读 »