查看: 17696|回复: 4

用Python玩转天问51

[复制链接]

13

主题

22

帖子

321

积分

版主

Rank: 7Rank: 7Rank: 7

积分
321
发表于 2021-1-25 15:05:19 | 显示全部楼层 |阅读模式
本帖最后由 hzxc 于 2021-1-25 17:42 编辑

一、概述
纯Python语言没法在资源有限的单片机上运行,于是我们采用了上位机和硬件通讯方式来实现用Python控制硬件设备,需要占用硬件设备一个串口,同时硬件设备里需要烧入通讯固件。
Python语言有很多现成的库可用,我们可以借助Python语言结合硬件设备做很多实际应用。比如用PyQt5可以做图形界面上位机,用Plotly绘图库做数据采集和分析等虚拟实验工具。
二、硬件设置
1. 安装天问Blcok
打开天问Block官方网站,点击链接下载并安装。
image-20210106190148574.png
为了方便软件使用,建议勾选关联软文件扩展名。
image-20210112202047662.png
软件安装完成后将跳出驱动安装。
image-20210106191349832.png
默认点击下一步直到安装成功。
2. 烧写Python通讯固件
打开天问Block软件,首先会提示选择主板,这里我们根据天问51主板选择STC8/16。
image-20210108113245483.png
Python通讯固件V1.0.hd
image-20210112192022759.png
打开固件。
image-20210106192159769.png
查看对应的串口。
image-20210112195225955.png
查看设备管理器。
image-20210112194048315.png
确认端口对应,这里都为COM8。
点击右上角运行,完成下载固件。
image-20210112194315925.png
跳出下载窗口。
image-20210106193931641.png image-20210106193943688.png
下载完成后,窗口自动关闭。
三、Python环境设置Python环境安装
*使用Python 3.6以上版本
  • 为了方便用户使用,已提供Windows版Python 3.8.7安装包(32位/64位),如需其他版本,请自行下载,下载方法可查看文后阅读材料(第2页)。
Windows版本安装时在选项中勾选添加Python到环境变量,点击下一步直到安装完成。
image-20210112181832727.png
*如选择自定义安装,勾选下图中选项。
image-20210112181938952.png
安装成功。
image-20210112181727046.png
Pyserial依赖包安装
使用系统快捷键WIN + R运行CMD命令行。
image-20210112191705487.png
  1. pip install pyserial
复制代码
image-20210112182452557.png
提示安装成功。
四、运行示例程序下载天问Python包
下载地址: 天问51-Python.zip (2.58 MB, 下载次数: 54)
1. 使用Python IDLE
通过Python IDLE打开digitalWrite.py。
image-20210112182902949.png
点击运行程序。
image-20210112182911158.png
程序运行成功,LED闪烁。
2. 使用命令行运行
使用系统快捷键WIN + R运行CMD命令行。

使用cd命令跳转到项目文件夹,然后使用python *.py运行文件。
image-20210112181550647.png
程序运行成功,LED闪烁。
五、API接口说明
  • Start
    • TWen()
    • start( serialport )
  • GPIO
    • digitalWrite( pin, level )
    • digitalRead( pin, def onResult )
  • ADC
    • analogRead( pin, def onResult )
  • PWM
    • pwmWrite( pin, pwm )
  • Actuator
    • motor( speed )
    • buzzer( freq, duty )
  • Sensors
    • Light Sensor
      • light ( def onResult )
    • Temperature Sensor
      • ntc( def onResult )
    • Keypad
      • keypad( def onResult )
    • Key1~4
      • key1( def onResult )
      • key2( def onResult )
      • key3( def onResult )
      • key4( def onResult )
    • QMA7981
      • ama7981( axis )
  • Display
    • Matrix
      • matrixDisplay( buffer )
      • matrixDisplayNum( value )
    • Nixietube
      • nixietube_num( value )
      • nixietube_float( value )
      • nixietube_time( h, m, p )
      • nixietube_time2( h, m, p )
    • OLED
      • oled( x, y, message )
六、Python IDE推荐
前面我们都是用最原始的文本工具运行Python程序,使用起来会有很多不方便的地方,比如关键词高亮、提醒、调试等,所以一般建议使用专门的IDE来编写Python程序,能起到事半功倍的效果。这里推荐使用PyCharm社区免费版,软件的具体使用网上很多教程,不再做详细赘述。
下载地址:https://www.jetbrains.com/pycharm/download/
image-20210108115341897.png
阅读材料:Python安装包下载
  • 官方下载地址:https://www.python.org/downloads/
    image-20210112115054984.png
    点击下载,下载链接会根据当前系统自动选择对应的版本。
    Win7系统不支持Python 3.9版本,请自行选择需要的版本下载。
    image-20210112133508882.png
    打开页面后,找到下载,点击下载安装包,Windows系统安装包按照下图所示下载。
    image-20210112180924281.png
回复

使用道具 举报

1

主题

13

帖子

103

积分

注册会员

Rank: 2

积分
103
发表于 2021-1-25 17:30:24 | 显示全部楼层
给力!
回复

使用道具 举报

1

主题

9

帖子

95

积分

注册会员

Rank: 2

积分
95
发表于 2021-1-25 17:54:22 | 显示全部楼层
先赞一个!
回复

使用道具 举报

0

主题

1

帖子

6

积分

注册会员

Rank: 2

积分
6
发表于 2021-2-24 20:10:10 | 显示全部楼层
不错
这python代码风格,和arduino的C/C++风格好像

以后会有micropython风格的嘛?
回复

使用道具 举报

0

主题

4

帖子

39

积分

注册会员

Rank: 2

积分
39
发表于 2021-5-13 18:31:39 | 显示全部楼层
历害
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-3-29 06:19 , Processed in 0.320841 second(s), 25 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表