<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>https://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>https://jackxiang.com/post//</link>
<title><![CDATA[[实践OK]手把手教你树莓派与Arduino Uno的对接(USB及GPIO方式)]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[系统架构与硬件]]></category>
<pubDate>Sun, 03 May 2015 04:32:38 +0000</pubDate> 
<guid>https://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：想在树莓派上插上Arduion Uno的串口，进而两者进行通讯，后根据数据进一步判断并通过另一个Raspberry Pi的usb接口接上SIM900打电话的功能。<br/>实践OK，如下：<br/><textarea name="code" class="C" rows="15" cols="100">
Welcome to minicom 2.6.1
OPTIONS: I18n 
Compiled on Apr 28 2012, 19:24:31.
Port /dev/ttyACM0
a
Press CTRL-A Z for help on special keys
OK! GOOD Job
</textarea><br/>输入minicom后，想退出怎么办，帮助：Ctrl+a，退出：x（eXit and reset.....X ），清屏：c（Clear Screen.......C）<br/><br/>用c语言读取的代码如下：<br/>http://jackxiang.com/post/8003/<br/><br/>1.安装python（安装过的请跳到下一步）:&nbsp;&nbsp;sudo aptitude install python-dev<br/>2.安装python的GPIO模块,用于控制LED、电机等（安装过的请跳到下一步） <br/>&nbsp;&nbsp;命令行下 输入（一行一个命令）<br/>wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.3.1a.tar.gz&nbsp;&nbsp;&nbsp;&nbsp;(下载GPIO库)<br/>&nbsp;&nbsp;tar xvzf RPi.GPIO-0.3.1a.tar.gz&nbsp;&nbsp;(tar解压)<br/>&nbsp;&nbsp;cd RPi.GPIO-0.3.1a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (进入解压后的文件夹)<br/>&nbsp;&nbsp;sudo python setup.py install&nbsp;&nbsp;&nbsp;&nbsp; (安装GPIO库文件)<br/>复制代码 要是看不懂上面的两点请移步到这http://www.shumeipai.net/forum.php?mod=viewthread&amp;tid=939<br/><br/>&nbsp;&nbsp;3.安装serial，用于串口通信及USB通信:<br/>sudo apt-get install python-serial<br/>复制代码 4.当然你要是想在树莓派装串口调试工具就装：<br/>sudo apt-get install minicom&nbsp;&nbsp; <br/>配置minicom：<br/>sudo minicom -s&nbsp;&nbsp;&nbsp;&nbsp; <br/>启动出现配置菜单：选serial port setup<br/>进入串口配置<br/>输入A 配置串口驱动为/dev/ttyAMA0<br/>输入E 配置速率为9600 8N1<br/>输入F 将 Hardware Flow Control 设 为 NO<br/>回车 退出&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>由于我们使用minicom作为超级终端控制路由器等设备, 而不是控制modem, 所以需要修改Modem and dialing, 将Init string, Reset string, Hang-up string设置为空. 设置完成后选择Save setup as dfl将当前设置保存为默认设置.&nbsp;&nbsp;&nbsp;&nbsp;在配置菜单 选Save setup as df1保存（一定要记得这一步）&nbsp;&nbsp; 选Exit退出下次在输入minicon 即可直接进入。<br/>命令minicom是进入串口超级终端画面，而minicom -s为配置minicom。说明/dev/ttyAMA0 对应为串口0 为你连接开发板的端口<br/>。（如何更详细使用说明移步到这http://www.shumeipai.net/forum.php?mod=viewthread&amp;tid=550）<br/><br/>接下来测一下环境是否都OK<br/>sudo nano test.py<br/>或用xwindow下用python IDE打开一个空的文件 <br/>&nbsp;&nbsp;&nbsp;&nbsp;输入内容<br/>import serial<br/>import RPi.GPIO<br/>保存退出,<br/>&nbsp;&nbsp;&nbsp;&nbsp;然后运行代码:<br/>python test.py<br/>(如果没有报错那就说明RPi.GPIO与serial两个库安装成功)上面环境说完了，重点部份来了<br/><br/>USB对接方式：<br/>&nbsp;&nbsp;1.插上两个Arduion Uno与树莓派 的USB 然后 在树莓派输入:<br/>ls /dev/tty*<br/>查看有没有ttyACM0 这个文件(注只有在两个硬件USB互连的情况下才会有这个。如果两者没有连接是不会有的) 最新的系统一般都会自动生成。看到ttyACMO就说明二者可以通讯了 接下来上测试代码<br/>&nbsp;&nbsp;Arduino代码:<br/>&nbsp;&nbsp;byte number = 0;<br/>&nbsp;&nbsp;void setup()&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp; Serial.begin(9600);<br/>&nbsp;&nbsp;&#125;<br/><br/>&nbsp;&nbsp;void loop()&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (Serial.available())&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; number = Serial.read();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Serial.print(&quot;character recieved: &quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Serial.println(number, DEC);<br/>&nbsp;&nbsp; &#125;<br/>&nbsp;&nbsp; &#125;<br/>先把上面的代码下载的Arduino上然后再把两者USB互接<br/><br/>树莓派python代码：<br/>import serial<br/>ser = serial.Serial(&#039;/dev/ttyACM0&#039;, 9600, timeout=1)<br/>ser.open()<br/><br/>ser.write(&quot;testing&quot;)<br/>try:<br/>&nbsp;&nbsp;&nbsp;&nbsp;while 1:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response = ser.readline()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print response<br/>except KeyboardInterrupt:<br/>&nbsp;&nbsp;&nbsp;&nbsp;ser.close()<br/>保存xxx.py 退出<br/><br/>注:树莓派下的serial与GPIO库都要在root帐户下才能运行<br/>Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法：<br/>http://lovesoo.org/python-script-error-attributeerror-module-object-has-no-attribute-solve-method.html<br/><br/>然后运行树莓派代码 python xxx.py（这里的xxx就是你保存的树莓派代码）看到<br/>character recieved: 116<br/>character recieved: 101<br/>character recieved: 115<br/>...<br/>character recieved: 103<br/>说明两者USB通迅成功了<br/><br/>摘自：http://forum.eepw.com.cn/thread/258770/1
]]>
</description>
</item><item>
<link>https://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]手把手教你树莓派与Arduino Uno的对接(USB及GPIO方式)]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>