用Python来控制我的Arduino打开或者关闭接口

咱们刚拿到这个命题的时候,首先要做的当然不是马上写代码,需求都还没分析代码从何写起。

第一步,需求分析。

咱们既然要用Python控制Arduino,那么这里可以把Python作为主机,Arduino作为从机,主机控制从机,了解过单片机的朋友应该都明白这个主从机的意思。

那么如何做才能简单灵活呢?

在进行方案的制定前咱们得搞清楚这是怎么个流程,呐,博主这里简单画个流程图,这样比较直观

721286401729574039.jpg - 大小: 343.08 KB - 尺寸:  x  - 点击打开新窗口浏览全图

好了,图上给出了两种方案。

第一种方案是在Arduino中写好固定的命令函数,直接烧录进去,然后Python通过串口发送对应的指令(如:发送字符串 'reboot')到Arduino单片机,单片机接收到字符串之后通过一个Switch函数(路由)来执行对应的reboot函数。这种方案的优点就是提供有限的指令,主机只能使用Arduino提供的所有指令,有利于保护从机,这在很多工业机器中很常见,避免被恶意利用。缺点就是不能自定义函数里面具体的操作,需要修改的时候就必须重新烧录程序。

第二种方案是在从机Arduino中提供所有接口的操作权限,就相当于在串口上映射了所有接口。这样使用Python下发指令就像直接控制Arduino的接口一样。例如Python向串口发送字符串10:1就可以直接控制从机的第10个接口产生高电平,12:0就是控制12号接口产生低电平。这种方案的好处很明显, 你可以随时更改你的主机程序,因为是实时的,所见即所得。缺点也很明显,主机可以随意控制从机的所有接口的动作,这中方案在实际工业生产环境中是比较危险的,试想一下,如果一个黑客入侵了主机,他就可以轻松的控制从机的所有接口执行各种危险的操作,最终可能导致终端的传感器或者组件损坏,甚至更严重的后果。

以上两种方案就是博主在实际操作中所遇到的问题以及解决方法。具体的编码就不再多说了,如果有朋友对代码这块实在是不知道如何实现可以在文章底下留言,博主根据留言所需进行编码部分的补充。


如果您觉得文章有帮助到您,请到 https://www.92ez.com/index.php?action=show&id=23403 进行打赏/捐赠,谢谢!
如果您觉得文章有帮助到您,请 使劲戳这里 进行打赏/捐赠,谢谢!
本文链接:https://www.92ez.com/?action=show&id=23378
提示:技术文章有一定的时效性,请先确认是否适用你当前的系统环境。

上一篇: 写个脚本来搜索磁力链吧
下一篇: 博客被运营商屏蔽(目前已可以正常访问)

访客评论
目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):