ESP8266 开发板非常简洁,如果你购买了一块ESP8266 开发板(只需5美元,为什么不买呢?),而且意识到没有显而易见的方法可以与其交互,那么你可以使用一台 Raspberry Pi 电脑直接与其交互。两者都使用电压为 3.3V 的信号器,所以无需进行电平转换。
你将需要的设备包括:
桌面版的 Raspberry Pi(任何型号的 Raspberry Pi 都可以,但是需要具备电源、键盘、屏幕等。具备网络接入更优。)
ESP8266-01 (或者同类产品)
跳线和镊子/剥皮器
免焊实验板(或者你可以自己动手焊接)
2个上拉/下拉电阻
(可选)按钮式开关
整个过程大致分为三步:
1)用跳线将所有设备连接起来
2)配置 Raspbian
3)开始与 ESP8266 交互
第一步:用跳线将所有设备连接起来
在切断电源的情况下,连接两个设备上的 3.3V 引脚以及零线引脚。同样地,将两个设备上的 RX 和 TX 连接起来。你可能还需要一些下拉电阻以及一个重置按钮(非必需)。如上面的 Fritzing 图片所示。
第二步:配置 Raspbian Linux
启动 Raspberry Pi,以超级用户身份登录,进行编辑(例如输入 “sudo nano”命令)。
禁用 Kernel 串口控制台
编辑 /boot/cmdline.txt,移除带有下划线的文本:
dwc_otg.lpm_enable=0 rpitestmode=1 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait
禁用串行登录
编辑 /etc/inittab,移除最后一段(通常情况下如此):
重启
输入 sudo shutdown -r now命令
第三步:与 ESP8266 开始交互
连接到串行端口
现在,你应该能够通过一个终端模拟器程序与 ESP8266 交互。我建议使用 GNU Screen 与 ESP8266 交互(输入“sudo apt-get install screen”命令)。 Screen 会将你通过键盘输入的内容全部内容发送到 ESP8266, 除非你首先输入 “CTRL-A”,在这种情况下,你可以让 screen 完成一些任务。例如,先输入 “CTRL-A”,再输入“k”会结束会话。 screen /dev/ttyAMA0 115200(速度可能根据你使用的 ESP8266 开发板的不同而不同)(根据权限,你可能需要sudo screen /dev/ttyAMA0 115200)。现在,你可以发送 AT 指令到 ESP8266。但是,每个动作结束后,你仍然需要“返回”并输入 “CTRL-J”。
注意事项/警告
如果你尝试使用重置按钮,Raspberry Pi 似乎无法完全恢复之前的功能。最好是关闭 Raspberry Pi,然后移除电源,再上电/启动备份,而不是尝试按重置按钮。
电源接通时,不要弄乱跳线。关闭 Raspberry Pi("sudo shutdown -h now”),等待 LED 灯闪烁,断电,然后尝试连接/断开跳线。
上述连接本身无法让你的 Raspberry Pi 通过 ESP8266 获得因特网接入权限。但是,它起码让你有机会尝试,配置,甚至重新为 ESP8266 编写程序。
如果你仅仅关闭一个窗口或者断开连接, Screen 将不会断开与串行端口的连接。这种设计是故意为之的,需要我们花一定时间适应这种设计。如果你认为你已经与 Screen 断开连接,但是实际上它仍然在运转,而且尝试 “screen -ddR” 以重新建立连接,那么你可以输入上文提及的命令结束进程(或者重启)。
Raspberry Pi 和 ESP8266 需要使用大量电源。上文所述的设置依靠的仅仅是一个 3.3V 的电源,如果两个设备都是全速运转的话,那么电源电量可能无法满足需求。一个更加可靠/一劳永逸的解决方案是为 ESP8266 配置一个独立的电源。
版权声明:
本译文仅用于学习和交流目的。转载请注明译者、出处,并保留文章的完整链接。
原文来源:http://inethonduras.tumblr.com/
原文标题:Connect An ESP8266 To Your Raspberry Pi
原文地址:http://inethonduras.tumblr.com/post/124472287394/connect-an-esp8266-to-your-raspberrypi