查看: 1672|回复: 0

[大赛作品提交] 【进阶四】基于ESP8266与X3路由器的树莓派远程开关机实现

[复制链接]

主题

好友

925

积分

举人

  • TA的每日心情
    难过
    2018-9-13 21:37
  • 签到天数: 29 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2017-12-17 13:34:50 |显示全部楼层
    本帖最后由 ky123 于 2018-2-5 10:51 编辑

    感谢e络盟官方提供的赞助基金。
    树莓派3B有线网卡是支持远程唤醒的,但树莓派关机后会网卡也会断电,无法进行WOL唤醒,故本次实验将使用异地组网X3路由器与安信可ESP8266 wifi模块实现远程控制树莓派的开关机。

    硬件:STM32F103C8T6最小系统板、ESP8266-01模块、MOS管开关电路、树莓派
    开发平台:keil5

    ————————————————————分割线—————————————————————
    -1-
    ESP8266配置
    1) ESP8266-01模块封装如下:
    1.png


    若从FLASH启动进入AT系统,只需将CH-PD引脚接VCC或接上拉(不接上拉的情况下,串口可能无数据),其余三个引脚可选择悬空或接VCC(GPIO0为高电平代表从FLASH启动,GPIO0为低电平代表进入系统升级状态,此时可以经过串口升级内部固件)。

    2)ESP8266WiFi模块刷固件
    按下图接好线
    QQ截图20171217113750.png

    然后打开软件 FlashTool-20141203.exe 选择固件v0.9.5.2 AT Firmware.bin文件,选择0x00000,点击开始即可。

    3)创建TCP服务器
    • 将esp8266设置为STA模式
    1. AT+CWMODE=1
    复制代码
    • 查看当前无线路由器列表
    1. AT+CWLAP
    复制代码
    • 加入当前无线网络
    1. AT+CWJAP=”MERSAIN”,”XXXXXXXX”(设置指令)
    复制代码
    • 检测是否真的连上该路线网络
    1. AT+CWJAP?
    复制代码
    • 开启多连接模式
    1. AT+CIPMUX=1
    复制代码
    • 创建服务器,AT+CIPMUX=1时才能开启服务器
    1. AT+CIPSERVER=1,6767
    复制代码
    开启server后自动建立server监听,当有client接入会自动按顺序占用一个连接。

    4)stm32单片机与esp8266通信
    将esp8266的TX与RX与单片机的串口相连,然后通过下面代码建立TCP服务器
    1. Delay_ms(1000);
    2. Uart1_Put_Buf("AT+CIPMUX=1\r\n",13);
    3. Delay_ms(1000);
    4. Uart1_Put_Buf("AT+CIPSERVER=1,6767\r\n",21);
    复制代码
    注意:每条指令的最后需要加入回车和换行符 “\r\n”,且顺序不能颠倒。

    5) ESP8266连接X3路由器
    路由器SSID为 Oray-Box-1F04,连接成功如下图所示:
    QQ截图20171217111929.png

       
    -2-
    开关电路设计
    为了实现树莓派电源开关,需要在树莓派和电源之间加入一开关电路。
    电源从microUSB输入,通过开关电路后从USB输出。选用的MOS管型号是TP_SI2302。
    电路图如下所示:
    QQ截图20171217131343.png

       
    -3-
    远程开关实现

    系统整体硬件连接图如下:
    QQ截图20171217132058.png


    1)手机端通过蒲公英客户端登录VPN网络,如下图所示:
    QQ截图20171217112132.png


    2)手机端建立TCP Client连接ESP8266搭建的server,输入X3分配给ESP8266的IP地址,端口设置为6767,如下图所示:
    IMG_0830.PNG


    3)客户端向服务器发送开机指令,即可看到树莓派已经启动
    QQ截图20171217132340.png


    4) 关机操作
    先使用ssh工具关闭树莓派以防内存卡烧坏。
    1. sudo halt
    复制代码
    然后向服务器发送关机指令,可以看到树莓派电源指示灯灭,风扇停转。

    <本次更新完>
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /4 下一条

    手机版|爱板网

    GMT+8, 2018-12-14 05:16 , Processed in 0.098345 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部