虽然Edison本身就装在一块Arduino扩展板上,但当要接的传感器太多了的时候一个扩展板也不够用了。因此需要再用一Arduino板扩展功能。而两者需要通信才能达到一个整体的效果,因此这里介绍如何用USB连接Arduino和Edison来达到通信的目的。接下来进入教程正文:

一、硬件

1.系统内装有python解释器的Edison开发板
2.电源
3.Arduino
4.Arduino usb连接线

二、为Arduino烧录程序

打开Arduino IDE,给你的Arduino烧录以下程序:

String txt;void setup(){    Serial.begin(9600);}void loop(){    if (Serial.available()){        txt = Serial.readString();        Serial.print("character received:");        Serial.println(txt);    }}

这个程序的功能就是当Arduino接收到Edison通过串口发来的消息后,在这段消息前加上“character received:”再发送回给Edison。

三、连接
Edison在一个micro usb口供电的情况下是不会启用usb type-A口的,所以请务必用专用电源给Edison供电。然后查看Edison上连接的串口设备:在ssh连接上Edison后输入

ls /dev/tty*

再把Arduino通过USB连接线插到Edison的USB口。再查看一次Edison上的串口设备。这个时候会发现列表中多了一个设备,这个串口名就是你Arduino的啦。如图:

四、为Edison编写代码

这里要用到python的一个名为serial的模块,专门用来获取串口的数据。因为我的Edison上显示Arduino的串口名是/dev/ttyACM0,所以serial.Serial()的第一个参数就是/dev/ttyACM0,如果你的串口名不是这个,就替换为你设备上显示的端口名就好了。示例使用的是python2。

import serial
ser = serial.Serial(‘/dev/ttyACM0’, 9600, timeout=1)
ser.open()
try:while 1:txt = raw_input()ser.write(txt)response = ser.readline()print response
except KeyboardInterrupt:ser.close()

五、运行和调试
启动程序,之后输入hello:

>>> hello
character received:hello

可以看出Edison和Arduino已经开始通信啦。

转载于:https://www.cnblogs.com/philip/p/6971137.html

Edison与Arduino通过USB对接通信相关推荐

  1. python做上位机读usb数据_使用python实现win10系统和arduino usb串口通信

    前言 arduino有很多可以直接使用的传感器,可以很方便的获取大量的环境数据. 常见的有:温度(室温,冰箱,水箱等场景) 湿度(房间空气湿度,花盆土壤湿度等场景) 声(声控灯,噪音检测,深海测量,医 ...

  2. Android USB 串口通信

    公司要求安卓PAD对接一台Windows的设备,实现双向数据传输. 是通过Windows设备的一根数据线进行数据传输的,涉及到的技术就是USB转串口通信,网上讲原理的一大堆,我就不讲了,直接上demo ...

  3. CSR8675学习笔记:USB HID通信

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  4. Intel XDK 上对Edison + Arduino 编程

    Intel XDK 上对Edison + Arduino 编程 还是连接Arduino for Edison板子右下角那个USB接口,iMac重启后可以正常用Terminal去连接这个串口,使用命令s ...

  5. 使用蓝牙测试app和Web Bluetooth API(web蓝牙)连接arduino蓝牙模块并通信

    原文链接:https://dsx2016.com/?p=1505 公众号:大师兄2016 前言 前面的arduino操作都是建立在usb串口通信上的,然而有线的操作不仅不方便,还受限设备数量,数据传输 ...

  6. 51单片机C语言波特率十六进制,理解51单片机串口通信的波特率与USB转串口通信...

    RS232 在我们电脑上,一般都会有一个9针的串行接口,这个串行接口叫做RS232接口,它和UART通信有关联,但是由于现在笔记本电脑不带9针串口,所以和单片机通信越来越趋于使用USB虚拟串口. 九针 ...

  7. 遵循Modbus协议通过Usb(Ch375)通信的上位机传输问题

    遵循Modbus协议通过Usb(Ch375)通信的上位机传输问题 Delphi / Windows SDK/API http://www.delphi2007.net/DelphiNetwork/ht ...

  8. Android USB转串口通信开发实例详解

    好久没有写文章了,年前公司新开了一个项目,是和usb转串口通信相关的,需求是用安卓平板通过usb转接后与好几个外设进行通信,一直忙到最近,才慢慢闲下来,趁着这个周末不忙,记录下usb转串口通信开发的基 ...

  9. Android USB转串口通信开发基本流程

    好久没有写文章了,年前公司新开了一个项目,是和usb转串口通信相关的,需求是用安卓平板通过usb转接后与好几个外设进行通信.一直忙到近期,才慢慢闲下来,趁着这个周末不忙.记录下usb转串口通信开发的基 ...

最新文章

  1. 隐藏了十年的Sudo漏洞爆出:无需密码就能获取root权限
  2. aix服务器屏幕显示被锁住了,AIX恢复密码过程总结
  3. java web js加版本号_[Java教程]js 比较版本号(一)
  4. 各企业正在纷纷向“云”,背后有着哪些原因?
  5. java 双声道音频_Android 播放音频如何实现双声道效果
  6. ansible-playbook agent实例
  7. JavaScript对滚动条的操作
  8. 关于IDE集成开发环境,Pycharm小技巧
  9. enote笔记语言(2)(ver0.2)
  10. 卡巴斯基安全部队2014,越来越像VISTA了
  11. keras简单的实际入门教程
  12. dn什么意思_DN是啥意思
  13. 越来越卷,教你使用Python实现卷积神经网络(CNN)
  14. HDU 5730 Shell Necklace
  15. spd耗材管理流程图_医用耗材SPD管理模式详解
  16. 面试必问的CAS,你懂了吗?
  17. android ble peripheral,Android - BlueTooth BLE 之 Central 与 Peripheral 理解
  18. 由一条关于普元软件的新闻产生的感想
  19. 690. Employee Importance
  20. 操作系统中用户态和内核态(系统态)是什么?用户态如何变成内核态?

热门文章

  1. LVTRM架构发布0.1测试版
  2. container_of分析
  3. 在C#用GDI+实现图形图像的任意变形效果(转载)
  4. 处理程序“WebServiceHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
  5. 基于容器的ETCD集群脚本
  6. 洛古 P1373 小a和uim之大逃离
  7. ZwQueryVirtualMemory暴力枚举进程模块
  8. leetcode处女作
  9. Activity栈管理(一):Activity任务栈模型
  10. subList用法详解