一直以来都有读者询问是否有硬件控制类的案例,这也是我一直期待涉及的话题,但由于种种原因始终未能付诸行动。就在上个月,张路老师(roadlabs)收到了谢作如老师寄来的一块掌控板,并共同讨论了关于掌控板与手机协同工作的解决方案。张路老师建议以App

Inventor的网络数据库(tinyWebDB)组件为媒介,为掌控板开发一个专用的服务模块——tinyWebIO,使得熟悉App

Inventor开发的用户可以很容易地开发出自己的安卓应用,实现手机与掌控板之间的通信及控制。现在这个模块已经预置在掌控板的最新版固件中,不久用户就可以在市场上购得这款产品,详见谢老师的文章《让App

inventor和掌控板远程互动起来》。

本文的主要目的是介绍如何在App

Inventor中开发与掌控板通信的应用,即,如何调用tinyWebIO服务程序,以实现手机和掌控板之间的协同工作。文本分两期发布,本期介绍与开发有关的准备工作。

掌控板是一款适用于物联网应用的单片机控制板,同样也适用于编程教学。掌控板有两种网络连接方式:WIFI及蓝牙,本文采用wifi连接;掌控板以MicroPython作为开发语言,而tinyWebIO的作用就是利用App

Inventor已有的TinyWebDB组件实现与掌控板系统的直接交互,也就是用块语言开发的手机应用实现其控制功能。关于掌控板的详细介绍,请参见其官方网站(https://mpython.readthedocs.io)。

在正式开始编写程序之前,有两项准备工作必须完成:

(1)在开发电脑上安装掌控板的原生开发工具及驱动程序;

(2)将掌控板连接到局域网的wifi网络(需要wifi的登录名和密码)。

对于一块掌控板,只需在第一次使用时,做以上操作,下面将给出具体操作步骤。

(1)下载原生开发工具及驱动程序,网址为:https://mpython.readthedocs.io/zh/latest/board/software.html,用户可根据自己的操作系统版本选择下载不同的文件。

(2)下载tinyWebIO服务及启动文件,网址为

https://pan.baidu.com/s/168XgQwF8rV0HR63mEpB9dg,下载后解压缩,得到两个文件:main.py及tinywebio.py。

(3)安装并启动原生开发工具:在开发工具安装完成后,安装程序会自动提示安装驱动程序。注意安装路径中不能有中文字符或空格,最好直接安装在硬盘根目录,如D:mpython下。安装完成后,启动开发工具,界面如图1所示。

图1 掌控板的原生开发工具

注意:开发工具安装过程中,在Windows的Userscomputer文件夹下自动创建了mu_code文件夹,在开发工具中编写的程序将默认保存在该文件夹下。稍后我们会再次提及这个文件夹。

(4)测试硬件连接:用USB线将掌控板连接到开发电脑上,在开发环境中点击“文件”按钮(也许需要点击两次),如果硬件连接正常,则会显示图2中的内容,图中下部左侧窗口中显示的是掌控板中的文件,右侧为电脑Userscomputermu_code文件夹中的文件。如果提示连接失败,则手动按下掌控板上的复位键重新启动硬件,稍等片刻后再查看文件。(稍等片刻是必要的。)

图2 测试硬件连接是否正常

(5)加载并刷入tinywebio.py及main.py:考虑到这篇文章发表时,掌控板的tinyWebIO固件版可能还未上市,因此,需要读者手动将两个文件刷入掌控板。

首先在开发工具中载入tinywebio.py,点击“刷入”按钮,即可将其刷入掌控板,刷入成功后,会弹出提示框,询问是否立即运行,此时选择“OK”。如图3所示。

图3 程序刷入成功后,立即运行程序

用同样的方法载入文件main.py,如图4所示,这次需要对文件稍加修改,填写即将登录的wifi网络的名称及密码,然后点击“刷入"按钮,并选择立即执行程序。

图4 在main.py文件中设置登录WIFI网络的名称及密码

如果程序执行成功,则掌控板的液晶屏上将显示登录后硬件的ip地址。如图5所示。如果执行出现问题,可以按“Ctrl+D”重新启动硬件,此时,main.py会自动执行。

图5 硬件联网成功后,屏幕上会显示ip地址

至此为掌控板编程的准备工作已经就绪,此时,你可以在另一台电脑或手机(与掌控板在同一个wifi网络中)的浏览器中输入ip地址+端口号8888,即可访问掌控板上的tinyWebIO服务程序。如图6所示。

图6 在手机的浏览器中访问掌控板上的tinyWebIO服务程序

(6)服务测试

点击图6中的第一项——写入数据,如图7所示,在标签一栏中输入“buzz”,在数值一栏中输入“on”,然后点击“写入”按钮,这时掌控板会发出令人发指的鸣叫,此时,在数值栏中输入“off”,并点击“写入”按钮,鸣叫声停止。这说明掌控板上的tinyWebIO服务程序运行正常。

图7 测试tinyWebIO服务程序

以上我们讲述了掌控板的驱动、联网,以及tinyWebIO服务程序的刷入、启动与简单测试,在下一期中,将在App

Inventor中开发一个简单的应用,介绍tinyWebIO的具体调用方法。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com

mpython掌控板_AppInventor+掌控板:为硬件编程(1)相关推荐

  1. 一个软件测试员如何选择mac妙控板或妙控鼠标

    最近,应该很多小伙伴都入手了mac M1! 未使用过mac的小伙伴和以前使用mac 妙控鼠标的小伙伴该如何选择妙控板和妙控鼠标呢? 价格:根据自己的个人经济水平,没有特殊场景要求的建议妙控鼠标 使用场 ...

  2. Mac使用bootcamp安装Windows系统后如何设置触控条和触控板

    Bootcamp Mac 电脑在使用 Bootcamp 安装了 Windows 系统后如何设置触控条和触控板. 一.打开 bootcamp 控制面板 点击桌面右下角 任务栏 的隐藏图标: 点击 boo ...

  3. 如何将Apple无线键盘、妙控鼠标或妙控板与Mac相连

    妙控键盘.妙控鼠标和妙控板在配对并打开后,可以通过蓝牙以无线方式与您的Mac搭配使用.一起来看看如何将Apple无线键盘.妙控鼠标或妙控板与Mac相连吧! 确定电池已充满电且被正确装入键盘.鼠标或触控 ...

  4. 在Windows10笔记本上使用精确触控达到Mac的触摸板体验 Elan厂商触摸板更新后驱动失效解决

    起因 假期把1809的笔记本升级到了19H1(Build.18323)后,触摸板除单/双击外的功能全部失效了,尽管更新之前的触摸板的体验也比较的糟糕,但仍能提供诸如模拟右键单击,拖动等操作,多任务的呼 ...

  5. [Winodows Phone 7控件详解]控件基础

    Windows Phone7提供了丰富的silverlight控件,但是和silverlight又有一定的区别的,其中有很多控件都是不可用的,另外有些控件即使可以用,但有一些属性也是不可用的.后面将一 ...

  6. android 单点跟长按的区别,单点触控和多点触控区别是什么?原理分析

    描述 导语:触屏手机.平板电脑等新型的智能设备的崛起,除了因为像安卓和ios这样的智能系统诞生的原因外,不可或缺的一个条件就是触摸屏幕的更新换代和多点触控技术的出现.下面我们就来介绍单点触控和多点触控 ...

  7. LabVIEW-数值控件和布尔控件

    简介 LabVIEW 以其强大.开放.图形化的虚拟仪器软件开发环境使得无论是否有过编程经验的工程师或科学家使用它时都可以快速.高效地与测量和控制硬件通信,并进行复杂的数据分析及处理.LabVIEW集成 ...

  8. 【行空板教程】写字板

    [行空板教程]写字板 前言 我们知道行空板有一块2.8寸的彩屏还一块触摸屏,不搞点事情总感觉浪费了,之前做了语音识别的教程,很多读者都用语音识别做了很多有趣的小项目,那么我就想能不能做一个手写输入法呢 ...

  9. 基于C#的GIS开发20210426之类库同名类、制作winform控件、建立控件之间的关联、自己制作控件、自己控件引入项目、显示磁盘文件夹、磁盘文件与picturebox建立关系、图像拉伸

    C#知识点与控件的制作 一.C#中多个类库中有同名类,区分问题 二.制作最简单的winform控件 1.拖动加载 事件代理 筛选器 2.显示属性.事件,及其修改 常见控件属性介绍 窗体常用的方法 常见 ...

最新文章

  1. PullToRefreshScrollView下拉刷新开源组件分析
  2. android 图片缓存工具类,Android工具类系列-Glide图片缓存与圆角
  3. zsh of kali
  4. SQL Server-【知识与实战II】条件查询、比较运算符查询、模糊查询、枚举查询、范围查询、空值查询、多重条件查询
  5. vsan 一台主机磁盘组全报错_分享VSAN磁盘无法识别的故障解决方法
  6. 【理论】浅解硬件网络通信+交换机芯片+通信系统设计
  7. 开源软件、自由软件和免费软件的区别
  8. 利尔达芯智行智能BMS系统方案,让电池的“大脑”更聪明
  9. android 墓碑日志,关于清明节扫墓的日记
  10. kube-scheduler源码分析(三)之 scheduleOne
  11. 信度效度难度区分度是什么意思_如何区分信度、效度、难度、区分度?
  12. sourcetree添加gitignore不生效解决方案
  13. Win10安装Apache和PHP
  14. 轻松掌握Mybatis(上)
  15. c语言模拟抛骰子,c语言模拟抛1000000次骰子
  16. 逍遥棋牌怎么样,是不是骗人的?
  17. JS 实战: Drag 点击拖曳效果
  18. 华为服务器安全系统,服务器安全增强系统
  19. SDDC架构完全应用?还尚需时日……
  20. 常见物理CPU个数逻辑CPU个数计算方式

热门文章

  1. jetson nano opencv 打开 CSI摄像头_技术文章—选择嵌入式视觉摄像头需考虑哪些方面...
  2. 史林枫:C#.NET利用ffmpeg操作视频实战(格式转换,加水印 一步到位)
  3. 初中信息技术用计算机做科学实验报告,今秋中考加试信息技术和理化实验操作...
  4. java计算机毕业设计网上零食进销存源码+系统+数据库+lw文档+mybatis+运行部署
  5. 伪装为kswapd0进程的挖矿木马
  6. 项目经理最应该具备的能力是什么?
  7. springboot+mysql+微信小程序社区共享书屋-计算机毕业设计源码03656
  8. Microsoft Office Professional Plus 2010 在安装过程中出现错误的解决方案
  9. 织梦栏目mysql调用_织梦调用指定顶级栏目或当前子栏目名称的方法
  10. 笔记本--如何不按Fn键就能实现F键的功能两者之间的切换