单片机和python_python和单片机 - CSDN
  • python单片机的通信

    2019-11-23 18:54:28
    总结:python单片机传送数据:data=b'Beking\r\n'#发送的数据 单片机python 传送数据为数值时,以16进制进行显示 例如:12-Xoc 5-53 9-57 参考资料:...

    总结:python 向单片机传送数据:data = b'Beking\r\n'    #发送的数据

              单片机向python 传送数据为数值时,以16进制进行显示 例如:12-Xoc   5-53  9-57

     

    参考资料:https://blog.csdn.net/dgut_guangdian/article/details/78391270

                      https://blog.csdn.net/beking17113/article/details/83213071

                    来说下用STM32串口发送数据和接收数据方式有哪些

    展开全文
  • MicroPython以微控制器作为目标,从而使得Python可以用来控制硬件。说到MicroPython,也许有人会感到陌生。...MicroPython顾名思义就是运行在MCU的Python,换句话说Python可以让单片机行动起来了。MicroP...

      MicroPython以微控制器作为目标,从而使得Python可以用来控制硬件。说到MicroPython,也许有人会感到陌生。而说到和它密切相关的Python,是否会恍然大悟呢?Python属于解释型语言,经过数十年的磨砺,如今Python已经成为最具人气的开源编程语言之一。MicroPython顾名思义就是运行在MCU的Python,换句话说Python可以让单片机行动起来了。MicroPython-TPYBoard QQ技术交流群:157816561 技术网站:www.tpyboard.com

      MicroPython开发板入门实战篇

      MicroPython脱胎于Python,基于ANSIC(C语言标准),然后在语法上又遵循了Python的规范,主要是为了能在嵌入式硬件上(这里特指微控制器级别)更易于的实现对底层的操作。截止到目前,已经有不少嵌入式硬件成功移植了Micropython,如STM32F4、esp8266、PYBoard等。而目前在MicroPython嵌入式领域最全、最专业的当属TPYBoard的MicroPython系列,是MicroPython从入门到实战的不二之选。

      MicroPython实战之教材篇

    图片描述

      《机器人Python极客编程入门与实践》是汇集Python极客团队和国内众多一线高手设计的MicroPython入门到实战的典型实战教材。包括数十个简单入门案例,如LED控制、wifi控制、智能小车、PM2.5检测仪等。其中书中教程实例所搭配的实验开发板即为TPYBoard开发板。所以有了先进的软件、硬件开发品台,剩下的只是创意!

      MicroPython实战之开发板篇

      1、 TPYBoardv10x基础篇

    图片描述

      TPYBoardv102是一款经典的MicroPython开发板,搭载STM32F405芯片,支持DFU和SWD两种调试方式,现分为三个版本,简约版、以及分别兼容MicroPython官方板的PYBoardv1.0、PYBoardv1.1,大小64mm*54mm。是MicroPython开发和入门的首选!

      2、 TPYBoardV20X局域网篇

    图片描述
    图片描述
      TPYBoard基于局域网通讯的V20X系列能稳定的应用于物联网开发环境,包括基于ESP8266的WIFI通信开发板TPYBoardv202、基于以太网通信的TPYBoardv201。TPYBoard通过搭载各种传感器加上zigbee、Lora、NB-iot、2G、4G等通信模块将组成物联网终端设备的典型产品形态,属于典型的MicroPython玩转物联网快速开发的利器。

      3、 TPYBoard70X北斗GPRS通讯系列

    图片描述

      TPYBoardv702支持通信定位功能的MicroPython开发板。支持北斗&GPS双模定位、GPRS通信、短信、蓝牙、电话等功能。板载重力传感、温湿度、加速度传感器、蜂鸣器、LCD5110显示屏灯。

      目前TPYBoard现已形成了完善的MicroPython开发体系,并形成了完善的技术文档以及技术支持服务。实践证明,加上稳定可靠的外围电路和抗干扰电源,以TPYBoard为核心的产品能成功应用于苛刻的工业环境,使开源硬件和开发平台得到更广泛的应用,产品多样性远远高于官方开发板,是MicroPython学习的首选。

    展开全文
  • python与硬件的交互

    2018-08-21 17:26:12
    ... 计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储...一个完整的计算机由硬件操作系统组成。如果没有操作系统的计算机,可以称之为裸机。...

     

    本文转载自  https://www.cnblogs.com/white-small/p/6705094.html

    计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。一个完整的计算机由硬件和操作系统组成。如果没有操作系统的计算机,可以称之为裸机。

    2.计算机的组成:

      硬件部分:计算机硬件主要由cpu,输入设备,输出设备,存储器和系统总线组成。cpu就像人类的大脑一样,负责计算,处理事件,系统总线则是人的血管和神经一样,控制的输入,输出和存储设备(控制总线),将营养物质传输到身体各处(数据传输总线)。输入,输出设备则负责计算机与外界做交互,进行数据的输入和输出,图形的显示等作用。而存储设备则负责存储内容。

      软件部分:计算机的软件部分主要分为操作系统和应用软件。操作系统的出现,将计算机复杂的硬件结构进行了包装,给人们提供了一个简单,方便,优美的操作感受和视图界面。而应用软件的出现则是为了满足人们各种特定的需求,如暴风影音,游戏等。

    3.硬件部分

       1.CPU:cpu的组成如下图所示,工作过程可以分为取指---解码--执行,这三个部分,分别再指令寄存器,指令译码器和ALU这三个地方完成。因为从内存读取数据的时间比cpu执行命令的时间要慢的多,所以计算机在内部有部分寄存器(和cpu同材质),寄存器主要分为以下几种类型:

    • 通用寄存器:用来保存变量和临时结果

    •    程序计数器:用来保存下一个要执行的指令的内存地址。

       程序状态字寄存器(PSW):用来标记区分访问状态(用户态内核态),cpu优先级等内容。

    •    堆栈指针寄存器:该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量。堆栈的特点是先进后出。

        

      

     补充说明:

      内核态:为了保护硬件系统底层的安全和稳定性,只允许内核态进行操作硬件。一般操作系统处于内核态,而应用软件处于用户态

      用户态:只能操作cpu指令集的一个子集,无法操作底层硬件内容,如果需要操作底层硬件,需要将用户态转换为内核态。

      多线程:线程是cpu执行的基本单位,线程之间内存的共享的。多线程cpu可以保持两个不同状态的线程(休眠状态和运行状态),cpu来回切换这些线程,速度十分快,以致于让人们认为是并发处理的。cpu同一个时间只能处理一个线程。

      进程:进程是最小的资源单位,进程间内存是不共享的。一个进程最少要有一个线程。

      多核:增加了数个完整的cpu,这样就可以同时处理多个线程。每个cpu有个跟cpu材质一样的缓存区,称为一级缓存(L1),有个二级缓存(L2)链接着这几个cpu(inter架构)。

      

      2.存储器

           如下图,缓存的级别由上到下一次递增,寄存器为一级缓存,高速缓存为二级缓存,以此类推,缓存速度越快,容量就越小,造价就越昂贵。如果运行一个程序,所需要的内容已经在高速缓存中,即称为高速缓存命中,如果高速缓存未命中,则需要去内存读取数据,速度会慢很多。

      •  内存RAM为易失性存储,断电后数据全部消失。

      •  rom(Read Only Memory)为非易失性存储。

      •  flash(闪存):非易失性存储,固态硬盘,u盘都是有闪存进行存储。

      •  cmos:易失性存储,保存当前时间和日志,还有系统的一些参数。

       

      •  磁盘:磁盘由多个碟片,磁柱,磁头组成。每个磁盘又以扇区为单位进行划分。一个扇区为512B。最小的块单元由8个扇区组成,即4KB。

          磁盘读取数据会有一定延时,主要非为:

          1.平均寻道延时:即找到所需数据所在的扇扇道

          2.平均延时时间:在扇道上找到正确的扇区所需要的时间

          所以一块磁盘转速约快,他的延时时间就越短,读取速度就越快。

          我们还会划分一小部分磁盘作为内存来使用,防止运行软件过多,所需内存超过实际内存大小,而造成内存溢出,服务崩溃。虚拟内存虽然运行速度较慢,但是可以防止内存溢出的情况发生,保证服务的稳定。

      • 磁带:读取速度最慢,但是容易打,移动性高,虽然都用来做备份。

         

       I/O设备(input/output)

        I/O 一般分为设备控制器(需要安装驱动软件)和设备本身。

        设备控制器的作用是提供一个标准的接口来接入设备,驱动软件则是提供给系统操控设备的方法。各个设备控制器由I/O总线链接着。

        I/O总线分为北桥和南桥,北桥连接cpu,内存,二级缓存,南桥连接硬盘,键盘,打印机等运行速度较慢的设备。

     4.操作系统

      

       操作系统的作用主要由两个:

      1.给用户提供一个简单,明了的硬件接口(工作在用户态),程序开发人员不需要再去了解如何去控制硬件,而是调用相应的硬件接口就可以使用。

      2.让线程的进程变得有序(工作在内核态)。如打印机同时打印a,b,c,如果是无序竞争,那么打印出来的内容会是a一行,b一行,这样混乱的内容。操作系统会使用锁 这个方法让竞争变得有序,如果a文件正常使用打印机,则会将打印线程锁住,只给a只有,那么b和c只有等a打印完之后才会使用打印机。

      操作系统与应用软件的区别: 

         1.主要区别是:应用软件开发周期短,可修改,操作系统由内核保护着,不能被修改。

        2.操作系统是一个大型(源码数量大)、复杂(提供复杂功能)、长寿(不会轻易被弃用)的软件

      

      多路复用(多道技术):

      1.时间上的复用:当一个资源在时间上复用时,不同的程序或用户轮流使用它。例如:cpu的 上下文切换:一个内核可处理多个进程, 在只有一颗 CPU 的情况下, 内核必须调度和平衡这些进程和线程。 每个线程在处理器上都拥有一个时间分配单元, 当一个线程超过自己的时间单元或被更高优先级的程序抢占时, 此线程及被传回队列而此时更高优先级的程序将在处理器上执行。

      2.空间上的复用(需要硬件上的支持,将内存在硬件层面上进行分区):多个程序同时进入不同的内存区域。且由操作系统控制,这比一个程序独占内存一个一个排队进入内存效率要高的多。 硬件层面的分割保证了安全性:应用程序不会操作到操作系统的内存区域    稳定性:释放应用程序内存时,不会同时释放掉操作系统的内存(即使是操作系统的部分内存),这样可以避免引起操作系统的崩溃。

     

    参考博客链接:

        https://www.cnblogs.com/linhaifeng/p/6523843.html

        https://www.cnblogs.com/linhaifeng/p/6295875.html

    展开全文
  • Python已经逐渐成为热门编程语言的“座上宾”,同时它也是一款比较容易上手的脚本语言,而且有强大的社区支持,一些非...因此也就出现了将Python应用到嵌入式领域的MicroPython,MicroPython脱胎于Python,基于ANSI
    origin: http://geek.csdn.net/news/detail/197537?ref=myread

    Python已经逐渐成为热门编程语言的“座上宾”,同时它也是一款比较容易上手的脚本语言,而且有强大的社区支持,一些非计算机专业领域的人都选它作为入门语言。因此也就出现了将Python应用到嵌入式领域的MicroPython,MicroPython脱胎于Python,基于ANSI C(C语言标准),然后在语法上又遵循了Python的规范,主要是为了能在嵌入式硬件上(这里特指微控制器级别)更易于的实现对底层的操作。

    图片描述

    推荐:创客必备的MicroPython开发利器!

    PYBoard是MicroPython的官方开发板,但是这块板子定价较高,在国内也没有得到很好的普及。这也让许多热爱MicroPython的创客捉襟见肘。幸好,MicroPython遵循MIT协议开源,我们可以在其他开发板上很好的运行MicroPython,效果反而有过之而无不及。
    TPYBoard的MicroPython开发板系列是目前国内做的最全同时也是最专业的,现有产品除了支持MicroPython的TPYBoard V101、V102、V201、V202、V702外,还有stm23F4最小系统板,arduino系列开发板等等,是MicroPython从入门到精通的不二之选,也是广大创客硬件学习路上的良师益友。

    图片描述

    【一起玩MicroPython】之TPYBoardv102

    TPYBoardv102是TPYBoard的MicroPython开发板系列的第一个产品,除了v102,TPYBoard系列还有支持8266的v202、支持以太网的v201以及支持GPS北斗&GPRS通信功能的v702,产品一经问世也得到了广大创客的支持和喜爱。

    版本篇:

    为了让广大的创客更好、更灵活的体验MicroPython开发的魅力,TPYBoardv102现分为两个版本,分别兼容MicroPython官方板PYBoardv1.0、PYBoardv1.1。,同时还配有无排针版,广大的爱好者可根据自身需求领过选择。

    外观篇:

    TPYBoardv102十分小巧,主板为蓝色沉金,大小64mm*54mm,便携性很OK,随身携带,到哪都能开发。PYBoard官方售价28英镑,而TPYBoardv102的售价为108元起,价格仅为官方板售价的一半,功能上却能完美的兼容PYBoardv1.0、v1.1的固件。

    图片描述

    基础篇:
    通过TPYBoardv102,用户可以轻松实现对微控制器的控制,这就让更多的计算机初学者也能来动手做硬件DIY,用户完全可以通过MicroPython语言实现硬件底层的访问和控制,比如说控制LED灯泡、LCD显示器、读取电压、控制电机、访问SD卡等。
    工业篇:
    广州某机械制造公司利用TPYBoardv102开发板,自主开发完成了自动牛皮纸封装机的研发生产工作,基于TPYBoard开发板具有ADC高精度转换、超强定时器功能、IO口结构合理数量丰富等特点,被选用作为主控,主要负责自动控温、自动纠偏、和威纶触摸屏交互、变频器监测、散热控制等。
    图片描述

    实践证明,加上稳定可靠的外围电路和抗干扰电源,以TPYBoard为核心的产品能成功应用于苛刻的工业环境,使开源硬件和开发平台得到更广泛的应用。


    展开全文
  • python上位机向单片机发送字符,单片机如果收到的字符为‘1’,则点亮灯1,如果收到的字符为‘2’,则点亮灯2;单片机若接受到字符,读取字符后,向python上位机发送字符(1->X,2->T),若python上位机接受到的字符...
  • 项目中遇到需要用电脑通过串口来控制单片机IO口,查询了一些资料,可以使用python来实现简单的串口通信, 所以用python实现了一个简单的单片机串口助手,可以将串口助手发往单片机的字符回传给串口助手。也可以 将...
  • MicroPython :旨在实现单片机Python3.x的实现
  • 最近看了垃圾分类很多人做,身为学电子出身的我,也想试试。那首先怎么实现分类呢? 搞摄像头识别。。。。感觉有点难度,还要算法,慢慢研究,然后灵机一动就想到语音控制,我的想法是我说这个垃圾的名称,然后下位...
  • Python控制单片机 上一篇博客介绍了树莓派的装机,这篇博客为大家介绍一下如何在树莓派中导入Python程序来控制单片机
  • Python俨然已成为当下最热门的编程语言(可以说没有之一)。Python火到什么程度?它将被加入小学生教材,纳入高考,估计在不远的将来可能会成为一项常用的技能。 学习python能做什么?可以快速搭建一个漂亮的网站可以...
  • 买来8266后一直卡在了清除固件那一块,今天才发现自己安装的python3.6版本不支持,电脑兼容安装python2.7.7和python3.6.6成功后解决了清除下载固件失败问题,成功点亮led 1.安装esptool pip install esptool 2....
  • 编译环境:Python3.8.1 代码功能:Python通过串口从51单片机接收一个16进制数据 注:压缩包内包含工程代码文件
  • 小弟是学软件开发的,分方向学的JAVA,谁知本专业的嵌入式课布置一个作业,用51单片机,一个蜂鸣器,一排开关(4个),一排流水灯(8个)一个数码管(显示1-9)做一个可用的小器具,我的思路是 先用一个开关按下使...
  • Python单片机STC15W 的自动控制
  • 通过串口烧入hex到pic单片机(pic已经运行boot程序) down_hex.py 源码 #coding:utf-8 import serial import pic_hex_pars import time from threading import Timer #串口定时接收 class PicSerial(): def __init...
  • 单片机 摄像头获取图片并发送到树莓派上 python 丰富的第三方库,易于上手人工智能安装baidu-aip依据官方文档编程 百度云api 百度云控制台,产品:人工智能>人脸识别>立即使用>创建应用>勾选相应...
  • import serial # 导入pyserial模块,串口通信相关 import binascii # 导入binascii模块,进制与进制转换、进制与字符串转换相关 com = serial.Serial('COM3', 9600) ...
  • import os # 导入OS模块,操作系统接口相关 import serial # 导入pyserial模块,串口通信相关 com = serial.Serial('COM3', 9600) ...
  • 项目基本实现功能如下: 1、配置使用stm32 cubeMx 2、使用Ubuntu19环境、python3.7 3、实现电脑发送数据到单片机接收 4、单片机判断接收的数据进行电灯流水灯等操作 5、单片机接收到的信息回传给电脑,电脑...
1 2 3 4 5 ... 20
收藏数 9,093
精华内容 3,637
关键字:

单片机和python