公网访问树莓派

公网访问树莓派控制小车

  上篇已经介绍了小车在局域网中的控制方法,比较简单,既然是远程遥控那就要能够进行公网访问,使得你的小车可以在任何有网络的地方都能访问到,并且后续还会加上摄像头,进行实时监控,想一下是不是很有趣,下面进入正文。
  首先,如果想要远程访问,那就要使你的手机能在任何地方都能访问到你树莓派的IP。而现在我们用的IPv4,你不会有一个公共IP。所以这就需要一个中介,去买一个服务器,这样在手机和树莓派中间就有了一个中介,手机可以直接访问云服务器,树莓派也可以访问到云服务器这样间接地连接起了手机与树莓派。
  我这里用的用的是阿里云的云服务器,9.9一个月不是很贵。买了这个云服务器后它就会给你一个公网上的IP。
  具体的流程就是:树莓派与云服务器建立一个socket长连接,手机也与云服务器建立一个socket长连接。整个的连接建立起来以后不管是手机向树莓派发送数据还是树莓派向手机发送数据都可以轻松实现了。
  云服务器的python代码:
#!/usr/bin/env python
#encoding:utf-8
import signal
import atexit
from socket import *
import sys
import time
def run_raspberry():
        s.listen(2)
        s1= socket(AF_INET, SOCK_STREAM)
        s1.bind(("", 2))
        conns,addrs=s1.accept()
        print 'humeiok'
        conn, addr = s.accept()
        print 'shoujiok'
        while 1:
            command= conn.recv(1024).replace('\n','')

            print command
            if command=="forward":
               conns.sendall("forward")
            if command=="right":
               conns.sendall("right")
            if command=="left":
               conns.sendall("left")
            if command=="back":
               conns.sendall("back")

if __name__ == '__main__':
       run_raspberry()
需要注意的是,要首先运行服务器的代码,然后运行树莓派,确保树莓派与云服务器的socket能够顺利的建立。树莓派的代码要在上一篇代码的基础上增加一个先与云服务器取得连接的代码,比较简单就不写了。
这只是一个简单的实现方法,想增加其他的功能在上面扩展就可以了。
下一篇将做树莓派的远程监控。确定不关注一波???
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值