Skip to content

Commit

Permalink
Add the ruby serial commucation
Browse files Browse the repository at this point in the history
  • Loading branch information
phodal committed Dec 3, 2014
1 parent dea275c commit 9f3979d
Showing 1 changed file with 36 additions and 6 deletions.
42 changes: 36 additions & 6 deletions src/4.0.easyiot.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,29 @@

###串口通信

Arduino与Raspberry Pi通过串口通信的方式实现通信,相互传输所需要的数据,Raspberry Pi将资源传于互联网上对应的接口,接口可以在互联网上被访问。Laravel框架构架于服务器之上,将Raspbery Pi获取过来的数据存储于MySQL数
据,再以REST服务的方式共享数据,互联网上的其他设备便可以通过网络来访问这些设备。Ajax用于将后台的数据以不需要刷新的方式传递到网站前台,通过HighCharts框架显示给终端用户。
Arduino与Raspberry Pi通过串口通信的方式实现通信,相互传输所需要的数据,Raspberry Pi将资源传于互联网上对应的接口,接口可以在互联网上被访问。Laravel框架构架于服务器之上,将Raspbery Pi获取过来的数据存储于MySQL数据,再以REST服务的方式共享数据,互联网上的其他设备便可以通过网络来访问这些设备。Ajax用于将后台的数据以不需要刷新的方式传递到网站前台,通过HighCharts框架显示给终端用户。

在Linux内核的系统Windows[^windows_com]中虚拟串口用的节点是ttyACM,位于/dev目录下。
####Python

1.在Windows中的串口通常是``COM1``,``COM0``等等

```python
ser=serial.Serial("COM0",9600)
```

2.Mac OS系统中位于/dev目录下,名字类似于``tty.usbmodem1451``

``` python
serial.Serial("/dev/tty.usbmodem1451",9600)
```

3.在Linux内核的系统中虚拟串口用的节点是ttyACM,位于/dev目录下。

``` python
serial.Serial("/dev/ttyACM0",9600)
```

串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,
同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能
> 串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能
的电路,我们称为串行接口电路。

便是打开这个设备,以9600的速率传输数据。
Expand Down Expand Up @@ -69,7 +81,25 @@ while 1:

![改变状态后的结果](./images/change.png)

###I2C通信
####Ruby

如果你用的是Ruby的话,可以尝试使用``serialport``

安装

```bash
sudo gem install serialport
```

代码大致如下

```Ruby
require 'serialport'
sp = SerialPort.new "/dev/ACM0", 9600
sp.write "1"
```

注意:根据相关的系统修改相关的代码。

##硬件

Expand Down

0 comments on commit 9f3979d

Please sign in to comment.