TA的每日心情 | 开心 2019-12-8 16:02 |
---|
签到天数: 30 天 连续签到: 1 天 [LV.5]常住居民I
|
本帖最后由 ky123 于 2018-2-5 10:51 编辑
感谢e络盟官方提供的赞助基金。
树莓派3B有线网卡是支持远程唤醒的,但树莓派关机后会网卡也会断电,无法进行WOL唤醒,故本次实验将使用异地组网X3路由器与安信可ESP8266 wifi模块实现远程控制树莓派的开关机。
硬件:STM32F103C8T6最小系统板、ESP8266-01模块、MOS管开关电路、树莓派
开发平台:keil5
————————————————————分割线—————————————————————
-1- ESP8266配置 1) ESP8266-01模块封装如下:
若从FLASH启动进入AT系统,只需将CH-PD引脚接VCC或接上拉(不接上拉的情况下,串口可能无数据),其余三个引脚可选择悬空或接VCC(GPIO0为高电平代表从FLASH启动,GPIO0为低电平代表进入系统升级状态,此时可以经过串口升级内部固件)。
2)ESP8266WiFi模块刷固件
按下图接好线
然后打开软件 FlashTool-20141203.exe 选择固件v0.9.5.2 AT Firmware.bin文件,选择0x00000,点击开始即可。
3)创建TCP服务器
- AT+CWJAP=”MERSAIN”,”XXXXXXXX”(设置指令)
复制代码- 创建服务器,AT+CIPMUX=1时才能开启服务器
开启server后自动建立server监听,当有client接入会自动按顺序占用一个连接。
4)stm32单片机与esp8266通信
将esp8266的TX与RX与单片机的串口相连,然后通过下面代码建立TCP服务器- Delay_ms(1000);
- Uart1_Put_Buf("AT+CIPMUX=1\r\n",13);
- Delay_ms(1000);
- Uart1_Put_Buf("AT+CIPSERVER=1,6767\r\n",21);
复制代码 注意:每条指令的最后需要加入回车和换行符 “\r\n”,且顺序不能颠倒。
5) ESP8266连接X3路由器
路由器SSID为 Oray-Box-1F04,连接成功如下图所示:
-2- 开关电路设计 为了实现树莓派电源开关,需要在树莓派和电源之间加入一开关电路。
电源从microUSB输入,通过开关电路后从USB输出。选用的MOS管型号是TP_SI2302。
电路图如下所示:
-3- 远程开关实现
系统整体硬件连接图如下:
1)手机端通过蒲公英客户端登录VPN网络,如下图所示:
2)手机端建立TCP Client连接ESP8266搭建的server,输入X3分配给ESP8266的IP地址,端口设置为6767,如下图所示:
3)客户端向服务器发送开机指令,即可看到树莓派已经启动
4) 关机操作
先使用ssh工具关闭树莓派以防内存卡烧坏。然后向服务器发送关机指令,可以看到树莓派电源指示灯灭,风扇停转。
<本次更新完>
|
|